When clearing cache, also reset some data store in prefs/datastore.
This commit is contained in:
committed by
Benoit Marty
parent
e566bab75d
commit
7207afebcc
+5
@@ -39,6 +39,11 @@ class DefaultFtueState @Inject constructor(
|
||||
|
||||
override val shouldDisplayFlow = MutableStateFlow(isAnyStepIncomplete())
|
||||
|
||||
override suspend fun reset() {
|
||||
welcomeScreenState.reset()
|
||||
analyticsService.reset()
|
||||
}
|
||||
|
||||
init {
|
||||
analyticsService.didAskUserConsent()
|
||||
.onEach { updateState() }
|
||||
|
||||
+8
-1
@@ -17,6 +17,7 @@
|
||||
package io.element.android.features.ftue.impl.welcome.state
|
||||
|
||||
import android.content.SharedPreferences
|
||||
import androidx.core.content.edit
|
||||
import com.squareup.anvil.annotations.ContributesBinding
|
||||
import io.element.android.libraries.di.AppScope
|
||||
import io.element.android.libraries.di.DefaultPreferences
|
||||
@@ -27,7 +28,7 @@ import javax.inject.Inject
|
||||
@SingleIn(AppScope::class)
|
||||
class AndroidWelcomeScreenState @Inject constructor(
|
||||
@DefaultPreferences private val sharedPreferences: SharedPreferences,
|
||||
): WelcomeScreenState {
|
||||
) : WelcomeScreenState {
|
||||
|
||||
companion object {
|
||||
private const val IS_WELCOME_SCREEN_SHOWN = "is_welcome_screen_shown"
|
||||
@@ -40,4 +41,10 @@ class AndroidWelcomeScreenState @Inject constructor(
|
||||
override fun setWelcomeScreenShown() {
|
||||
sharedPreferences.edit().putBoolean(IS_WELCOME_SCREEN_SHOWN, true).apply()
|
||||
}
|
||||
|
||||
override fun reset() {
|
||||
sharedPreferences.edit {
|
||||
remove(IS_WELCOME_SCREEN_SHOWN)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
@@ -19,4 +19,5 @@ package io.element.android.features.ftue.impl.welcome.state
|
||||
interface WelcomeScreenState {
|
||||
fun isWelcomeScreenNeeded(): Boolean
|
||||
fun setWelcomeScreenShown()
|
||||
fun reset()
|
||||
}
|
||||
|
||||
+4
@@ -27,4 +27,8 @@ class FakeWelcomeState : WelcomeScreenState {
|
||||
override fun setWelcomeScreenShown() {
|
||||
isWelcomeScreenNeeded = false
|
||||
}
|
||||
|
||||
override fun reset() {
|
||||
isWelcomeScreenNeeded = true
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user