Merge pull request #2375 from medici/task/kyc-events

Task/kyc events
This commit is contained in:
rahul bhat
2022-02-07 16:52:45 +05:30
committed by GitHub Enterprise
5 changed files with 97 additions and 1 deletions

View File

@@ -208,6 +208,69 @@ class NaviAnalytics private constructor() {
fun audioUnMuted() {
NaviTrackEvent.trackEvent("kyc_audio_un_muted")
}
fun onKycPageLand() {
NaviTrackEvent.trackEvent("PL_KYC_Page_Lands")
}
fun onKycBackTopButtonClicked() {
NaviTrackEvent.trackEvent("PL_KYC_Backtop_Clicked")
}
fun onKycBackBottomButtonClicked() {
NaviTrackEvent.trackEvent("PL_KYC_BackBottom_Clicked")
}
fun onKycSelfieClicked() {
NaviTrackEvent.trackEvent("PL_KYC_Selfie_Clicked")
}
fun onKycAllowCameraPermissionClicked() {
NaviTrackEvent.trackEvent("PL_KYC_AllowCameraPermission_Clicked")
}
fun onKycAadharVerificationClicked() {
NaviTrackEvent.trackEvent("PL_KYC_AadharVerification_Clicked")
}
fun onStartVkycClicked() {
NaviTrackEvent.trackEvent("PL_KYC_StartVKYC_Clicked")
}
fun onVkycItemClicked(type: String?) {
NaviTrackEvent.trackEvent("PL_KYC_VKYC_".plus(type.orEmpty()).plus("_Clicked"))
}
fun onConnectNowVkycClicked() {
NaviTrackEvent.trackEvent("PL_KYC_ConnectNowVKYC_Clicked")
}
fun onStartPhysicalKycClicked() {
NaviTrackEvent.trackEvent("PL_KYC_StartPhysical_Clicked")
}
fun onPhysicalKycNextButtonClick() {
NaviTrackEvent.trackEvent("PL_KYC_Physical_NextButton_Click")
}
fun onKycFatherNameClicked() {
NaviTrackEvent.trackEvent("PL_KYC_FatherName_Clicked")
}
fun onKycNextCtaClicked() {
NaviTrackEvent.trackEvent("PL_KYC_NextCTA_Clicked")
}
fun onKycAddressBlockerPageLands() {
NaviTrackEvent.trackEvent("PL_KYCAddressBlocker_Page_Lands")
}
fun onKycAddressBlockerCustomerSupportMobileNumberClicked() {
NaviTrackEvent.trackEvent("PL_KYCAddressBlocker_CustomerSupportMobileNumber_Clicked")
}
fun onKycAddressBlockerUploadCurrentAddressProofClicked() {
NaviTrackEvent.trackEvent("PL_KYCAddressBlocker_UploadCurrentAddressProof_Clicked")
}
}
inner class KycAddress {

View File

@@ -28,6 +28,7 @@ import com.naviapp.common.activity.NaviWebViewActivity
import com.naviapp.common.decorator.TopMarginItemDecoration
import com.naviapp.common.fragment.BaseFragment
import com.naviapp.common.fragment.UpdateInAppDialog
import com.naviapp.common.listeners.BackListener
import com.naviapp.common.listeners.LocationUpdateListener
import com.naviapp.common.navigator.ScreenNavigator
import com.naviapp.dashboard.listeners.FragmentInteractionListener
@@ -78,7 +79,7 @@ import java.util.*
import kotlin.collections.HashMap
class KycFragment : BaseFragment(), FooterInteractionListener,
KycItemsListener {
KycItemsListener, BackListener {
private lateinit var binding: KycFragmentBinding
private val viewModel by lazy { ViewModelProvider(this).get(KycVM::class.java) }
private var firebaseRequestId: String? = null
@@ -185,6 +186,7 @@ class KycFragment : BaseFragment(), FooterInteractionListener,
private fun observeTextFieldData() {
viewModel.textFieldData.observeNonNull(this) {
analyticsEventTracker.onKycFatherNameClicked()
enableNextButton(it)
}
}
@@ -309,6 +311,7 @@ class KycFragment : BaseFragment(), FooterInteractionListener,
private fun observeKycData() {
viewModel.kycDetailsLiveData.observeNonNull(this) { kycDetailsResponse ->
hideLoader()
analyticsEventTracker.onKycPageLand()
headerInteractionListener?.setProperties(
kycDetailsResponse.header?.title,
kycDetailsResponse.header?.subtitle,
@@ -359,6 +362,15 @@ class KycFragment : BaseFragment(), FooterInteractionListener,
private fun observePermissionResult(sharedViewModel: KycSharedVM) {
sharedViewModel.permissionResult.observeNonNull(this) {
it.first.forEachIndexed { index, permission ->
when (permission) {
CAMERA_PERMISSION -> {
if (it.second[index] == PERMISSION_GRANTED) {
analyticsEventTracker.onKycAllowCameraPermissionClicked()
}
}
}
}
when (it.third) {
SELFIE_REQUEST_CODE -> handleSelfiePermissions(it)
PAN_CAMERA_REQUEST_CODE -> handlePanPermissions(it)
@@ -1043,7 +1055,17 @@ class KycFragment : BaseFragment(), FooterInteractionListener,
permissionDeniedFragment?.dismiss()
}
override fun onBackPressed() {
analyticsEventTracker.onKycBackTopButtonClicked()
ScreenNavigator.instance.startActivityWithNoActivityStack(
activity,
ScreenNavigator.DASHBOARD_SCREEN,
null
)
}
override fun onFooterBackPress(ctaData: CtaData?) {
analyticsEventTracker.onKycBackBottomButtonClicked()
ctaData?.url?.let {
listener?.navigateTo(
it
@@ -1053,6 +1075,7 @@ class KycFragment : BaseFragment(), FooterInteractionListener,
override fun onFooterNextPress(ctaData: CtaData?, skipValidation: Boolean?) {
locationUpdateListener?.updateLocation(PL_KYC_LOCATION)
analyticsEventTracker.onKycNextCtaClicked()
if (viewModel.isTextFieldPresent() && viewModel.fathersNameSubmitSuccess.value != true) {
val hashMap = HashMap<String, String>()
@@ -1091,10 +1114,12 @@ class KycFragment : BaseFragment(), FooterInteractionListener,
}
override fun onSelfieItemTap() {
analyticsEventTracker.onKycSelfieClicked()
openSelfieScreen()
}
override fun onAadhaarOtpOptionTap() {
analyticsEventTracker.onKycAadharVerificationClicked()
if (isPermissionGranted(STORAGE_PERMISSION)) {
analyticsEventTracker.onStartAadhaarOtp()
handleAadharClick()
@@ -1123,10 +1148,12 @@ class KycFragment : BaseFragment(), FooterInteractionListener,
}
KycAaadharActionType.VIDEO_KYC, KycAaadharActionType.SCHEDULE_VKYC -> {
analyticsEventTracker.onAaadharActionTypeTap(kycAaadharActionType.name)
analyticsEventTracker.onStartVkycClicked()
videoKycInit()
}
KycAaadharActionType.OSV -> {
analyticsEventTracker.onAaadharActionTypeTap(kycAaadharActionType.name)
analyticsEventTracker.onStartPhysicalKycClicked()
listener?.navigateTo(GetLoanActivity.PHYSICAL_KYC_SCREEN)
}
}

View File

@@ -64,6 +64,7 @@ class KycInReviewFragment : BaseFragment(), DocumentUploadListener, FooterIntera
}
private fun initUi() {
eventTracker.onKycAddressBlockerPageLands()
binding.footerView.enableNextButton(false)
when (KycVerificationType.TELE_VERIFICATION.name) {
KycVerificationType.TELE_VERIFICATION.name -> {
@@ -108,6 +109,7 @@ class KycInReviewFragment : BaseFragment(), DocumentUploadListener, FooterIntera
}
private fun openDocumentUploadScreen() {
eventTracker.onKycAddressBlockerUploadCurrentAddressProofClicked()
val kycDocumentListFragment = KycDocumentListFragment()
kycDocumentListFragment.setDocumentUploadListener(this)
safelyShowBottomSheet(kycDocumentListFragment, KycDocumentListFragment.TAG)
@@ -274,6 +276,7 @@ class KycInReviewFragment : BaseFragment(), DocumentUploadListener, FooterIntera
private fun onClickCustomerCare(customerCareNumber: String?) = View.OnClickListener {
eventTracker.onKycInProgressCustomerCareTap()
eventTracker.onKycAddressBlockerCustomerSupportMobileNumberClicked()
activity?.let {
openMobileDialer(
customerCareNumber,

View File

@@ -629,6 +629,7 @@ class PhysicalKycFragment : BaseFragment(), BackListener, VideoKycItemsListener,
}
override fun onFooterNextPress(ctaData: CtaData?, skipValidation: Boolean?) {
analyticsEventTracker.onPhysicalKycNextButtonClick()
ctaData?.url?.let {
headerInteractionListener?.updateDefaultTheme()
listener?.navigateTo(

View File

@@ -204,6 +204,7 @@ class VideoKycFragment : BaseFragment(), BackListener, VideoKycItemsListener {
private fun initListeners() {
binding.footerView.setOnClickListener {
analyticsEventTracker.onConnectNowVkycClicked()
videoKycInit()
}
}
@@ -599,6 +600,7 @@ class VideoKycFragment : BaseFragment(), BackListener, VideoKycItemsListener {
}
override fun onItemClick(videoKycItem: VideoKycItem?) {
analyticsEventTracker.onVkycItemClicked(videoKycItem?.type)
viewModel.setCurrentSelectedType(videoKycItem?.type)
this.videoKycItem = videoKycItem
if (isPermissionGranted(CAMERA_PERMISSION)) {