TP-65917 | Girish Suragani | Cta handling (#11573)

This commit is contained in:
Girish Suragani
2024-06-27 18:26:06 +05:30
committed by GitHub
parent 7e413c4391
commit 5d97f5c4d8
4 changed files with 43 additions and 12 deletions

View File

@@ -15,6 +15,8 @@ import android.os.Build
import android.os.Process
import android.webkit.WebView
import com.moengage.push.amp.plus.MiPushHelper
import com.navi.adverse.data.network.model.AdverseConfig
import com.navi.adverse.sdk.sdkManager.AdverseSdkManager
import com.navi.alfred.AlfredManager
import com.navi.alfred.utils.AlfredConstants
import com.navi.analytics.model.AnalyticsConfiguration
@@ -26,6 +28,7 @@ import com.navi.base.sharedpref.CommonPrefConstants.USER_EXTERNAL_ID
import com.navi.base.sharedpref.PreferenceManager
import com.navi.base.utils.BaseUtils
import com.navi.common.CommonLibManager
import com.navi.common.adverse.AdverseDependencyProvider
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.DISABLE_ALFRED
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.PULSE_EVENT_BATCH_SIZE
@@ -125,6 +128,14 @@ object NaviSDKHelper {
appVersionName = BuildConfig.VERSION_NAME,
appVersionCode = getVersionCode(),
)
AdverseSdkManager.init(
AdverseConfig(
appVersionCode = getVersionCode(),
appVersionName = BuildConfig.VERSION_NAME,
flavor = BuildConfig.FLAVOR,
),
AdverseDependencyProvider()
)
}
}

View File

@@ -30,8 +30,6 @@ import com.facebook.soloader.SoLoader
import com.github.anrwatchdog.ANRWatchDog
import com.google.android.play.core.splitcompat.SplitCompat
import com.microsoft.codepush.react.CodePush
import com.navi.adverse.data.network.model.AdverseConfig
import com.navi.adverse.sdk.sdkManager.AdverseSdkManager
import com.navi.alfred.AlfredManager
import com.navi.alfred.network.AlfredApiLogsManager
import com.navi.alfred.utils.AlfredConstants
@@ -44,7 +42,6 @@ import com.navi.base.utils.AppLaunchUtils
import com.navi.base.utils.NetWatchManger
import com.navi.chat.base.ChatBaseActivity
import com.navi.common.CommonLibManager
import com.navi.common.adverse.AdverseDependencyProvider
import com.navi.common.resourcemanager.manager.ResourceManager
import com.navi.common.ui.activity.BaseActivity
import com.navi.common.uitron.util.UiTronDependencyProvider
@@ -157,14 +154,6 @@ open class NaviApplication :
UiTronSdkManager.init(UiTronDependencyProvider(applicationContext))
PreferenceManager.init(this)
NaviSDKHelper.init(naviApplication = this)
AdverseSdkManager.init(
AdverseConfig(
appVersionCode = CommonLibManager.appVersionCode,
appVersionName = CommonLibManager.appVersionName,
flavor = BuildConfig.FLAVOR,
),
AdverseDependencyProvider()
)
registerActivityLifecycleCallbacks(this)
// Dumping anr data to click stream
ANRWatchDog(WATCHDOG_ANR_TIMEOUT)

View File

@@ -94,7 +94,7 @@ moengage-android-sdk = "12.6.02"
moengage-inapp = "6.5.0"
moengage-push-amp-plus = "6.2.1"
moengage-rich-notification = "4.3.2"
navi-adverse = "1.0.0-20240626.075907-4"
navi-adverse = "1.0.0-20240627.121739-9"
navi-alfred = "1.9.0"
navi-guarddog = "3.1.0"
navi-pulse = "1.4.0"

View File

@@ -7,17 +7,26 @@
package com.navi.common.adverse
import android.app.Activity
import com.google.gson.Gson
import com.google.gson.GsonBuilder
import com.navi.adverse.sdk.sdkManager.IAdverseDependencyProvider
import com.navi.analytics.utils.CUSTOMER_ID
import com.navi.analytics.utils.DEVICE_ID
import com.navi.analytics.utils.NaviTrackEvent
import com.navi.analytics.utils.SESSION_ID
import com.navi.base.deeplink.DeepLinkManager
import com.navi.base.model.CtaData
import com.navi.base.sharedpref.CommonPrefConstants.USER_EXTERNAL_ID
import com.navi.base.sharedpref.PreferenceManager
import com.navi.base.utils.BaseUtils
import com.navi.base.utils.orFalse
import com.navi.common.CommonLibManager
import com.navi.common.uitron.model.action.CtaAction
import com.navi.common.utils.getSessionId
import com.navi.common.utils.registerUiTronDeSerializers
import com.navi.uitron.model.action.AnalyticsAction
import com.navi.uitron.model.data.UiTronAction
class AdverseDependencyProvider : IAdverseDependencyProvider {
override fun sendAnalyticEvent(event: AnalyticsAction) {
@@ -34,4 +43,26 @@ class AdverseDependencyProvider : IAdverseDependencyProvider {
override fun fetchSessionToken(): String {
return BaseUtils.getSessionToken().toString()
}
override fun getGsonDeserializer(): Gson {
return GsonBuilder().registerUiTronDeSerializers().create()
}
override fun handleUiTronAction(activity: Activity, action: UiTronAction) {
if (action is CtaAction) {
onCtaClick(action.ctaData, activity)
}
}
fun onCtaClick(ctaData: CtaData?, activity: Activity) {
ctaData?.let { cta ->
DeepLinkManager.getDeepLinkListener()
?.navigateTo(
activity = activity,
ctaData = cta,
finish = cta.finish.orFalse(),
clearTask = cta.clearTask.orFalse()
)
}
}
}