diff --git a/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt b/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt index 2ee85f3d60..fbe29c1adf 100644 --- a/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt +++ b/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt @@ -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(IS_SCREEN_LOCK_ENABLED, null).collect { state -> + homeVM.handle.getStateFlow(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(IS_SCREEN_LOCK_ENABLED, null).collect { + profileVM.handle.getStateFlow(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, ) diff --git a/android/app/src/main/java/com/naviapp/home/viewmodel/ProfileVM.kt b/android/app/src/main/java/com/naviapp/home/viewmodel/ProfileVM.kt index 8895246164..b46b7bf2db 100644 --- a/android/app/src/main/java/com/naviapp/home/viewmodel/ProfileVM.kt +++ b/android/app/src/main/java/com/naviapp/home/viewmodel/ProfileVM.kt @@ -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 = diff --git a/android/navi-common/src/main/java/com/navi/common/utils/BiometricPromptUtils.kt b/android/navi-common/src/main/java/com/navi/common/utils/BiometricPromptUtils.kt index e5a9afd322..f8a94a1d99 100644 --- a/android/navi-common/src/main/java/com/navi/common/utils/BiometricPromptUtils.kt +++ b/android/navi-common/src/main/java/com/navi/common/utils/BiometricPromptUtils.kt @@ -32,6 +32,7 @@ import com.navi.common.utils.Constants.ScreenLockConstants.AUTHENTICATION_SESSIO 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.LOGIN_SESSION_ID import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableSharedFlow @@ -161,9 +162,8 @@ class BiometricPromptUtils { ) activity.lifecycleScope.launch(Dispatchers.IO) { if ( - isScreenLockEnabled( - PreferenceManager.getStringPreference(IS_SCREEN_LOCK_ENABLED) - ) && PreferenceManager.getStringPreference(LOGIN_SESSION_ID) != getSessionId() + isScreenLockEnabled(PreferenceManager.getStringPreference(LOCK_SCREEN_STATE)) && + PreferenceManager.getStringPreference(LOGIN_SESSION_ID) != getSessionId() ) { if (isDeviceSecure(activity)) { if (isAuthenticationSessionExpired() || hasBiometricAuthenticationFailed()) { diff --git a/android/navi-common/src/main/java/com/navi/common/utils/Constants.kt b/android/navi-common/src/main/java/com/navi/common/utils/Constants.kt index c553a2deb7..cf83748dc0 100644 --- a/android/navi-common/src/main/java/com/navi/common/utils/Constants.kt +++ b/android/navi-common/src/main/java/com/navi/common/utils/Constants.kt @@ -375,6 +375,7 @@ object Constants { const val ENABLED = "ENABLED" const val DISABLED = "DISABLED" const val IS_SCREEN_LOCK_ENABLED = "IS_SCREEN_LOCK_ENABLED" + const val LOCK_SCREEN_STATE = "LOCK_SCREEN_STATE" const val TOGGLE_SWITCH_LAYOUT_ID = "lock_screen_toggle_switch" const val TOGGLE_SWITCH_UNCHECKED_STATE = "unchecked" const val TOGGLE_SWITCH_CHECKED_STATE = "checked"