NTP-68061 | p2c auto permission pop up experiment removal (#16377)

This commit is contained in:
Shaurya Rehan
2025-05-30 18:46:57 +05:30
committed by GitHub
parent 4c6bcb4ce1
commit 996e0bb086
4 changed files with 8 additions and 43 deletions

View File

@@ -3769,7 +3769,6 @@ constructor(
updateBottomSheetUiState(showBottomSheet = false)
resetPreviousLinkedAccountsSize()
getUpiLiteScreenInfo()
getLiteMandateInfo()
updateUiStateAndResetCheckBalanceState(uiState = UpiLiteUiState.MAIN_SCREEN)
}

View File

@@ -145,9 +145,6 @@ fun PayToContactsScreen(
payToContactsViewModel.frequentOrdersHeading.collectAsStateWithLifecycle()
val shouldShowYourContactsTitle by
payToContactsViewModel.shouldShowYourContactsTitle.collectAsStateWithLifecycle()
val isAutoOpenContactPermissionExperimentEnabled by
payToContactsViewModel.isAutoOpenContactPermissionExperimentEnabled
.collectAsStateWithLifecycle()
val showPermissionWidget by
payToContactsViewModel.showPermissionWidget.collectAsStateWithLifecycle()
@@ -316,17 +313,12 @@ fun PayToContactsScreen(
isContactListEmpty = contactList.isEmpty(),
isFrequentOrderListEmpty = filteredFrequentOrdersList.isEmpty(),
)
}
}
LaunchedEffect(key1 = isAutoOpenContactPermissionExperimentEnabled) {
if (
isAutoOpenContactPermissionExperimentEnabled &&
!payToContactsViewModel.isPermissionPopupSeenOnLanded
) {
payToContactsViewModel.onPermissionPopupSeenOnLanded()
payToContactsViewModel.onPermissionLaunchedFromAllowClick(isFromAllowClick = false)
readContactsPermissionsState.launchMultiplePermissionRequest()
if (!payToContactsViewModel.isPermissionPopupSeenOnLanded) {
payToContactsViewModel.onPermissionPopupSeenOnLanded()
payToContactsViewModel.onPermissionLaunchedFromAllowClick(isFromAllowClick = false)
readContactsPermissionsState.launchMultiplePermissionRequest()
}
}
}

View File

@@ -17,7 +17,6 @@ import com.navi.common.constants.EMPTY
import com.navi.common.extensions.removeSpaces
import com.navi.common.network.models.RepoResult
import com.navi.common.network.models.isSuccessWithData
import com.navi.common.usecase.LitmusExperimentsUseCase
import com.navi.pay.R
import com.navi.pay.analytics.NaviPayAnalytics.Companion.NAVI_PAY_SEND_MONEY_TO_CONTACTS_SCREEN_V2
import com.navi.pay.analytics.NaviPayToContacts
@@ -50,11 +49,9 @@ import com.navi.pay.tstore.list.model.view.FrequentOrderEntity
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.LITMUS_EXPERIMENT_AUTO_OPEN_CONTACT_PERMISSION
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.NaviPayExperimentVariantType
import com.navi.pay.utils.PHONE_NUMBER_LENGTH
import com.navi.pay.utils.isValidPhoneNumberLength
import com.navi.pay.utils.isValidSearchQuery
@@ -74,6 +71,7 @@ import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.stateIn
import kotlinx.coroutines.flow.update
import kotlinx.coroutines.launch
@@ -91,7 +89,6 @@ constructor(
private val validateVpaUseCase: ValidateVpaUseCase,
private val naviPayActivityDataProvider: NaviPayActivityDataProvider,
private val naviPayAnalytics: NaviPayToContacts,
private val litmusExperimentsUseCase: LitmusExperimentsUseCase,
) : NaviPayBaseVM() {
private var naviPayDefaultConfig = NaviPayDefaultConfig()
@@ -142,17 +139,9 @@ constructor(
MutableStateFlow<NaviPermissionResult>(NaviPermissionResult.None)
val permissionResult = _permissionResult.asStateFlow()
private val _isAutoOpenContactPermissionExperimentEnabled = MutableStateFlow(false)
val isAutoOpenContactPermissionExperimentEnabled =
_isAutoOpenContactPermissionExperimentEnabled.asStateFlow()
val showPermissionWidget =
combine(permissionResult, isAutoOpenContactPermissionExperimentEnabled) {
permissionResult,
isAutoOpenContactPermissionExperimentEnabled ->
permissionResult != NaviPermissionResult.None ||
!isAutoOpenContactPermissionExperimentEnabled
}
permissionResult
.map { permissionResult != NaviPermissionResult.None }
.flowOn(Dispatchers.IO)
.stateIn(
scope = viewModelScope,
@@ -281,7 +270,6 @@ constructor(
private suspend fun initializeSynchronously() {
updateNaviPaySessionId()
updateNaviPayDefaultConfig()
setLitmusExperimentValues()
}
private suspend fun initializeAsynchronously() {
@@ -292,18 +280,6 @@ constructor(
}
}
private suspend fun setLitmusExperimentValues() {
_isAutoOpenContactPermissionExperimentEnabled.update {
val autoOpenContactPermissionExperimentVariant =
litmusExperimentsUseCase
.execute(experimentName = LITMUS_EXPERIMENT_AUTO_OPEN_CONTACT_PERMISSION)
?.variant
autoOpenContactPermissionExperimentVariant?.name ==
NaviPayExperimentVariantType.TEST.value &&
autoOpenContactPermissionExperimentVariant.enabled
}
}
private fun triggerEventForShortcutWidget() {
naviPayActivityDataProvider.getIntentData()?.getString(NAVI_PAY_WIDGET_CLICKED_KEY)?.let {
naviPayAnalytics.onSendToContactShortcutClicked(

View File

@@ -191,7 +191,6 @@ const val LITMUS_EXPERIMENT_NAVI_IPL_POWERPLAY = "hpc-Navi-Powerplay"
const val LITMUS_EXPERIMENT_NAVIPAY_OFFER_EXPERIENCE = "NaviPay-offer-experience"
const val LITMUS_EXPERIMENT_NAVIPAY_HIGHLIGHT_NEW_PAYEE = "NaviPay-exp-highlight-new-payee"
const val LITMUS_EXPERIMENT_NAVIPAY_PAYMENT_RETRY_EXPERIENCE = "NaviPay-payment-retry-experience"
const val LITMUS_EXPERIMENT_AUTO_OPEN_CONTACT_PERMISSION = "NaviPay-auto-open-contact-permission"
const val LITMUS_EXPERIMENT_NAVIPAY_LITE_PPS = "NaviPay-exp-lite-pps"
const val LITMUS_EXPERIMENT_NAVIPAY_REVERSE_SMS_BINDING = "NaviPay-exp-reverse-sms-binding"
const val LITMUS_EXPERIMENT_NAVIPAY_RCC_LANDING_EXP = "NaviPay-rcc-landing-experience"
@@ -207,7 +206,6 @@ val NAVI_PAY_LITMUS_EXPERIMENTS =
LITMUS_EXPERIMENT_NAVIPAY_NAVI_POWER_PLAY,
LITMUS_EXPERIMENT_NAVI_IPL_POWERPLAY,
LITMUS_EXPERIMENT_NAVIPAY_PAYMENT_RETRY_EXPERIENCE,
LITMUS_EXPERIMENT_AUTO_OPEN_CONTACT_PERMISSION,
LITMUS_EXPERIMENT_NAVIPAY_REVERSE_SMS_BINDING,
LITMUS_EXPERIMENT_NAVIPAY_RCC_LANDING_EXP,
LITMUS_EXPERIMENT_NAVIPAY_LITE_PPS,