From 50329e1b53e29940944bcef862e86803409009db Mon Sep 17 00:00:00 2001 From: Sanjay P Date: Mon, 8 Apr 2024 21:24:00 +0530 Subject: [PATCH] TP-61716 | Loan Amount and Navi Logo on VKYC Meeting Screen (#10270) --- .../screens/vkyc/ui/VKYCMeetingRoomScreen.kt | 15 +++- .../ap/screens/vkyc/ui/VKYCWaitingScreen.kt | 9 ++- .../navi/ap/screens/vkyc/utils/Constants.kt | 1 + .../navi/ap/utils/constants/ApConstants.kt | 1 + .../res/layout/vkyc_meeting_room_screen.xml | 71 +++++++++++++++++-- .../src/main/res/values/strings.xml | 1 + 6 files changed, 88 insertions(+), 10 deletions(-) diff --git a/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/screens/vkyc/ui/VKYCMeetingRoomScreen.kt b/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/screens/vkyc/ui/VKYCMeetingRoomScreen.kt index ae267e0532..fe0bda1d6e 100644 --- a/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/screens/vkyc/ui/VKYCMeetingRoomScreen.kt +++ b/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/screens/vkyc/ui/VKYCMeetingRoomScreen.kt @@ -60,6 +60,7 @@ import com.navi.ap.screens.vkyc.models.VKYCAgentAssignedResponse import com.navi.ap.screens.vkyc.utils.ACTION_KYC_VKYC_CANCELLED_AT import com.navi.ap.screens.vkyc.utils.ACTION_KYC_VKYC_COMPLETED_AT import com.navi.ap.screens.vkyc.utils.CANCEL_VKYC_CALL +import com.navi.ap.screens.vkyc.utils.FORMATTED_LOAN_AMOUNT import com.navi.ap.screens.vkyc.utils.HMS_ADD_VIDEO_TRACK import com.navi.ap.screens.vkyc.utils.HMS_AUTH_TOKEN import com.navi.ap.screens.vkyc.utils.HMS_SDK_JOIN_CALLED @@ -87,6 +88,7 @@ import com.navi.ap.utils.constants.BUTTON_BG_PRIMARY_HEX_CODE import com.navi.ap.utils.constants.BUTTON_BG_SECONDARY_HEX_CODE import com.navi.ap.utils.constants.CLIENT_REFERENCE_ID import com.navi.ap.utils.constants.DEFAULT_SOURCE_SCREEN +import com.navi.ap.utils.constants.RUPEE_SYMBOL import com.navi.ap.utils.constants.SCREEN_NAME import com.navi.ap.utils.constants.TEXT_PRIMARY_HEX_CODE import com.navi.ap.utils.constants.WHITE_HEX_CODE @@ -96,6 +98,7 @@ import com.navi.base.utils.orFalse import com.navi.common.R as CommonR import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.utils.Constants +import com.navi.common.utils.EMPTY import com.navi.common.utils.SPACE import com.navi.design.common.ComposeSize import com.navi.design.font.FontWeightEnum @@ -433,7 +436,8 @@ private fun initUi( binding, getVKYCAgentAssignedResponse(bundle), activity, - coroutineScope + coroutineScope, + bundle ) } @@ -454,7 +458,8 @@ private fun setVkycAgentImageAndName( binding: VkycMeetingRoomScreenBinding?, vkycAgentData: VKYCAgentAssignedResponse?, activity: ApplicationPlatformActivity, - coroutineScope: CoroutineScope + coroutineScope: CoroutineScope, + bundle: Bundle ) { vkycAgentData?.agentImageUrl?.let { imageUrl -> binding?.customerExecutiveImage?.setVisibilityState(View.GONE) @@ -469,12 +474,18 @@ private fun setVkycAgentImageAndName( tvAgentConnectedToast.setVisibilityState(View.VISIBLE) } } + binding?.loanAmountValueText?.text = + getFormattedLoanAmount(bundle.getString(FORMATTED_LOAN_AMOUNT)) coroutineScope.launch { delay(vkycAgentData?.agentConnectedToastTimeout ?: 2500) binding?.tvAgentConnectedToast?.setVisibilityState(View.GONE) } } +private fun getFormattedLoanAmount(loanAmount: String?): String { + return loanAmount?.let { RUPEE_SYMBOL.plus(loanAmount) } ?: run { EMPTY } +} + private fun fillApiCall( viewModel: VKYCVideoCallingScreenViewModel, fields: List diff --git a/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/screens/vkyc/ui/VKYCWaitingScreen.kt b/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/screens/vkyc/ui/VKYCWaitingScreen.kt index ad73faad5b..05d69344b1 100644 --- a/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/screens/vkyc/ui/VKYCWaitingScreen.kt +++ b/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/screens/vkyc/ui/VKYCWaitingScreen.kt @@ -38,6 +38,7 @@ import com.navi.ap.screens.vkyc.models.VKYCAgentAssignedResponse import com.navi.ap.screens.vkyc.models.VKYCSettingsData import com.navi.ap.screens.vkyc.utils.AGENT_CONNECTED_TOAST_TIMEOUT import com.navi.ap.screens.vkyc.utils.ErrorType +import com.navi.ap.screens.vkyc.utils.FORMATTED_LOAN_AMOUNT import com.navi.ap.screens.vkyc.utils.HMS_AUTH_TOKEN import com.navi.ap.screens.vkyc.utils.HMS_SDK_SETTINGS_DATA import com.navi.ap.screens.vkyc.utils.HMS_USER_NAME @@ -282,12 +283,14 @@ private fun handleVKYAgentAssignedResponseState( if (vkycAgentAssignedResponse.data?.status == AGENT_JOINED) { val hmsSdkSettingsData = viewModel.handle.get(HMS_SDK_SETTINGS_DATA) + val formattedLoanAmount = viewModel.handle.get(FORMATTED_LOAN_AMOUNT) val bundleData = getBundleData( bundle = bundle, data = vkycAgentAssignedResponse.data, vkycSettingsData = hmsSdkSettingsData, - clientReferenceId = viewModel.handle[CLIENT_REFERENCE_ID] + clientReferenceId = viewModel.handle[CLIENT_REFERENCE_ID], + formattedLoanAmount = formattedLoanAmount ) logApEvent(eventName = VKYC_AGENT_JOINED) activity.navController.navigate( @@ -362,7 +365,8 @@ private fun getBundleData( bundle: Bundle?, data: VKYCAgentAssignedResponse, vkycSettingsData: VKYCSettingsData?, - clientReferenceId: String? + clientReferenceId: String?, + formattedLoanAmount: String? ): Bundle { return Bundle().apply { putAll(bundle) @@ -378,5 +382,6 @@ private fun getBundleData( putString(VKYC_SETTINGS_PREVIEW_PUT_URL, vkycSettingsData?.previewPutUrl) putString(VKYC_SETTINGS_REFERENCE_ID, vkycSettingsData?.referenceId) putString(CLIENT_REFERENCE_ID, clientReferenceId) + putString(FORMATTED_LOAN_AMOUNT, formattedLoanAmount) } } diff --git a/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/screens/vkyc/utils/Constants.kt b/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/screens/vkyc/utils/Constants.kt index b84e9a70f6..94e41221fe 100644 --- a/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/screens/vkyc/utils/Constants.kt +++ b/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/screens/vkyc/utils/Constants.kt @@ -65,3 +65,4 @@ const val VKYC_ON_DESTROY = "VKYC_ON_DESTROY" const val CANCEL_VKYC_CALL = "CANCEL_VKYC_CALL" const val VKYC_AGENT_JOINED = "VKYC_AGENT_JOINED" const val COROUTINE_JOB_ON_COMPLETION_CALLED = "COROUTINE_JOB_ON_COMPLETION_CALLED" +const val FORMATTED_LOAN_AMOUNT = "FORMATTED_LOAN_AMOUNT" diff --git a/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/utils/constants/ApConstants.kt b/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/utils/constants/ApConstants.kt index 36453bb5ae..6691ae8bb0 100644 --- a/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/utils/constants/ApConstants.kt +++ b/android/application-platform/navi-ap/src/main/kotlin/com/navi/ap/utils/constants/ApConstants.kt @@ -90,3 +90,4 @@ const val KEY_PAYMENT_SDK_VERSION = "KEY_PAYMENT_SDK_VERSION" const val KEY_PAYMENT_GATEWAY_EVENT_NAME = "paymentGatewayEventName" const val PAYMENT_DOT_GATEWAY_DOT = "payments.gateway." const val DOT_SDK_DOT = ".sdk." +const val RUPEE_SYMBOL = "₹" diff --git a/android/application-platform/navi-ap/src/main/res/layout/vkyc_meeting_room_screen.xml b/android/application-platform/navi-ap/src/main/res/layout/vkyc_meeting_room_screen.xml index 53dea08edd..a063211205 100644 --- a/android/application-platform/navi-ap/src/main/res/layout/vkyc_meeting_room_screen.xml +++ b/android/application-platform/navi-ap/src/main/res/layout/vkyc_meeting_room_screen.xml @@ -21,6 +21,18 @@ android:layout_width="match_parent" android:layout_height="match_parent"> + + + android:layout_marginTop="@dimen/dp_20" + app:layout_constraintTop_toBottomOf="@+id/ic_navi_logo"/> + app:layout_constraintGuide_percent="0.86" /> + + + + + + + + + + diff --git a/android/navi-common/src/main/res/values/strings.xml b/android/navi-common/src/main/res/values/strings.xml index 15b85a65e9..c999c62451 100644 --- a/android/navi-common/src/main/res/values/strings.xml +++ b/android/navi-common/src/main/res/values/strings.xml @@ -207,6 +207,7 @@ Navi executive Connected with We are facing a technical issue at this time. Please retry or try again after some time. + Loan Amount