From 920c6488fedb87c02a69acfe0d1d9cbf3e1170ff Mon Sep 17 00:00:00 2001 From: shankar yadav Date: Wed, 5 Jun 2024 12:10:05 +0530 Subject: [PATCH] TP-12345 | Shankar | Fix DB Crash (#11161) Co-authored-by: Aman S --- android/app/src/main/java/com/naviapp/utils/Utility.kt | 4 ++-- .../com/navi/pay/common/utils/NaviPayCommonUtils.kt | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/android/app/src/main/java/com/naviapp/utils/Utility.kt b/android/app/src/main/java/com/naviapp/utils/Utility.kt index 8c0101eafe..0897f70c1b 100644 --- a/android/app/src/main/java/com/naviapp/utils/Utility.kt +++ b/android/app/src/main/java/com/naviapp/utils/Utility.kt @@ -96,7 +96,7 @@ import com.navi.naviwidgets.widgets.NaviWidgetJsonDeserializer import com.navi.naviwidgets.widgets.NaviWidgetJsonSerializer import com.navi.naviwidgets.widgets.ParameterValueJsonDeserializer import com.navi.pay.common.utils.getExcludeSecureSharedPrefKeys -import com.navi.pay.utils.NAVI_PAY_NON_ENCRYPT_SHARED_PREF_DATA_KEYS +import com.navi.pay.common.utils.getExcludeSharedPrefKeys import com.navi.uitron.model.action.TriggerApiAction import com.navi.uitron.model.data.UiTronAction import com.navi.uitron.model.data.UiTronData @@ -235,7 +235,7 @@ fun isNetworkAvailable(): Boolean { fun clearData() { PreferenceManager.clearPrefDataSession( - excludeSharedPrefKeys = NAVI_PAY_NON_ENCRYPT_SHARED_PREF_DATA_KEYS, + excludeSharedPrefKeys = getExcludeSharedPrefKeys(), excludeSecureSharedPrefKeys = getExcludeSecureSharedPrefKeys() ) NaviPreferenceManager.clearDataOnLogout() diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/NaviPayCommonUtils.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/NaviPayCommonUtils.kt index 6baefb2238..2bf2eb72e7 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/NaviPayCommonUtils.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/NaviPayCommonUtils.kt @@ -67,9 +67,12 @@ import com.navi.pay.utils.DATE_TIME_FORMAT_HOUR_MINUTE import com.navi.pay.utils.DOT_IFSC_DOT_NPCI import com.navi.pay.utils.INTENT_ACTION_SMS_DELIVERED import com.navi.pay.utils.INTENT_ACTION_SMS_SENT +import com.navi.pay.utils.KEY_CUSTOMER_STATUS +import com.navi.pay.utils.KEY_DB_ENCRYPTION import com.navi.pay.utils.KEY_DEVICE_FINGERPRINT import com.navi.pay.utils.LITMUS_EXPERIMENT_NAVIPAY_ONECLICK import com.navi.pay.utils.NAVI_PAY_ENCRYPT_SHARED_PREF_DATA_KEYS +import com.navi.pay.utils.NAVI_PAY_NON_ENCRYPT_SHARED_PREF_DATA_KEYS import com.navi.pay.utils.NAVI_PAY_TRANSACTION_HISTORY_TAG_SEPARATOR import com.navi.pay.utils.ONE_HOUR_IN_MILLIS import com.navi.pay.utils.ONE_MINUTE_IN_MILLIS @@ -571,6 +574,13 @@ fun getExcludeSecureSharedPrefKeys(): List { return excludeSharedPrefKeys } +fun getExcludeSharedPrefKeys(): List { + val excludeSharedPrefKeys = NAVI_PAY_NON_ENCRYPT_SHARED_PREF_DATA_KEYS.toMutableList() + excludeSharedPrefKeys.add(KEY_DB_ENCRYPTION) + excludeSharedPrefKeys.remove(KEY_CUSTOMER_STATUS) + return excludeSharedPrefKeys +} + fun getOneClickExperimentPayload(): OneClickExperimentPayload? { val payload = PreferenceManager.getStringPreference(key = LITMUS_EXPERIMENT_NAVIPAY_ONECLICK) if (payload.isNullOrEmpty()) {