Skip to content

Commit fae16f7

Browse files
committed
remove temporary pixel on restoring account during ppro purchase
1 parent 2d8ad7b commit fae16f7

File tree

4 files changed

+2
-60
lines changed

4 files changed

+2
-60
lines changed

subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/SubscriptionsManager.kt

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,6 @@ class RealSubscriptionsManager @Inject constructor(
271271
private var purchaseStateJob: Job? = null
272272

273273
private var removeExpiredSubscriptionOnCancelledPurchase: Boolean = false
274-
private var purchaseFlowStartedUsingRestoredAccount: Boolean = false
275274

276275
// Indicates whether the user is part of any FE experiment at the time of purchase
277276
private var experimentAssigned: Experiment? = null
@@ -474,11 +473,6 @@ class RealSubscriptionsManager @Inject constructor(
474473
}
475474
pixelSender.reportPurchaseSuccess()
476475
pixelSender.reportSubscriptionActivated()
477-
if (purchaseFlowStartedUsingRestoredAccount) {
478-
purchaseFlowStartedUsingRestoredAccount = false
479-
val hasEmail = !authRepository.getAccount()?.email.isNullOrBlank()
480-
pixelSender.reportPurchaseWithRestoredAccount(hasEmail)
481-
}
482476
emitEntitlementsValues()
483477
_currentPurchaseState.emit(CurrentPurchase.Success)
484478
} else {
@@ -494,7 +488,6 @@ class RealSubscriptionsManager @Inject constructor(
494488
}
495489

496490
private suspend fun handlePurchaseFailed() {
497-
purchaseFlowStartedUsingRestoredAccount = false
498491
authRepository.purchaseToWaitingStatus()
499492
pixelSender.reportPurchaseFailureBackend()
500493
_currentPurchaseState.emit(CurrentPurchase.Waiting)
@@ -834,20 +827,16 @@ class RealSubscriptionsManager @Inject constructor(
834827
isSignedInV1() -> fetchAndStoreAllData()
835828
}
836829

837-
var restoredAccount = false
838-
839830
if (!isSignedIn()) {
840831
recoverSubscriptionFromStore()
841-
restoredAccount = isSignedIn()
842832
} else {
843833
authRepository.getSubscription()?.run {
844834
if (status.isExpired() && platform == "google") {
845835
// re-authenticate in case previous subscription was bought using different google account
846836
val accountId = authRepository.getAccount()?.externalId
847837
recoverSubscriptionFromStore()
848-
val accountIdChanged = accountId != null && accountId != authRepository.getAccount()?.externalId
849-
removeExpiredSubscriptionOnCancelledPurchase = accountIdChanged
850-
restoredAccount = accountIdChanged
838+
removeExpiredSubscriptionOnCancelledPurchase =
839+
accountId != null && accountId != authRepository.getAccount()?.externalId
851840
}
852841
}
853842
}
@@ -874,8 +863,6 @@ class RealSubscriptionsManager @Inject constructor(
874863
Experiment(experimentName, experimentCohort)
875864
}
876865

877-
purchaseFlowStartedUsingRestoredAccount = restoredAccount
878-
879866
logcat(LogPriority.DEBUG) { "Subs: external id is ${authRepository.getAccount()!!.externalId}" }
880867
_currentPurchaseState.emit(CurrentPurchase.PreFlowFinished)
881868
playBillingManager.launchBillingFlow(
@@ -889,7 +876,6 @@ class RealSubscriptionsManager @Inject constructor(
889876
logcat(LogPriority.ERROR) { "Subs: $error" }
890877
pixelSender.reportPurchaseFailureOther()
891878
_currentPurchaseState.emit(CurrentPurchase.Failure(error))
892-
purchaseFlowStartedUsingRestoredAccount = false
893879
}
894880
}
895881

subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/pixels/SubscriptionPixel.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -201,11 +201,6 @@ enum class SubscriptionPixel(
201201
type = Count,
202202
includedParameters = setOf(ATB, APP_VERSION),
203203
),
204-
SUBSCRIPTION_PURCHASE_WITH_RESTORED_ACCOUNT(
205-
baseName = "m_privacy-pro_app_purchase_with_restored_account",
206-
type = Count,
207-
includedParameters = setOf(APP_VERSION),
208-
),
209204
AUTH_V2_INVALID_REFRESH_TOKEN_DETECTED(
210205
baseName = "m_privacy-pro_auth_invalid_refresh_token_detected",
211206
types = setOf(Count, Daily()),

subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/pixels/SubscriptionPixelSender.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ package com.duckduckgo.subscriptions.impl.pixels
1818

1919
import com.duckduckgo.app.statistics.pixels.Pixel
2020
import com.duckduckgo.appbuildconfig.api.AppBuildConfig
21-
import com.duckduckgo.common.utils.extensions.toBinaryString
2221
import com.duckduckgo.common.utils.extensions.toSanitizedLanguageTag
2322
import com.duckduckgo.di.scopes.AppScope
2423
import com.duckduckgo.subscriptions.impl.freetrial.FreeTrialPrivacyProPixelsPlugin
@@ -67,7 +66,6 @@ import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.SUBSCRIPTION_O
6766
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.SUBSCRIPTION_PRICE_MONTHLY_CLICK
6867
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.SUBSCRIPTION_PRICE_YEARLY_CLICK
6968
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.SUBSCRIPTION_PRIVACY_PRO_REDIRECT
70-
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.SUBSCRIPTION_PURCHASE_WITH_RESTORED_ACCOUNT
7169
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.SUBSCRIPTION_SETTINGS_CHANGE_PLAN_OR_BILLING_CLICK
7270
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.SUBSCRIPTION_SETTINGS_REMOVE_FROM_DEVICE_CLICK
7371
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.SUBSCRIPTION_SETTINGS_SHOWN
@@ -109,7 +107,6 @@ interface SubscriptionPixelSender {
109107
fun reportOnboardingFaqClick()
110108
fun reportAddEmailSuccess()
111109
fun reportPrivacyProRedirect()
112-
fun reportPurchaseWithRestoredAccount(hasEmail: Boolean)
113110
fun reportAuthV2InvalidRefreshTokenDetected()
114111
fun reportAuthV2InvalidRefreshTokenSignedOut()
115112
fun reportAuthV2InvalidRefreshTokenRecovered()
@@ -242,9 +239,6 @@ class SubscriptionPixelSenderImpl @Inject constructor(
242239
override fun reportPrivacyProRedirect() =
243240
fire(SUBSCRIPTION_PRIVACY_PRO_REDIRECT)
244241

245-
override fun reportPurchaseWithRestoredAccount(hasEmail: Boolean) =
246-
fire(SUBSCRIPTION_PURCHASE_WITH_RESTORED_ACCOUNT, mapOf("hasEmail" to hasEmail.toBinaryString()))
247-
248242
override fun reportAuthV2InvalidRefreshTokenDetected() {
249243
fire(AUTH_V2_INVALID_REFRESH_TOKEN_DETECTED)
250244
}

subscriptions/subscriptions-impl/src/test/java/com/duckduckgo/subscriptions/impl/RealSubscriptionsManagerTest.kt

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1184,39 +1184,6 @@ class RealSubscriptionsManagerTest(private val authApiV2Enabled: Boolean) {
11841184
}
11851185
}
11861186

1187-
@Test
1188-
fun whenPurchaseIsSuccessfulAndAccountWasRestoredThenPixelIsSent() = runTest {
1189-
givenUserIsNotSignedIn()
1190-
givenPurchaseStored()
1191-
givenStoreLoginSucceeds()
1192-
givenSubscriptionSucceedsWithoutEntitlements(status = EXPIRED.statusName)
1193-
givenConfirmPurchaseSucceeds()
1194-
givenAccessTokenSucceeds()
1195-
givenV2AccessTokenRefreshSucceeds()
1196-
1197-
val purchaseState = MutableSharedFlow<PurchaseState>()
1198-
whenever(playBillingManager.purchaseState).thenReturn(purchaseState)
1199-
1200-
subscriptionsManager.currentPurchaseState.test {
1201-
purchase()
1202-
assertTrue(awaitItem() is CurrentPurchase.PreFlowInProgress)
1203-
assertTrue(awaitItem() is CurrentPurchase.PreFlowFinished)
1204-
1205-
purchaseState.emit(PurchaseState.Purchased("any", "any"))
1206-
givenSubscriptionSucceedsWithEntitlements()
1207-
1208-
assertTrue(awaitItem() is CurrentPurchase.InProgress)
1209-
assertTrue(awaitItem() is CurrentPurchase.Success)
1210-
1211-
verify(pixelSender).reportPurchaseSuccess()
1212-
verify(pixelSender).reportPurchaseWithRestoredAccount(any())
1213-
verify(pixelSender).reportSubscriptionActivated()
1214-
verifyNoMoreInteractions(pixelSender)
1215-
1216-
cancelAndConsumeRemainingEvents()
1217-
}
1218-
}
1219-
12201187
@Test
12211188
fun whenPurchaseFailsThenPixelIsSent() = runTest {
12221189
givenUserIsSignedIn()

0 commit comments

Comments
 (0)