mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-29 21:22:15 +01:00
Display descriptive error using payment data instead of generic error.
This commit is contained in:
committed by
Greyson Parrelli
parent
64ad33b959
commit
6315c4e2e8
@@ -154,6 +154,7 @@ object InAppPaymentsRepository {
|
|||||||
return Completable.fromAction {
|
return Completable.fromAction {
|
||||||
val inAppPayment = SignalDatabase.inAppPayments.getById(inAppPaymentId)!!
|
val inAppPayment = SignalDatabase.inAppPayments.getById(inAppPaymentId)!!
|
||||||
if (inAppPayment.data.error == null) {
|
if (inAppPayment.data.error == null) {
|
||||||
|
Log.d(TAG, "Setting error on InAppPayment[$inAppPaymentId]")
|
||||||
SignalDatabase.inAppPayments.update(
|
SignalDatabase.inAppPayments.update(
|
||||||
inAppPayment.copy(
|
inAppPayment.copy(
|
||||||
notified = false,
|
notified = false,
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import org.signal.donations.PaymentSourceType
|
|||||||
import org.thoughtcrime.securesms.badges.models.Badge
|
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.DonationSerializationHelper.toFiatMoney
|
||||||
import org.thoughtcrime.securesms.components.settings.app.subscription.boost.Boost
|
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
|
||||||
import org.thoughtcrime.securesms.components.settings.app.subscription.errors.DonationError.BadgeRedemptionError
|
import org.thoughtcrime.securesms.components.settings.app.subscription.errors.DonationError.BadgeRedemptionError
|
||||||
import org.thoughtcrime.securesms.components.settings.app.subscription.errors.DonationErrorSource
|
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))
|
}.take(1).firstOrError().timeout(10, TimeUnit.SECONDS, Single.error(timeoutError))
|
||||||
}.map {
|
}.map {
|
||||||
if (it.data.error != null) {
|
if (it.data.error != null) {
|
||||||
Log.d(TAG, "Failure during redemption chain.", true)
|
Log.d(TAG, "Failure during redemption chain: ${it.data.error}", true)
|
||||||
throw DonationError.genericBadgeRedemptionFailure(DonationErrorSource.MONTHLY)
|
throw InAppPaymentError(it.data.error)
|
||||||
}
|
}
|
||||||
it
|
it
|
||||||
}.ignoreElement()
|
}.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.requireSubscriberType
|
||||||
import org.thoughtcrime.securesms.components.settings.app.subscription.InAppPaymentsRepository.toErrorSource
|
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.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.components.settings.app.subscription.errors.DonationError.BadgeRedemptionError
|
||||||
import org.thoughtcrime.securesms.database.InAppPaymentTable
|
import org.thoughtcrime.securesms.database.InAppPaymentTable
|
||||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||||
@@ -247,7 +247,7 @@ object RecurringInAppPaymentRepository {
|
|||||||
}.take(1).map {
|
}.take(1).map {
|
||||||
if (it.data.error != null) {
|
if (it.data.error != null) {
|
||||||
Log.d(TAG, "Failure during redemption chain: ${it.data.error}", true)
|
Log.d(TAG, "Failure during redemption chain: ${it.data.error}", true)
|
||||||
throw DonationError.genericBadgeRedemptionFailure(errorSource)
|
throw InAppPaymentError(it.data.error)
|
||||||
}
|
}
|
||||||
it
|
it
|
||||||
}.firstOrError()
|
}.firstOrError()
|
||||||
|
|||||||
Reference in New Issue
Block a user