TP-68308 || handled cash loan and Permission flow for tribute (#11189)

Co-authored-by: Aman <amankasyapp@gmail.com>
This commit is contained in:
Aman S
2024-06-06 19:44:08 +05:30
committed by GitHub
parent ff4a925be0
commit afe71d899e

View File

@@ -335,6 +335,8 @@ object NaviDeepLinkNavigator : DeepLinkListener {
"com.navi.pl.dynamic.activity.NewLoanConsentActivity"
const val PERMISSION_FRAGMENT = "mandatePermission"
private const val AP_ACTIVITY_CLASS_PATH = "com.navi.ap.common.ui.ApplicationPlatformActivity"
private const val WebRedirectionActivity_CLASS_PATH =
"com.naviapp.webredirection.presentation.activity.WebRedirectionActivity"
private const val DEEPLINK_MANAGEMENT_ACTIVITY_CLASS_PATH =
"com.naviapp.deeplinkmanagement.ui.DeeplinkManagementActivity"
@@ -1243,6 +1245,38 @@ object NaviDeepLinkNavigator : DeepLinkListener {
return getDynamicModuleIntent(context, activityClassPath, CtaData(url = url))
}
private fun getDynamicModuleIntentForWeb(
context: Context?,
activityClassPath: String,
ctaData: CtaData,
applicationType: String? = null
): Intent {
return if (context?.let { hasPermissions(it, getLendingPermissionList()).not() } == true) {
Intent(context, LendingPermissionActivity::class.java).apply {
putExtra(KEY_CTA_DATA, ctaData)
putExtra(VERTICAL_TYPE, PL)
}
} else {
if (isDynamicModuleInstalled(dynamicModuleName = PL_DYNAMIC_MODULE_NAME)) {
when (applicationType) {
HPC -> {
Intent(context, StandardLauncherApActivity::class.java)
}
else -> {
getIntentForWebRedirection(ctaData, context as? Activity)
}
}
} else {
Intent(context, DynamicDeliveryActivity::class.java).apply {
putExtra(MODULE, PL_DYNAMIC_MODULE_NAME)
putExtra(ACTIVITY_CLASS_PATH, activityClassPath)
putExtra(CTA_URL, ctaData.url)
putExtra(WEB_REDIRECTION_TITLE, PL_WEB_REDIRECTION_TITLE)
}
}
}
}
fun getDynamicModuleIntent(
context: Context?,
activityClassPath: String,
@@ -1266,13 +1300,25 @@ object NaviDeepLinkNavigator : DeepLinkListener {
}
private fun getApplicationPlatformIntent(ctaData: CtaData, activity: Activity?): Intent {
if (isPlatformTypeWeb(ctaData)) {
return getIntentForWebRedirection(ctaData, activity)
}
val applicationType =
ctaData.parameters
?.firstOrNull { lineItem -> lineItem.key == APP_PLATFORM_APPLICATION_TYPE }
?.value
if (isPlatformTypeWeb(ctaData = ctaData)) {
val activityClassPath =
when (applicationType) {
HPC -> AP_ACTIVITY_CLASS_PATH
else -> WebRedirectionActivity_CLASS_PATH
}
return getDynamicModuleIntentForWeb(
activity,
activityClassPath,
ctaData,
applicationType = applicationType
)
}
return when (applicationType) {
PL,
ApplicationType.PL_REPEAT.name,