From 9434894dff387e2093e5f20d8a449e240ec97774 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Thu, 2 Dec 2021 13:38:02 -0400 Subject: [PATCH] Add additional logging around boost amounts. --- .../app/subscription/DonationPaymentRepository.kt | 6 +++--- .../settings/app/subscription/boost/BoostViewModel.kt | 2 ++ .../java/org/signal/core/util/money/FiatMoney.java | 11 ++++++++++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/DonationPaymentRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/DonationPaymentRepository.kt index cd4d49f394..8951feaa88 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/DonationPaymentRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/DonationPaymentRepository.kt @@ -86,11 +86,11 @@ class DonationPaymentRepository(activity: Activity) : StripeApi.PaymentIntentFet } fun continuePayment(price: FiatMoney, paymentData: PaymentData): Completable { - Log.d(TAG, "Creating payment intent...", true) + Log.d(TAG, "Creating payment intent for $price...", true) return stripeApi.createPaymentIntent(price, application.getString(R.string.Boost__thank_you_for_your_donation)) .onErrorResumeNext { Single.error(DonationExceptions.SetupFailed(it)) } .flatMapCompletable { result -> - Log.d(TAG, "Created payment intent.", true) + Log.d(TAG, "Created payment intent for $price.", true) when (result) { is StripeApi.CreatePaymentIntentResult.AmountIsTooSmall -> Completable.error(DonationExceptions.SetupFailed(Exception("Boost amount is too small"))) is StripeApi.CreatePaymentIntentResult.AmountIsTooLarge -> Completable.error(DonationExceptions.SetupFailed(Exception("Boost amount is too large"))) @@ -277,7 +277,7 @@ class DonationPaymentRepository(activity: Activity) : StripeApi.PaymentIntentFet } override fun fetchPaymentIntent(price: FiatMoney, description: String?): Single { - Log.d(TAG, "Fetching payment intent from Signal service...") + Log.d(TAG, "Fetching payment intent from Signal service for $price... (Locale.US minimum precision: ${price.minimumUnitPrecisionString})") return ApplicationDependencies .getDonationsService() .createDonationIntentWithAmount(price.minimumUnitPrecisionString, price.currency.currencyCode, description) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostViewModel.kt index a99b442cbc..66c5e5d6ea 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostViewModel.kt @@ -179,8 +179,10 @@ class BoostViewModel( store.update { it.copy(stage = BoostState.Stage.TOKEN_REQUEST) } val boost = if (snapshot.isCustomAmountFocused) { + Log.d(TAG, "Boosting with custom amount ${snapshot.customAmount}") Boost(snapshot.customAmount) } else { + Log.d(TAG, "Boosting with preset amount ${snapshot.selectedBoost.price}") snapshot.selectedBoost } diff --git a/core-util/src/main/java/org/signal/core/util/money/FiatMoney.java b/core-util/src/main/java/org/signal/core/util/money/FiatMoney.java index b0d4519b00..c197596ab6 100644 --- a/core-util/src/main/java/org/signal/core/util/money/FiatMoney.java +++ b/core-util/src/main/java/org/signal/core/util/money/FiatMoney.java @@ -62,7 +62,7 @@ public class FiatMoney { NumberFormat formatter = NumberFormat.getInstance(Locale.US); formatter.setMaximumFractionDigits(0); formatter.setGroupingUsed(false); - + BigDecimal multiplicand = BigDecimal.TEN.pow(currency.getCurrencyCode().equals("UGX") ? 2 : currency.getDefaultFractionDigits()); return formatter.format(amount.multiply(multiplicand)); @@ -73,4 +73,13 @@ public class FiatMoney { Objects.equals(left.currency, right.currency) && Objects.equals(left.timestamp, right.timestamp); } + + @Override + public String toString() { + return "FiatMoney{" + + "amount=" + amount + + ", currency=" + currency + + ", timestamp=" + timestamp + + '}'; + } }