NTP-43193 | events for app shortcut (#15241)
This commit is contained in:
@@ -1398,7 +1398,6 @@ class NaviPayAnalytics private constructor() {
|
||||
fun onScanAndPayShortcutClicked(
|
||||
naviPaySessionAttributes: Map<String, String>,
|
||||
eventName: String,
|
||||
eventValue: String,
|
||||
) {
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
eventName = eventName,
|
||||
@@ -1408,7 +1407,6 @@ class NaviPayAnalytics private constructor() {
|
||||
naviPaySessionAttributes["naviPaySessionId"].orEmpty(),
|
||||
"naviPayCustomerStatusMap" to
|
||||
naviPaySessionAttributes["naviPayCustomerStatusMap"].orEmpty(),
|
||||
eventName to eventValue,
|
||||
),
|
||||
)
|
||||
}
|
||||
@@ -1934,6 +1932,22 @@ class NaviPayAnalytics private constructor() {
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
fun onSendToContactShortcutClicked(
|
||||
naviPaySessionAttributes: Map<String, String>,
|
||||
eventName: String,
|
||||
) {
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
eventName = eventName,
|
||||
eventValues =
|
||||
mapOf(
|
||||
"naviPaySessionId" to
|
||||
naviPaySessionAttributes["naviPaySessionId"].orEmpty(),
|
||||
"naviPayCustomerStatusMap" to
|
||||
naviPaySessionAttributes["naviPayCustomerStatusMap"].orEmpty(),
|
||||
),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
inner class NaviPayUpiNumber {
|
||||
@@ -5141,6 +5155,22 @@ class NaviPayAnalytics private constructor() {
|
||||
fun onOrderTagSummaryEnabled() {
|
||||
NaviTrackEvent.trackEventOnClickStream("NaviTStore_OrderTagSummary_Enabled")
|
||||
}
|
||||
|
||||
fun onOrderHistoryShortcutClicked(
|
||||
naviPaySessionAttributes: Map<String, String>,
|
||||
eventName: String,
|
||||
) {
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
eventName = eventName,
|
||||
eventValues =
|
||||
mapOf(
|
||||
"naviPaySessionId" to
|
||||
naviPaySessionAttributes["naviPaySessionId"].orEmpty(),
|
||||
"naviPayCustomerStatusMap" to
|
||||
naviPaySessionAttributes["naviPayCustomerStatusMap"].orEmpty(),
|
||||
),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
inner class OrderDetails {
|
||||
|
||||
@@ -136,9 +136,8 @@ constructor(
|
||||
?.getString(NAVI_PAY_WIDGET_CLICKED_KEY)
|
||||
?.let {
|
||||
naviPayAnalytics.onScanAndPayShortcutClicked(
|
||||
eventName = it,
|
||||
naviPaySessionAttributes = getNaviPaySessionAttributes(),
|
||||
eventName = NAVI_PAY_WIDGET_CLICKED_KEY,
|
||||
eventValue = it,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ import com.navi.pay.common.utils.NaviPayCommonUtils.getNormalisedPhoneNumber
|
||||
import com.navi.pay.common.utils.getMetricInfo
|
||||
import com.navi.pay.common.viewmodel.NaviPayBaseVM
|
||||
import com.navi.pay.destinations.SendMoneyScreenDestination
|
||||
import com.navi.pay.entry.NaviPayActivityDataProvider
|
||||
import com.navi.pay.management.common.model.view.WarningErrorInfoState
|
||||
import com.navi.pay.management.common.sendmoney.model.network.TransactionInitiationType
|
||||
import com.navi.pay.management.common.sendmoney.model.network.getTransactionInitiationType
|
||||
@@ -47,6 +48,7 @@ import com.navi.pay.utils.DEFAULT_CONFIG
|
||||
import com.navi.pay.utils.INDIA_COUNTRY_CODE_WITH_PLUS
|
||||
import com.navi.pay.utils.INVALID_VPA
|
||||
import com.navi.pay.utils.NAVI_PAY_SEARCH_QUERY_API_DELAY
|
||||
import com.navi.pay.utils.NAVI_PAY_WIDGET_CLICKED_KEY
|
||||
import com.navi.pay.utils.NOT_LINKED_TO_UPI
|
||||
import com.navi.pay.utils.PHONE_NUMBER_LENGTH
|
||||
import com.navi.pay.utils.isValidPhoneNumberLength
|
||||
@@ -84,6 +86,7 @@ constructor(
|
||||
private val frequentOrdersHelper: FrequentOrdersHelper,
|
||||
private val resourceProvider: ResourceProvider,
|
||||
private val validateVpaUseCase: ValidateVpaUseCase,
|
||||
private val naviPayActivityDataProvider: NaviPayActivityDataProvider,
|
||||
) : NaviPayBaseVM() {
|
||||
|
||||
private var naviPayDefaultConfig = NaviPayDefaultConfig()
|
||||
@@ -245,23 +248,34 @@ constructor(
|
||||
|
||||
init {
|
||||
viewModelScope.launch(context = Dispatchers.IO) {
|
||||
initializeSynchronously()
|
||||
updateNaviPaySessionId()
|
||||
triggerEventForShortcutWidget()
|
||||
updateNaviPayDefaultConfig()
|
||||
initializeAsynchronously()
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun initializeSynchronously() {
|
||||
updateNaviPayDefaultConfig()
|
||||
}
|
||||
|
||||
private suspend fun initializeAsynchronously() {
|
||||
coroutineScope {
|
||||
launch { updateNaviPaySessionId() }
|
||||
launch { fetchFrequentOrders() }
|
||||
launch { observeAndHandleSearchResults() }
|
||||
}
|
||||
}
|
||||
|
||||
private fun triggerEventForShortcutWidget() {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
naviPayActivityDataProvider
|
||||
.getIntentData()
|
||||
?.getString(NAVI_PAY_WIDGET_CLICKED_KEY)
|
||||
?.let {
|
||||
naviPayAnalytics.onSendToContactShortcutClicked(
|
||||
eventName = it,
|
||||
naviPaySessionAttributes = getNaviPaySessionAttributes(),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun observeAndHandleSearchResults() {
|
||||
combine(searchQuery, filteredContactList, filteredFrequentOrdersList) {
|
||||
searchQuery,
|
||||
|
||||
@@ -29,11 +29,13 @@ import com.navi.pay.R
|
||||
import com.navi.pay.analytics.NaviPayAnalytics
|
||||
import com.navi.pay.analytics.NaviPayAnalytics.Companion.NAVI_PAY_T_STORE_ORDER_LIST
|
||||
import com.navi.pay.common.model.config.NaviPayDefaultConfig
|
||||
import com.navi.pay.common.model.view.NaviPaySessionHelper
|
||||
import com.navi.pay.common.usecase.NaviPayConfigUseCase
|
||||
import com.navi.pay.common.utils.NaviPayCommonUtils.getSearchQueryListFromTagString
|
||||
import com.navi.pay.common.utils.NaviPayCommonUtils.isCurrentDateGreaterOrEqualToOldDateMonthWise
|
||||
import com.navi.pay.common.viewmodel.NaviPayBaseVM
|
||||
import com.navi.pay.destinations.OrderDetailsScreenDestination
|
||||
import com.navi.pay.entry.NaviPayActivityDataProvider
|
||||
import com.navi.pay.management.common.sendmoney.model.view.PayeeTransactionHistoryEntity
|
||||
import com.navi.pay.management.common.transaction.model.view.TransactionCategoryTags
|
||||
import com.navi.pay.management.common.transaction.model.view.TransactionPaymentModeTags
|
||||
@@ -48,6 +50,7 @@ import com.navi.pay.tstore.list.usecase.SyncOrderHistoryUseCase
|
||||
import com.navi.pay.utils.DATE_TIME_FORMAT_FULL_MONTH_YEAR
|
||||
import com.navi.pay.utils.DEFAULT_CONFIG
|
||||
import com.navi.pay.utils.LITMUS_EXPERIMENT_NAVIPAY_ORDER_TAG_SUMMARY
|
||||
import com.navi.pay.utils.NAVI_PAY_WIDGET_CLICKED_KEY
|
||||
import com.navi.pay.utils.RESOURCE_DEFAULT_ID
|
||||
import com.navi.pay.utils.parallelMap
|
||||
import com.ramcosta.composedestinations.spec.Direction
|
||||
@@ -91,6 +94,8 @@ constructor(
|
||||
private val resourceProvider: ResourceProvider,
|
||||
private val naviPayConfigUseCase: NaviPayConfigUseCase,
|
||||
private val litmusExperimentsUseCase: LitmusExperimentsUseCase,
|
||||
private val naviPayActivityDataProvider: NaviPayActivityDataProvider,
|
||||
private val naviPaySessionHelper: NaviPaySessionHelper,
|
||||
) : NaviPayBaseVM() {
|
||||
|
||||
companion object {
|
||||
@@ -391,6 +396,21 @@ constructor(
|
||||
.collect()
|
||||
}
|
||||
initOrderSummaryAmountDataListener()
|
||||
triggerEventForShortcutWidget()
|
||||
}
|
||||
|
||||
private fun triggerEventForShortcutWidget() {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
naviPayActivityDataProvider
|
||||
.getIntentData()
|
||||
?.getString(NAVI_PAY_WIDGET_CLICKED_KEY)
|
||||
?.let {
|
||||
naviPayAnalytics.onOrderHistoryShortcutClicked(
|
||||
naviPaySessionAttributes = getNaviPaySessionAttributes(),
|
||||
eventName = it,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun refreshOrderHistory() {
|
||||
@@ -1224,6 +1244,10 @@ constructor(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun getNaviPaySessionAttributes(): Map<String, String> {
|
||||
return naviPaySessionHelper.getNaviPaySessionAttributes()
|
||||
}
|
||||
}
|
||||
|
||||
enum class FilterTabBottomSheetUIState {
|
||||
|
||||
Reference in New Issue
Block a user