the great warrior
04/04/2022, 4:27 PMclass PreferencesManager(private val context: Context) {
...
val selected : Flow<Boolean>
get() = context.counterDataStore.data.map { preferences ->
preferences[AUTO_LOCATION] ?: false
}
}
LocationFragment.kt
class LocationFragment : Fragment() {
...
lifecycleScope.launch {
mainViewModel.autoLocation.collectLatest {
// check if selected
it?.let {
mainViewModel.addPlaceItem(it)
}
}
}
}
MainViewModel.kt
class MainViewModel(
private val application: Application
private val placeRepository: PlaceRepository,
private val preferencesManager: PreferencesManager,
) : ViewModel() {
...
val selected = preferencesManager.selected
}
marios proto
04/08/2022, 1:54 AMsuspend fun readSelected (): Boolean =
context.counterDataStore.data.map { preferences ->
preferences[AUTO_LOCATION] ?: false
}.first()
the great warrior
04/09/2022, 12:21 AM