Replace Shared Preferences with Data Store
This commit is contained in:
@@ -3,5 +3,5 @@ package gq.kirmanak.mealient.data.disclaimer
|
||||
interface DisclaimerStorage {
|
||||
suspend fun isDisclaimerAccepted(): Boolean
|
||||
|
||||
fun acceptDisclaimer()
|
||||
suspend fun acceptDisclaimer()
|
||||
}
|
||||
@@ -1,29 +1,26 @@
|
||||
package gq.kirmanak.mealient.data.disclaimer
|
||||
|
||||
import android.content.SharedPreferences
|
||||
import gq.kirmanak.mealient.extensions.getBooleanOrFalse
|
||||
import gq.kirmanak.mealient.data.storage.PreferencesStorage
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
private const val IS_DISCLAIMER_ACCEPTED_KEY = "IS_DISCLAIMER_ACCEPTED"
|
||||
|
||||
@Singleton
|
||||
class DisclaimerStorageImpl @Inject constructor(
|
||||
private val sharedPreferences: SharedPreferences
|
||||
private val preferencesStorage: PreferencesStorage,
|
||||
) : DisclaimerStorage {
|
||||
|
||||
private val isDisclaimerAcceptedKey by preferencesStorage::isDisclaimerAcceptedKey
|
||||
|
||||
override suspend fun isDisclaimerAccepted(): Boolean {
|
||||
Timber.v("isDisclaimerAccepted() called")
|
||||
val isAccepted = sharedPreferences.getBooleanOrFalse(IS_DISCLAIMER_ACCEPTED_KEY)
|
||||
val isAccepted = preferencesStorage.getValue(isDisclaimerAcceptedKey) ?: false
|
||||
Timber.v("isDisclaimerAccepted() returned: $isAccepted")
|
||||
return isAccepted
|
||||
}
|
||||
|
||||
override fun acceptDisclaimer() {
|
||||
override suspend fun acceptDisclaimer() {
|
||||
Timber.v("acceptDisclaimer() called")
|
||||
sharedPreferences.edit()
|
||||
.putBoolean(IS_DISCLAIMER_ACCEPTED_KEY, true)
|
||||
.apply()
|
||||
preferencesStorage.storeValues(Pair(isDisclaimerAcceptedKey, true))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user