Add disclaimer fragment

This commit is contained in:
Kirill Kamakin
2021-11-20 18:43:33 +03:00
parent 071ce453e2
commit 4b817ba404
10 changed files with 331 additions and 3 deletions

View File

@@ -0,0 +1,7 @@
package gq.kirmanak.mealient.data.disclaimer
interface DisclaimerStorage {
suspend fun isDisclaimerAccepted(): Boolean
fun acceptDisclaimer()
}

View File

@@ -0,0 +1,30 @@
package gq.kirmanak.mealient.data.disclaimer
import android.content.SharedPreferences
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import timber.log.Timber
import javax.inject.Inject
private const val IS_DISCLAIMER_ACCEPTED_KEY = "IS_DISCLAIMER_ACCEPTED"
class DisclaimerStorageImpl @Inject constructor(
private val sharedPreferences: SharedPreferences
) : DisclaimerStorage {
override suspend fun isDisclaimerAccepted(): Boolean {
Timber.v("isDisclaimerAccepted() called")
val isAccepted = withContext(Dispatchers.IO) {
sharedPreferences.getBoolean(IS_DISCLAIMER_ACCEPTED_KEY, false)
}
Timber.v("isDisclaimerAccepted() returned: $isAccepted")
return isAccepted
}
override fun acceptDisclaimer() {
Timber.v("acceptDisclaimer() called")
sharedPreferences.edit()
.putBoolean(IS_DISCLAIMER_ACCEPTED_KEY, true)
.apply()
}
}