NTP-48441 | Added all QR uri in the events to analysis the errors (#15413)
This commit is contained in:
@@ -1398,12 +1398,19 @@ class NaviPayAnalytics private constructor() {
|
||||
)
|
||||
}
|
||||
|
||||
fun onNonUPIQRScanned(qrContent: String, naviPaySessionAttributes: Map<String, String>) {
|
||||
fun onNonUPIQRScanned(
|
||||
qrContent: String,
|
||||
naviPaySessionAttributes: Map<String, String>,
|
||||
qrCount: Int,
|
||||
qrUri: String,
|
||||
) {
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
eventName = "NaviPay_QrScanner_NonUPIQRScanned",
|
||||
eventValues =
|
||||
mapOf(
|
||||
"qrContent" to qrContent,
|
||||
"qrCount" to qrCount.toString(),
|
||||
"qrUri" to qrUri,
|
||||
"naviPaySessionId" to
|
||||
naviPaySessionAttributes["naviPaySessionId"].orEmpty(),
|
||||
"naviPayCustomerStatusMap" to
|
||||
|
||||
@@ -164,6 +164,7 @@ fun QrScannerScreen(
|
||||
qrScannerViewModel.processQrContent(
|
||||
qrContent = barcodes.first().rawValue.toString(),
|
||||
sendQrFromGallery = true,
|
||||
barcodes = barcodes,
|
||||
)
|
||||
naviPayAnalytics.onQRReceived(
|
||||
isFromGallery = true,
|
||||
@@ -585,7 +586,7 @@ fun NavigationIconWithOtherAppsView(
|
||||
private fun QrCamera(
|
||||
isTorchEnabled: LiveData<Boolean>,
|
||||
naviPayActivity: NaviPayActivity,
|
||||
onScanSuccess: (String) -> Unit,
|
||||
onScanSuccess: (String, Boolean, List<Barcode>) -> Unit,
|
||||
naviPayAnalytics: NaviPayAnalytics.NaviPayQrScanner,
|
||||
naviPaySessionAttributes: Map<String, String>,
|
||||
) {
|
||||
@@ -664,7 +665,9 @@ private fun QrCamera(
|
||||
!barcodeResults.first().rawValue.isNullOrEmpty()
|
||||
) {
|
||||
onScanSuccess(
|
||||
barcodeResults.first().rawValue.toString()
|
||||
barcodeResults.first().rawValue.toString(),
|
||||
false,
|
||||
barcodeResults,
|
||||
)
|
||||
naviPayAnalytics.onQRReceived(
|
||||
isFromGallery = false,
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
package com.navi.pay.management.moneytransfer.scanpay.util
|
||||
|
||||
import android.net.Uri
|
||||
import com.google.mlkit.vision.barcode.common.Barcode
|
||||
import com.navi.base.utils.COLON
|
||||
import com.navi.pay.analytics.NaviPayAnalytics
|
||||
import com.navi.pay.management.common.sendmoney.model.network.SplitDetailsItem
|
||||
@@ -203,3 +204,7 @@ fun getQueryParamValueOrDefault(value: String?, default: String): String {
|
||||
fun prepareUpiUri(name: String, vpa: String): String {
|
||||
return "upi://pay?pa=$vpa&pn=$name"
|
||||
}
|
||||
|
||||
fun extractUriFromQR(barcodes: List<Barcode>): String {
|
||||
return barcodes.joinToString(", ") { "${it.rawValue}" }
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import com.google.mlkit.vision.barcode.common.Barcode
|
||||
import com.navi.base.utils.ResourceProvider
|
||||
import com.navi.common.di.CoroutineDispatcherProvider
|
||||
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper
|
||||
@@ -36,6 +37,7 @@ import com.navi.pay.management.moneytransfer.scanpay.model.view.QrScanState
|
||||
import com.navi.pay.management.moneytransfer.scanpay.model.view.QrScannerBottomSheetStateHolder
|
||||
import com.navi.pay.management.moneytransfer.scanpay.model.view.UpiUriResult
|
||||
import com.navi.pay.management.moneytransfer.scanpay.util.UpiUriParser
|
||||
import com.navi.pay.management.moneytransfer.scanpay.util.extractUriFromQR
|
||||
import com.navi.pay.utils.DEFAULT_CONFIG
|
||||
import com.navi.pay.utils.LITMUS_EXPERIMENT_NAVIPAY_OFFER_EXPERIENCE
|
||||
import com.navi.pay.utils.NAVI_PAY_WIDGET_CLICKED_KEY
|
||||
@@ -237,7 +239,11 @@ constructor(
|
||||
bottomSheetStateHolder.value.bottomSheetUIState is QrScannerBottomSheetUIState.OfferList &&
|
||||
bottomSheetStateHolder.value.showBottomSheet
|
||||
|
||||
fun processQrContent(qrContent: String, sendQrFromGallery: Boolean = false) {
|
||||
fun processQrContent(
|
||||
qrContent: String,
|
||||
sendQrFromGallery: Boolean = false,
|
||||
barcodes: List<Barcode>,
|
||||
) {
|
||||
if (isQrCodeProcessing.get() || isOffersBottomSheetVisible()) {
|
||||
return
|
||||
}
|
||||
@@ -288,6 +294,8 @@ constructor(
|
||||
naviPayAnalytics.onNonUPIQRScanned(
|
||||
qrContent = qrContent,
|
||||
naviPaySessionAttributes = getNaviPaySessionAttributes(),
|
||||
qrCount = barcodes.size,
|
||||
qrUri = extractUriFromQR(barcodes),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user