Add support and tracking of ChargeFailure in ActiveSubscription.

This commit is contained in:
Alex Hart
2022-04-18 16:37:12 -03:00
committed by GitHub
parent 159d67ec59
commit 115f7063d5
7 changed files with 125 additions and 13 deletions

View File

@@ -25,7 +25,7 @@ class SubscriptionsRepository(private val donationsService: DonationsService) {
donationsService.getSubscription(localSubscription.subscriberId)
.flatMap(ServiceResponse<ActiveSubscription>::flattenResult)
} else {
Single.just(ActiveSubscription(null))
Single.just(ActiveSubscription.EMPTY)
}
}

View File

@@ -148,7 +148,7 @@ class SubscribeViewModel(
.getActiveSubscription()
.subscribeBy(
onSuccess = { activeSubscriptionSubject.onNext(it) },
onError = { activeSubscriptionSubject.onNext(ActiveSubscription(null)) }
onError = { activeSubscriptionSubject.onNext(ActiveSubscription.EMPTY) }
)
}
@@ -167,6 +167,7 @@ class SubscribeViewModel(
SignalStore.donationsValues().setLastEndOfPeriod(0L)
SignalStore.donationsValues().clearLevelOperations()
SignalStore.donationsValues().shouldCancelSubscriptionBeforeNextSubscribeAttempt = false
SignalStore.donationsValues().setUnexpectedSubscriptionCancelationChargeFailure(null)
SignalStore.donationsValues().unexpectedSubscriptionCancelationReason = null
SignalStore.donationsValues().unexpectedSubscriptionCancelationTimestamp = 0L
MultiDeviceSubscriptionSyncRequestJob.enqueue()
@@ -185,6 +186,7 @@ class SubscribeViewModel(
SignalStore.donationsValues().setLastEndOfPeriod(0L)
SignalStore.donationsValues().clearLevelOperations()
SignalStore.donationsValues().markUserManuallyCancelled()
SignalStore.donationsValues().setUnexpectedSubscriptionCancelationChargeFailure(null)
SignalStore.donationsValues().unexpectedSubscriptionCancelationReason = null
SignalStore.donationsValues().unexpectedSubscriptionCancelationTimestamp = 0L
refreshActiveSubscription()