NTP-42615 | Vedant Aggarwal | PSP Manager integration in Setting SDK on Account Addition (#15296)

This commit is contained in:
vedant aggarwal
2025-03-06 17:30:57 +05:30
committed by GitHub
parent 3714da85a2
commit 3d06dcdbed
3 changed files with 20 additions and 8 deletions

View File

@@ -39,7 +39,6 @@ import com.navi.pay.common.settingscreen.utils.shareQR
import com.navi.pay.common.settingscreen.viewmodel.SettingSDKViewmodel
import com.navi.pay.common.utils.NaviPayCommonUtils
import com.navi.pay.common.utils.launchOnboardingSDK
import com.navi.pay.onboarding.common.NaviPayOnboardingActionsType
import com.navi.pay.utils.ACCOUNT_ID
import com.navi.pay.utils.ObserveAsEvents
import com.navi.pay.utils.SAVINGS_ONLY_ENABLED_ACCOUNTS
@@ -158,10 +157,8 @@ fun UPISettingSDK(
naviSettingSDKAnalytics.onUpiIdCopyClicked()
}
is SettingAction.AddAccount -> {
activity.launchOnboardingSDK(
action = NaviPayOnboardingActionsType.ACCOUNT_ADDITION.name,
enabledAccountTypes = SAVINGS_ONLY_ENABLED_ACCOUNTS,
source = "SettingSDK",
settingSDKViewmodel.handleAccountAddition(
enabledAccountTypes = SAVINGS_ONLY_ENABLED_ACCOUNTS
)
naviSettingSDKAnalytics.onAddAccountClicked()
}
@@ -170,12 +167,10 @@ fun UPISettingSDK(
naviSettingSDKAnalytics.onShareQRClicked()
}
is SettingAction.Onboarding -> {
activity.launchOnboardingSDK(
action = NaviPayOnboardingActionsType.E2E_ONBOARDING.name,
settingSDKViewmodel.handleAccountAddition(
enabledAccountTypes = SAVINGS_ONLY_ENABLED_ACCOUNTS,
addAccountSuccessDescription =
"QR code is now added for this bank account. To know about UPI guidelines, click here.",
source = "SettingSDK",
)
naviSettingSDKAnalytics.onOnboardingClicked()
}

View File

@@ -211,6 +211,19 @@ constructor(
screenLifecycleState = state
}
fun handleAccountAddition(
enabledAccountTypes: String,
addAccountSuccessDescription: String? = null,
) {
viewModelScope.launch(Dispatchers.IO) {
naviPayPspManager.handleAccountAdditionFlow(
screenName = screenName,
enabledAccountTypes = enabledAccountTypes,
addAccountSuccessDescription = addAccountSuccessDescription,
)
}
}
fun handleActionCta(actionData: ActionData, isUserDeviceBoundForAnyPsp: Boolean) {
viewModelScope.launch(Dispatchers.IO) {
naviSettingSDKAnalytics.onCtaClicked(actionData)

View File

@@ -267,6 +267,7 @@ constructor(
screenName: String,
enabledAccountTypes: String? = null,
preferredBankCode: String? = null,
addAccountSuccessDescription: String? = null,
onOnboardingTriggered: suspend (NaviPayOnboardingActionsType) -> Unit = {},
onPspEvaluated: suspend (PspEvaluationResult) -> Unit = {},
) {
@@ -316,6 +317,7 @@ constructor(
psp = selectedPsp,
enabledAccountTypes = enabledAccountTypes,
preferredBankCode = preferredBankCode,
addAccountSuccessDescription = addAccountSuccessDescription,
onboardingAction = NaviPayOnboardingActionsType.ACCOUNT_ADDITION,
screenName = screenName,
)
@@ -337,6 +339,7 @@ constructor(
psp: PspType,
enabledAccountTypes: String? = null,
preferredBankCode: String? = null,
addAccountSuccessDescription: String? = null,
onboardingAction: NaviPayOnboardingActionsType,
screenName: String,
): Boolean {
@@ -346,6 +349,7 @@ constructor(
action = onboardingAction.name,
enabledAccountTypes = enabledAccountTypes,
preferredBankCode = preferredBankCode,
addAccountSuccessDescription = addAccountSuccessDescription,
source = screenName,
pspType = psp,
onOnboardingSuccess = { onboardingResult.complete(value = true) },