Skip to content

Instantly share code, notes, and snippets.

@MostafaGad1911
Created December 10, 2022 22:16
Show Gist options
  • Save MostafaGad1911/518f0c13d7edcdf77dc1e19593b039be to your computer and use it in GitHub Desktop.
Save MostafaGad1911/518f0c13d7edcdf77dc1e19593b039be to your computer and use it in GitHub Desktop.
DataStorePreferencesHelper
// implmentation
implementation "androidx.datastore:datastore-preferences:1.0.0-alpha01"
implementation "androidx.datastore:datastore-core:1.0.0-alpha01"
class DataStorePreferencesHelper constructor(context: Context) : DateStoreHelper {
private val applicationContext = context.applicationContext
private val dataStore: DataStore<Preferences>
init {
dataStore = applicationContext.createDataStore(
name = "your_data_store_name"
)
}
override val getSavedOnboard: Flow<Boolean?>
get() = dataStore.data.map { preferences ->
preferences[preferencesKey<Boolean>("KEY_BOOKMARK")]
}
override suspend fun saveOpenOnbard(bookmark: Boolean) {
dataStore.edit { preferences ->
preferences[preferencesKey<Boolean>("KEY_BOOKMARK")] = bookmark
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment