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
}
Works but obviously creates an infinite loop 😂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