diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/NaviBbpsAnalytics.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/NaviBbpsAnalytics.kt index dfb4f2d990..28f2804d9d 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/NaviBbpsAnalytics.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/common/NaviBbpsAnalytics.kt @@ -1105,6 +1105,54 @@ class NaviBbpsAnalytics private constructor() { ), ) } + + fun onAppliedDiscountClicked( + offerDataList: List?, + source: String, + initialSource: String, + coinBurnData: CoinBurnData?, + sessionAttribute: Map, + billCategoryEntity: BillCategoryEntity, + ) { + NaviTrackEvent.trackEventOnClickStream( + eventName = "NaviBBPS_Bill_AppliedDiscount_Clicked", + eventValues = + mapOf( + NAVI_BBPS_COIN_CALLOUT_VISIBLE to + isEligibleForCoinBurn(coinBurnData).toString(), + NAVI_BBPS_OFFER_LIST_SIZE to offerDataList?.size.toString(), + NAVI_BBPS_SESSION_ID to sessionAttribute[NAVI_BBPS_SESSION_ID].orEmpty(), + NAVI_BBPS_SOURCE to source, + NAVI_BBPS_INITIAL_SOURCE to initialSource, + NAVI_BBPS_CATEGORY_NAME to billCategoryEntity.title, + NAVI_BBPS_CATEGORY_ID to billCategoryEntity.categoryId, + ), + ) + } + + fun onRemoveDiscountClicked( + offerDataList: List?, + source: String, + initialSource: String, + coinBurnData: CoinBurnData?, + sessionAttribute: Map, + billCategoryEntity: BillCategoryEntity, + ) { + NaviTrackEvent.trackEventOnClickStream( + eventName = "NaviBBPS_Bill_RemoveDiscount_Clicked", + eventValues = + mapOf( + NAVI_BBPS_COIN_CALLOUT_VISIBLE to + isEligibleForCoinBurn(coinBurnData).toString(), + NAVI_BBPS_OFFER_LIST_SIZE to offerDataList?.size.toString(), + NAVI_BBPS_SESSION_ID to sessionAttribute[NAVI_BBPS_SESSION_ID].orEmpty(), + NAVI_BBPS_SOURCE to source, + NAVI_BBPS_INITIAL_SOURCE to initialSource, + NAVI_BBPS_CATEGORY_NAME to billCategoryEntity.title, + NAVI_BBPS_CATEGORY_ID to billCategoryEntity.categoryId, + ), + ) + } } inner class ContactList { diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/paybill/ui/PayBillScreenV2.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/paybill/ui/PayBillScreenV2.kt index cd06a3ba76..9e253c15dd 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/paybill/ui/PayBillScreenV2.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/feature/paybill/ui/PayBillScreenV2.kt @@ -593,10 +593,32 @@ fun PayBillScreenV2( payBillViewModelV2::onAmountValueChanged, scrollState = scrollState, coinBurnData = coinBurnData, - onAppliedDiscountClicked = - payBillViewModelV2::onAppliedDiscountClicked, - onRemoveDiscountClicked = - payBillViewModelV2::onRemoveDiscountClicked, + onAppliedDiscountClicked = { + payBillViewModelV2.onAppliedDiscountClicked() + naviBbpsAnalytics.onAppliedDiscountClicked( + offerDataList = offerDataList, + source = source, + initialSource = initialSource, + coinBurnData = coinBurnData, + sessionAttribute = + payBillViewModelV2 + .getNaviBbpsSessionAttributes(), + billCategoryEntity = billCategoryEntity, + ) + }, + onRemoveDiscountClicked = { + payBillViewModelV2.onRemoveDiscountClicked() + naviBbpsAnalytics.onRemoveDiscountClicked( + offerDataList = offerDataList, + source = source, + initialSource = initialSource, + coinBurnData = coinBurnData, + sessionAttribute = + payBillViewModelV2 + .getNaviBbpsSessionAttributes(), + billCategoryEntity = billCategoryEntity, + ) + }, isAppliedDiscountClicked = isCoinDiscountApplied, sortedOfferList = sortedOfferList, onOfferClicked = { @@ -734,14 +756,46 @@ fun PayBillScreenV2( .orEmpty(), coinUtilisationPropertiesV2 = coinUtilisationProperties, - onAppliedDiscountClicked = - payBillViewModelV2:: - onAppliedDiscountClicked, + onAppliedDiscountClicked = { + payBillViewModelV2 + .onAppliedDiscountClicked() + naviBbpsAnalytics + .onAppliedDiscountClicked( + offerDataList = + offerDataList, + source = source, + initialSource = + initialSource, + coinBurnData = + coinBurnData, + sessionAttribute = + payBillViewModelV2 + .getNaviBbpsSessionAttributes(), + billCategoryEntity = + billCategoryEntity, + ) + }, isCoinDiscountAppliedClicked = isCoinDiscountApplied, - onRemoveDiscountClicked = - payBillViewModelV2:: - onRemoveDiscountClicked, + onRemoveDiscountClicked = { + payBillViewModelV2 + .onRemoveDiscountClicked() + naviBbpsAnalytics + .onRemoveDiscountClicked( + offerDataList = + offerDataList, + source = source, + initialSource = + initialSource, + coinBurnData = + coinBurnData, + sessionAttribute = + payBillViewModelV2 + .getNaviBbpsSessionAttributes(), + billCategoryEntity = + billCategoryEntity, + ) + }, offerData = offerDataList, isApplied = paymentAmount