From e81f03af3e303f728b299b791d776772faba454a Mon Sep 17 00:00:00 2001 From: Varun Jain Date: Tue, 12 Mar 2024 14:17:36 +0530 Subject: [PATCH] TP-59657 | Varun | AMC UST changes (#10065) --- .../amc/common/activity/AmcBaseActivity.kt | 59 ++++++++++++++----- .../amc/fundbuy/activities/FundBuyActivity.kt | 2 +- .../com/navi/amc/kyc/activity/KycActivity.kt | 2 +- .../amc/kyc/activity/KycOnboardActivity.kt | 2 +- .../FirebaseRemoteConfigHelper.kt | 1 + .../main/res/xml/default_remote_config.xml | 4 ++ 6 files changed, 51 insertions(+), 19 deletions(-) diff --git a/navi-amc/src/main/java/com/navi/amc/common/activity/AmcBaseActivity.kt b/navi-amc/src/main/java/com/navi/amc/common/activity/AmcBaseActivity.kt index 15d0883210..e76a80f458 100644 --- a/navi-amc/src/main/java/com/navi/amc/common/activity/AmcBaseActivity.kt +++ b/navi-amc/src/main/java/com/navi/amc/common/activity/AmcBaseActivity.kt @@ -17,6 +17,9 @@ import com.navi.base.deeplink.DeepLinkManager import com.navi.base.deeplink.util.DeeplinkConstants import com.navi.base.model.CtaData import com.navi.base.model.GenericAnalyticsData +import com.navi.base.model.LineItem +import com.navi.common.constants.CHAT_BOT_SCREEN_NAME +import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.model.HelpBottomSheetData import com.navi.common.model.ModuleNameV2 import com.navi.common.ui.activity.BaseActivity @@ -51,22 +54,15 @@ abstract class AmcBaseActivity : BaseActivity() { overridePendingTransition(CommonR.anim.parallax_slide_in_right, CommonR.anim.parallax_slide_out_left) } - protected fun openHelpBottomSheet(helpBottomSheetData: HelpBottomSheetData?) { - sendEvent(AmcAnalytics.AMC_BTN_HELP, hashMapOf(Pair(AmcAnalytics.SUB_SCREEN_NAME, getCurrentFragmentScreenName()))) - helpBottomSheetData?.let { - val menuItemList = it.helpOptions - val helpBottomSheet = - HelpBottomSheet.getInstance(Bundle().apply { - putString(HelpBottomSheet.MENU_TITLE, it.header) - putParcelableArrayList( - HelpBottomSheet.MENU_ITEM_DATA, - menuItemList as java.util.ArrayList - ) - }) - safelyShowBottomSheet(helpBottomSheet, HelpBottomSheet.HELP_BOTTOM_SHEET) - helpBottomSheet.selectedMenuItem.observeNonNull(this) { genericMenuItem -> - genericMenuItem.cta?.toNavigateAmcModule(this) - } + protected fun openHelpInfo(helpBottomSheetData: HelpBottomSheetData?) { + sendEvent( + AmcAnalytics.AMC_BTN_HELP, + hashMapOf(Pair(AmcAnalytics.SUB_SCREEN_NAME, getCurrentFragmentScreenName())) + ) + if (FirebaseRemoteConfigHelper.getBoolean(FirebaseRemoteConfigHelper.UST_IN_AMC_ENABLED)) { + openSupportScreen(helpBottomSheetData) + } else { + openHelpBottomSheet(helpBottomSheetData) } } @@ -102,6 +98,37 @@ abstract class AmcBaseActivity : BaseActivity() { AmcAnalytics.sendEvent(eventName, attributes, screenName, isNeededForFirebase = isNeededForFirebase) } + private fun openSupportScreen(helpBottomSheetData: HelpBottomSheetData?) { + val configID = + helpBottomSheetData?.helpOptions?.firstOrNull()?.cta?.parameters?.firstOrNull { it.key == CHAT_BOT_SCREEN_NAME }?.value + DeepLinkManager.getDeepLinkListener()?.navigateTo( + this, CtaData( + url = DeeplinkConstants.PRODUCT_HELP_PAGE, parameters = listOf( + LineItem( + key = DeeplinkConstants.PRODUCT_HELP_SCREEN_NAME, value = configID + ) + ) + ), bundle = null, finish = false + ) + } + + private fun openHelpBottomSheet(helpBottomSheetData: HelpBottomSheetData?) { + helpBottomSheetData?.let { + val menuItemList = it.helpOptions + val helpBottomSheet = HelpBottomSheet.getInstance(Bundle().apply { + putString(HelpBottomSheet.MENU_TITLE, it.header) + putParcelableArrayList( + HelpBottomSheet.MENU_ITEM_DATA, + menuItemList as java.util.ArrayList + ) + }) + safelyShowBottomSheet(helpBottomSheet, HelpBottomSheet.HELP_BOTTOM_SHEET) + helpBottomSheet.selectedMenuItem.observeNonNull(this) { genericMenuItem -> + genericMenuItem.cta?.toNavigateAmcModule(this) + } + } + } + override fun finish() { super.finish() overridePendingTransition(CommonR.anim.parallax_slide_in_left, CommonR.anim.parallax_slide_out_right) diff --git a/navi-amc/src/main/java/com/navi/amc/fundbuy/activities/FundBuyActivity.kt b/navi-amc/src/main/java/com/navi/amc/fundbuy/activities/FundBuyActivity.kt index f78e124e93..35e9031796 100644 --- a/navi-amc/src/main/java/com/navi/amc/fundbuy/activities/FundBuyActivity.kt +++ b/navi-amc/src/main/java/com/navi/amc/fundbuy/activities/FundBuyActivity.kt @@ -306,7 +306,7 @@ class FundBuyActivity : BasePaymentActivity(), } override fun onHelpClick(helpBottomSheetData: HelpBottomSheetData?) { - openHelpBottomSheet(helpBottomSheetData) + openHelpInfo(helpBottomSheetData) } override fun getCurrentFragmentScreenName(): String { diff --git a/navi-amc/src/main/java/com/navi/amc/kyc/activity/KycActivity.kt b/navi-amc/src/main/java/com/navi/amc/kyc/activity/KycActivity.kt index 011571fdcc..3da123f719 100644 --- a/navi-amc/src/main/java/com/navi/amc/kyc/activity/KycActivity.kt +++ b/navi-amc/src/main/java/com/navi/amc/kyc/activity/KycActivity.kt @@ -140,7 +140,7 @@ class KycActivity : } override fun onHelpClick(helpBottomSheetData: HelpBottomSheetData?) { - openHelpBottomSheet(helpBottomSheetData) + openHelpInfo(helpBottomSheetData) } override fun onTopPressed(actionData: ActionData?, exitBottomSheetData: GenericErrorResponse?) { diff --git a/navi-amc/src/main/java/com/navi/amc/kyc/activity/KycOnboardActivity.kt b/navi-amc/src/main/java/com/navi/amc/kyc/activity/KycOnboardActivity.kt index 7a655215c2..1b2f683443 100644 --- a/navi-amc/src/main/java/com/navi/amc/kyc/activity/KycOnboardActivity.kt +++ b/navi-amc/src/main/java/com/navi/amc/kyc/activity/KycOnboardActivity.kt @@ -123,7 +123,7 @@ class KycOnboardActivity : AmcBaseActivity(), View.OnClickListener { } private fun onHelpClick(helpBottomSheetData: HelpBottomSheetData?) { - openHelpBottomSheet(helpBottomSheetData) + openHelpInfo(helpBottomSheetData) } override fun onBackPressed() { diff --git a/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt b/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt index 6214267694..bf546b2ea1 100644 --- a/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt +++ b/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt @@ -58,6 +58,7 @@ object FirebaseRemoteConfigHelper { const val HOME_GZIP_ENABLED = "HOME_GZIP_ENABLED" const val ACCEPT_ENCODING_DEFAULT_VALUE = "ACCEPT_ENCODING_DEFAULT_VALUE" const val UST_IN_GOLD_ENABLED = "UST_IN_GOLD_ENABLED" + const val UST_IN_AMC_ENABLED = "UST_IN_AMC_ENABLED" const val NAVI_UPI_NOT_RESET_CL_SERVICE_ON_DISCONNECT = "NAVI_UPI_NOT_RESET_CL_SERVICE_ON_DISCONNECT" const val AMC_CSAT_TIMER_DELAY_IN_SEC = "AMC_CSAT_TIMER_DELAY_IN_SEC" diff --git a/navi-common/src/main/res/xml/default_remote_config.xml b/navi-common/src/main/res/xml/default_remote_config.xml index accd7f7c68..da98037bef 100644 --- a/navi-common/src/main/res/xml/default_remote_config.xml +++ b/navi-common/src/main/res/xml/default_remote_config.xml @@ -457,4 +457,8 @@ NAVI_BBPS_PREPAID_PLANS_CACHE_KEY 2419200000 + + UST_IN_AMC_ENABLED + false + \ No newline at end of file