NTP-66799 | Screen Lock key changed (#16485)

This commit is contained in:
Aparna Vadlamani
2025-06-06 14:15:45 +05:30
committed by GitHub
parent 40644309c0
commit 86bbcf99d1
4 changed files with 18 additions and 17 deletions

View File

@@ -73,6 +73,7 @@ import com.navi.common.utils.Constants.SUB_REDIRECT
import com.navi.common.utils.Constants.ScreenLockConstants.DISABLED
import com.navi.common.utils.Constants.ScreenLockConstants.ENABLED
import com.navi.common.utils.Constants.ScreenLockConstants.IS_SCREEN_LOCK_ENABLED
import com.navi.common.utils.Constants.ScreenLockConstants.LOCK_SCREEN_STATE
import com.navi.common.utils.TemporaryStorageHelper
import com.navi.common.utils.getDeviceSignature
import com.navi.common.utils.getLocalStorageLocation
@@ -591,20 +592,20 @@ class HomePageActivity :
private fun observeScreenLockEnableStatus() {
lifecycleScope.launch(Dispatchers.IO) {
homeVM.handle.getStateFlow<String?>(IS_SCREEN_LOCK_ENABLED, null).collect { state ->
homeVM.handle.getStateFlow<String?>(LOCK_SCREEN_STATE, null).collect { state ->
when (state) {
ENABLED -> {
if (
PreferenceManager.getStringPreference(IS_SCREEN_LOCK_ENABLED) == null &&
PreferenceManager.getStringPreference(LOCK_SCREEN_STATE) == null &&
biometricPromptUtils.isDeviceSecure(this@HomePageActivity)
) {
BiometricPromptUtils().reset()
PreferenceManager.setStringPreference(IS_SCREEN_LOCK_ENABLED, ENABLED)
PreferenceManager.setStringPreference(LOCK_SCREEN_STATE, ENABLED)
}
}
DISABLED -> {
BiometricPromptUtils().reset()
PreferenceManager.setStringPreference(IS_SCREEN_LOCK_ENABLED, DISABLED)
PreferenceManager.setStringPreference(LOCK_SCREEN_STATE, DISABLED)
}
}
}
@@ -629,7 +630,7 @@ class HomePageActivity :
private fun observeScreenLockToggleData() {
lifecycleScope.launch(Dispatchers.IO) {
repeatOnLifecycle(state = Lifecycle.State.STARTED) {
profileVM.handle.getStateFlow<String?>(IS_SCREEN_LOCK_ENABLED, null).collect {
profileVM.handle.getStateFlow<String?>(LOCK_SCREEN_STATE, null).collect {
isScreenLockToggled ->
NaviTrackEvent.trackEventOnClickStream(
eventName =
@@ -637,8 +638,8 @@ class HomePageActivity :
)
isScreenLockToggled?.let {
profileVM.canCachedDataBeUsed = false
if (PreferenceManager.getStringPreference(IS_SCREEN_LOCK_ENABLED) != it)
PreferenceManager.setStringPreference(IS_SCREEN_LOCK_ENABLED, it)
if (PreferenceManager.getStringPreference(LOCK_SCREEN_STATE) != it)
PreferenceManager.setStringPreference(LOCK_SCREEN_STATE, it)
else return@collect
biometricPromptUtils.reset()
}
@@ -936,8 +937,7 @@ class HomePageActivity :
FirebaseRemoteConfigHelper.getBoolean(IS_SCREEN_LOCK_ENABLED),
isMobileScreenLockSet =
biometricPromptUtils.isDeviceSecure(this@HomePageActivity) &&
PreferenceManager.getStringPreference(IS_SCREEN_LOCK_ENABLED) ==
ENABLED,
PreferenceManager.getStringPreference(LOCK_SCREEN_STATE) == ENABLED,
naeScreenName = screenName,
isProfileDrawerOpen = isProfileDrawerOpen,
)

View File

@@ -22,6 +22,7 @@ import com.navi.common.utils.BiometricPromptUtils
import com.navi.common.utils.Constants.ScreenLockConstants.DISABLED
import com.navi.common.utils.Constants.ScreenLockConstants.ENABLED
import com.navi.common.utils.Constants.ScreenLockConstants.IS_SCREEN_LOCK_ENABLED
import com.navi.common.utils.Constants.ScreenLockConstants.LOCK_SCREEN_STATE
import com.navi.common.utils.Constants.ScreenLockConstants.TOGGLE_SWITCH_CHECKED_STATE
import com.navi.common.utils.Constants.ScreenLockConstants.TOGGLE_SWITCH_LAYOUT_ID
import com.navi.common.utils.Constants.ScreenLockConstants.TOGGLE_SWITCH_UNCHECKED_STATE
@@ -90,8 +91,7 @@ constructor(
FirebaseRemoteConfigHelper.getBoolean(IS_SCREEN_LOCK_ENABLED),
isMobileScreenLockSet =
biometricPromptUtils.isDeviceSecure(context) &&
PreferenceManager.getStringPreference(IS_SCREEN_LOCK_ENABLED) ==
ENABLED,
PreferenceManager.getStringPreference(LOCK_SCREEN_STATE) == ENABLED,
naeScreenName = NaviAnalytics.NEW_HOME_ACTIVITY,
isNaeRequired = false,
)
@@ -130,7 +130,7 @@ constructor(
}
fun disableToggle() {
handle[IS_SCREEN_LOCK_ENABLED] = DISABLED
handle[LOCK_SCREEN_STATE] = DISABLED
handleActions(
UiTronActionData(
actions =
@@ -145,8 +145,8 @@ constructor(
}
fun enabledToggle() {
PreferenceManager.setStringPreference(IS_SCREEN_LOCK_ENABLED, ENABLED)
handle[IS_SCREEN_LOCK_ENABLED] = ENABLED
PreferenceManager.setStringPreference(LOCK_SCREEN_STATE, ENABLED)
handle[LOCK_SCREEN_STATE] = ENABLED
handleActions(
UiTronActionData(
actions =