This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# You will need to take full responsibility for your action. | |
# only once | |
brew install mitmproxy | |
ifconfig|grep 192.168 |awk '{print $2}'|xargs -IIPADDRESS adb shell settings put global http_proxy IPADDRESS:8083 | |
mitmweb -p 8083 | |
adb shell am start -a android.intent.action.VIEW -d "http://mitm.it" | |
# download and install pem | |
# each time you want to do mitm |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ---- User side (Write every time) ---- | |
val scaffoldState = rememberScaffoldState() | |
val viewModel = hiltViewModel<FooViewModel>() | |
SnackbarMessageEffect( | |
scaffoldState = scaffoldState, | |
messageStateHolder = viewModel | |
) | |
Scaffold(scaffoldState = scaffoldState) { | |
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ----UI Layer---- | |
// -UI Layer(UI element)- | |
@AndroidEntryPoint | |
class ArticlesActivity : AppCompatActivity() { | |
// UI 1. ✅ You shouldn't store or keep in memory any application | |
// data or state in your app components | |
lateinit var binding: ActivityArticlesBinding | |
private val articlesViewModel by viewModels<ArticlesViewModel>() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Stable | |
data class UiModel(val articles: Articles) | |
@Composable | |
fun Composable2(uiModel: UiModel) { | |
Text(text = "Hello $uiModel!") | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
data class Articles(val articles: List<Article>) | |
data class Article(val title: String) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Composable | |
fun Composable1(articles: Articles) { | |
Text(text = "Hello $articles!") | |
} | |
@Stable | |
data class UiModel(val articles: Articles) | |
@Composable | |
fun Composable2(uiModel: UiModel) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class HogeActivity { | |
val featureFlags = FeatureFlags() | |
@OptIn(AmazingFeature::class) | |
fun onClick() { | |
if (featureFlags.isAmazingFeaturesEnabled()) { | |
brokenAmazingFeatures() | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@RequiresOptIn(message = "AmazingFeature should be checked") | |
@Retention(AnnotationRetention.BINARY) | |
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY) | |
annotation class AmazingFeature | |
@AmazingFeature | |
fun brokenAmazingFeature() { | |
TODO("aaaaa") | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class HogeActivity { | |
fun onClick() { | |
brokenAmazingFeature() // Crash when clicked!!! | |
} | |
} | |
fun brokenAmazingFeature() { | |
TODO("aaaaa") | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Composable | |
fun SettingScreen( | |
settingScreenState: SettingScreenState = rememberSettingScreenState() | |
) { | |
SettingScreen( | |
scaffoldState = settingScreenState.scaffoldState, | |
isDarkModeSetting = settingScreenState.isDarkMode, | |
onDarkModeSettingChanged = { | |
settingScreenState.onDarkModeChange(it) | |
} |
NewerOlder