Daniele Segato
07/10/2021, 12:46 PMDaniele Segato
07/10/2021, 1:10 PMCicero
07/10/2021, 3:13 PMCicero
07/10/2021, 3:32 PM@Composable
fun Modifier.countRecomposition() = this.composed{
    var counter by rememberSaveable() {
        mutableStateOf(0)
    }
    counter++
    Text(text = counter.toString())
    this
}Cicero
07/10/2021, 3:50 PMAdam Powell
07/10/2021, 4:38 PMCicero
07/10/2021, 4:43 PMCicero
07/10/2021, 4:43 PMval android.content.Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "settings")
@Composable
fun Modifier.countRecomposition() = this.composed{
    val context = LocalContext.current
    val EXAMPLE_COUNTER = intPreferencesKey("example_counter")
    var value = context.dataStore.data
        .map { preferences ->
            // No type safety.
            preferences[EXAMPLE_COUNTER] ?: 0
        }.collectAsState(initial = null)
    GlobalScope.async {
        context.dataStore.edit { settings ->
            val currentCounterValue = settings[EXAMPLE_COUNTER] ?: 0
            settings[EXAMPLE_COUNTER] = currentCounterValue + 1
        }
    }
    Text(text = value.value.toString())
    this
}Cicero
07/10/2021, 4:44 PMCicero
07/10/2021, 5:01 PMCicero
07/10/2021, 5:01 PMsteelahhh
07/10/2021, 8:38 PM