Implement login/logout functionality
This commit is contained in:
@@ -1,6 +1,11 @@
|
||||
package gq.kirmanak.mealient.data.disclaimer
|
||||
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
interface DisclaimerStorage {
|
||||
|
||||
val isDisclaimerAcceptedFlow: Flow<Boolean>
|
||||
|
||||
suspend fun isDisclaimerAccepted(): Boolean
|
||||
|
||||
suspend fun acceptDisclaimer()
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package gq.kirmanak.mealient.data.disclaimer
|
||||
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import gq.kirmanak.mealient.data.storage.PreferencesStorage
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.map
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
@@ -10,7 +13,10 @@ class DisclaimerStorageImpl @Inject constructor(
|
||||
private val preferencesStorage: PreferencesStorage,
|
||||
) : DisclaimerStorage {
|
||||
|
||||
private val isDisclaimerAcceptedKey by preferencesStorage::isDisclaimerAcceptedKey
|
||||
private val isDisclaimerAcceptedKey: Preferences.Key<Boolean>
|
||||
get() = preferencesStorage.isDisclaimerAcceptedKey
|
||||
override val isDisclaimerAcceptedFlow: Flow<Boolean>
|
||||
get() = preferencesStorage.valueUpdates(isDisclaimerAcceptedKey).map { it == true }
|
||||
|
||||
override suspend fun isDisclaimerAccepted(): Boolean {
|
||||
Timber.v("isDisclaimerAccepted() called")
|
||||
|
||||
Reference in New Issue
Block a user