Fix forced secure screen disabled after disabling incognito (#5634)

This commit is contained in:
Ivan Iskandar
2021-08-06 04:52:20 +07:00
committed by GitHub
parent 40aa3b7e18
commit bcaa9674fe
2 changed files with 7 additions and 15 deletions
@@ -6,6 +6,7 @@ import androidx.lifecycle.lifecycleScope
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.util.system.AuthenticatorUtil
import eu.kanade.tachiyomi.util.view.setSecureScreen
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import uy.kohesive.injekt.injectLazy
@@ -16,8 +17,12 @@ class SecureActivityDelegate(private val activity: FragmentActivity) {
private val preferences: PreferencesHelper by injectLazy()
fun onCreate() {
preferences.secureScreen().asFlow()
.onEach { activity.window.setSecureScreen(it || preferences.incognitoMode().get()) }
val secureScreenFlow = preferences.secureScreen().asFlow()
val incognitoModeFlow = preferences.incognitoMode().asFlow()
secureScreenFlow.combine(incognitoModeFlow) { secureScreen, incognitoMode ->
secureScreen || incognitoMode
}
.onEach { activity.window.setSecureScreen(it) }
.launchIn(activity.lifecycleScope)
}