Display descriptive error using payment data instead of generic error.
This commit is contained in:
parent
64ad33b959
commit
6315c4e2e8
3 changed files with 6 additions and 4 deletions
|
@ -154,6 +154,7 @@ object InAppPaymentsRepository {
|
|||
return Completable.fromAction {
|
||||
val inAppPayment = SignalDatabase.inAppPayments.getById(inAppPaymentId)!!
|
||||
if (inAppPayment.data.error == null) {
|
||||
Log.d(TAG, "Setting error on InAppPayment[$inAppPaymentId]")
|
||||
SignalDatabase.inAppPayments.update(
|
||||
inAppPayment.copy(
|
||||
notified = false,
|
||||
|
|
|
@ -9,6 +9,7 @@ import org.signal.donations.PaymentSourceType
|
|||
import org.thoughtcrime.securesms.badges.models.Badge
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.DonationSerializationHelper.toFiatMoney
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.boost.Boost
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.donate.InAppPaymentError
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.errors.DonationError
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.errors.DonationError.BadgeRedemptionError
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.errors.DonationErrorSource
|
||||
|
@ -137,8 +138,8 @@ class OneTimeInAppPaymentRepository(private val donationsService: DonationsServi
|
|||
}.take(1).firstOrError().timeout(10, TimeUnit.SECONDS, Single.error(timeoutError))
|
||||
}.map {
|
||||
if (it.data.error != null) {
|
||||
Log.d(TAG, "Failure during redemption chain.", true)
|
||||
throw DonationError.genericBadgeRedemptionFailure(DonationErrorSource.MONTHLY)
|
||||
Log.d(TAG, "Failure during redemption chain: ${it.data.error}", true)
|
||||
throw InAppPaymentError(it.data.error)
|
||||
}
|
||||
it
|
||||
}.ignoreElement()
|
||||
|
|
|
@ -11,7 +11,7 @@ import org.thoughtcrime.securesms.badges.Badges
|
|||
import org.thoughtcrime.securesms.components.settings.app.subscription.InAppPaymentsRepository.requireSubscriberType
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.InAppPaymentsRepository.toErrorSource
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.InAppPaymentsRepository.toPaymentSourceType
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.errors.DonationError
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.donate.InAppPaymentError
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.errors.DonationError.BadgeRedemptionError
|
||||
import org.thoughtcrime.securesms.database.InAppPaymentTable
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
|
@ -247,7 +247,7 @@ object RecurringInAppPaymentRepository {
|
|||
}.take(1).map {
|
||||
if (it.data.error != null) {
|
||||
Log.d(TAG, "Failure during redemption chain: ${it.data.error}", true)
|
||||
throw DonationError.genericBadgeRedemptionFailure(errorSource)
|
||||
throw InAppPaymentError(it.data.error)
|
||||
}
|
||||
it
|
||||
}.firstOrError()
|
||||
|
|
Loading…
Add table
Reference in a new issue