Created
December 10, 2022 22:16
-
-
Save MostafaGad1911/518f0c13d7edcdf77dc1e19593b039be to your computer and use it in GitHub Desktop.
DataStorePreferencesHelper
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
// 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