TP-54092 | Hard / Soft Upgrade before Login (#9320)
This commit is contained in:
@@ -7,8 +7,8 @@
|
||||
|
||||
package com.naviapp.appupdate.activities
|
||||
|
||||
import com.navi.naviwidgets.R as WidgetsR
|
||||
import com.navi.design.R as DesignR
|
||||
import com.navi.naviwidgets.R as WidgetsR
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
@@ -111,7 +111,7 @@ class UpdateAppActivity : BaseActivity(), View.OnClickListener {
|
||||
|
||||
override fun onBackPressed() {
|
||||
if (getAppUpgradeDataFromIntent()?.softUpgrade == true) {
|
||||
navigateToHome()
|
||||
if (!isTaskRoot) finish() else navigateToHome()
|
||||
} else {
|
||||
finish()
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.navi.base.sharedpref.CommonPrefConstants.WHATS_APP_LOGIN_CONFIG
|
||||
import com.navi.base.sharedpref.CommonPrefConstants.WHATS_APP_LOGIN_CONFIG_PARAMETERS
|
||||
import com.navi.base.sharedpref.PreferenceManager
|
||||
import com.navi.base.utils.BaseUtils
|
||||
import com.navi.base.utils.orTrue
|
||||
import com.navi.base.utils.orZero
|
||||
import com.navi.common.firebasedb.FirebaseStatusType.SUCCESS
|
||||
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper
|
||||
@@ -75,6 +76,7 @@ import com.navi.common.utils.getWifiName
|
||||
import com.navi.common.utils.isInstalledInProfile
|
||||
import com.navi.common.utils.isLastLocationMocked
|
||||
import com.navi.common.utils.observeNonNull
|
||||
import com.navi.common.utils.observeNullable
|
||||
import com.navi.guarddog.datamanagement.securityManager.SecurityManager
|
||||
import com.navi.naviwidgets.models.LottieFieldData
|
||||
import com.navi.naviwidgets.utils.CURRENT_VERSION_IN_STORE
|
||||
@@ -85,6 +87,7 @@ import com.naviapp.analytics.utils.NaviAnalytics.Companion.PRE_LOGIN_DEVICE_ID
|
||||
import com.naviapp.analytics.utils.NaviAnalytics.Companion.PRE_LOGIN_DEVICE_ID_DETAILS
|
||||
import com.naviapp.analytics.utils.NaviSDKHelper
|
||||
import com.naviapp.app.NaviApplication
|
||||
import com.naviapp.appupdate.activities.UpdateAppActivity
|
||||
import com.naviapp.common.listeners.FragmentStateListener
|
||||
import com.naviapp.common.navigator.NaviDeepLinkNavigator
|
||||
import com.naviapp.common.navigator.ScreenNavigator
|
||||
@@ -96,6 +99,7 @@ import com.naviapp.models.TrueProfileData
|
||||
import com.naviapp.models.WhatsappLoginConfig
|
||||
import com.naviapp.models.request.LoginType
|
||||
import com.naviapp.models.request.OtpRequest
|
||||
import com.naviapp.models.response.AppUpgradeResponse
|
||||
import com.naviapp.models.response.Medium
|
||||
import com.naviapp.models.response.NotificationSettings
|
||||
import com.naviapp.models.response.OtpResponse
|
||||
@@ -210,6 +214,11 @@ class RegistrationActivity :
|
||||
onFragmentOpen(null)
|
||||
}
|
||||
analyticsTracker.trackLoginPageLaunch(source, redirectStatus)
|
||||
fetchLoginSettings()
|
||||
}
|
||||
|
||||
private fun fetchLoginSettings() {
|
||||
configVM.fetchLoginSettings()
|
||||
}
|
||||
|
||||
override fun onNewIntent(intent: Intent?) {
|
||||
@@ -315,6 +324,28 @@ class RegistrationActivity :
|
||||
handleDeeplinkLogin(it, LoginType.OTP_LESS.name)
|
||||
}
|
||||
}
|
||||
observeLoginSettings()
|
||||
}
|
||||
|
||||
private fun observeLoginSettings() {
|
||||
configVM.loginSettings.observeNullable(this) {
|
||||
it?.let { loginSetting ->
|
||||
loginSetting.appUpgradeSettings?.let { appUpgradeSettings ->
|
||||
shouldUpdateApp(appUpgradeSettings)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun shouldUpdateApp(appUpgradeSettings: AppUpgradeResponse) {
|
||||
if (appUpgradeSettings.hardUpgrade.orTrue() || appUpgradeSettings.softUpgrade.orTrue()) {
|
||||
val intent =
|
||||
Intent(this, UpdateAppActivity::class.java).apply {
|
||||
putExtra(UpdateAppActivity.APP_UPGRADE_DATA, appUpgradeSettings)
|
||||
}
|
||||
startActivity(intent)
|
||||
if (appUpgradeSettings.hardUpgrade.orTrue()) finish()
|
||||
}
|
||||
}
|
||||
|
||||
private fun getFragment(screen: String, bundle: Bundle): Fragment {
|
||||
@@ -437,8 +468,9 @@ class RegistrationActivity :
|
||||
val gaId = PreferenceManager.getStringPreference(GOOGLE_ADVERTISING_ID)
|
||||
val fcmToken = PreferenceManager.getStringPreference(FCM_TOKEN)
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
Constants.FCM_TOKEN_SENT_TO_SERVER, mapOf(
|
||||
Constants.FCM_TOKEN to fcmToken.orEmpty()))
|
||||
Constants.FCM_TOKEN_SENT_TO_SERVER,
|
||||
mapOf(Constants.FCM_TOKEN to fcmToken.orEmpty())
|
||||
)
|
||||
val deviceDetail =
|
||||
DeviceDetail(
|
||||
deviceId = getAndroidDeviceId(),
|
||||
|
||||
Reference in New Issue
Block a user