diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/FiatMoneyUtil.java b/app/src/main/java/org/thoughtcrime/securesms/payments/FiatMoneyUtil.java index 1eccc315a..54f38fbb8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/FiatMoneyUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/FiatMoneyUtil.java @@ -77,7 +77,7 @@ public class FiatMoneyUtil { return this; } - public @NonNull FormatOptions withoutSymbol() { + public @NonNull FormatOptions numberOnly() { this.withSymbol = false; return this; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/create/CreatePaymentFragment.java b/app/src/main/java/org/thoughtcrime/securesms/payments/create/CreatePaymentFragment.java index 65078cae1..a03dc6348 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/create/CreatePaymentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/create/CreatePaymentFragment.java @@ -119,7 +119,7 @@ public class CreatePaymentFragment extends LoggingFragment { Navigation.findNavController(v).navigate(directions); }); - toggle.setOnClickListener(v -> viewModel.toggleMoneyInputTarget(requireContext())); + toggle.setOnClickListener(v -> viewModel.toggleMoneyInputTarget()); initializeConstraintSets(); initializeKeyboardButtons(view, viewModel); @@ -207,9 +207,7 @@ public class CreatePaymentFragment extends LoggingFragment { case FIAT_MONEY: Currency currency = inputState.getFiatMoney().get().getCurrency(); exchange.setText(new SpannableStringBuilder().append(currency.getSymbol()) - .append(inputState.getFiatAmount()) - .append(SpanUtil.color(ContextCompat.getColor(requireContext(), R.color.payment_currency_code_foreground_color), - currency.getCurrencyCode()))); + .append(inputState.getFiatAmount())); break; } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/create/CreatePaymentViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/payments/create/CreatePaymentViewModel.java index 01e0e1b04..c8fda90e7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/create/CreatePaymentViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/create/CreatePaymentViewModel.java @@ -118,8 +118,8 @@ public class CreatePaymentViewModel extends ViewModel { }); } - void toggleMoneyInputTarget(@NonNull Context context) { - inputState.update(s -> trimFiatAfterToggle(updateAmount(context, s.updateInputTarget(s.getInputTarget().next()), AmountKeyboardGlyph.NONE))); + void toggleMoneyInputTarget() { + inputState.update(s -> s.updateInputTarget(s.getInputTarget().next())); } void setNote(@Nullable CharSequence note) { @@ -141,23 +141,6 @@ public class CreatePaymentViewModel extends ViewModel { } } - private @NonNull InputState trimFiatAfterToggle(@NonNull InputState inputState) { - if (inputState.getInputTarget() == FIAT_MONEY) { - String fiatAmount = inputState.getFiatAmount(); - FiatMoney fiatMoney = inputState.getFiatMoney().get(); - - if (fiatMoney.getAmount().equals(BigDecimal.ZERO)) { - return inputState.updateFiatAmount("0"); - } else if (fiatAmount.contains(ApplicationDependencies.getApplication().getString(AmountKeyboardGlyph.DECIMAL.getGlyphRes()))) { - return inputState.updateFiatAmount(inputState.getFiatAmount().replaceFirst("\\.*0+$", "")); - } else { - return inputState; - } - } else { - return inputState; - } - } - private @NonNull InputState updateFiatAmount(@NonNull Context context, @NonNull InputState inputState, @NonNull AmountKeyboardGlyph glyph, @@ -178,7 +161,7 @@ public class CreatePaymentViewModel extends ViewModel { String newMoneyAmount = updateAmountString(context, inputState.getMoneyAmount(), glyph, inputState.getMoney().getCurrency().getDecimalPrecision()); Money newMoney = stringToMobileCoinValueOrZero(newMoneyAmount); Optional newFiat = OptionalUtil.flatMap(inputState.getExchangeRate(), e -> e.exchange(newMoney)); - String newFiatAmount = newFiat.transform(f -> FiatMoneyUtil.format(context.getResources(), f, FiatMoneyUtil.formatOptions().withDisplayTime(false).withoutSymbol())).or("0"); + String newFiatAmount = newFiat.transform(f -> FiatMoneyUtil.format(context.getResources(), f, FiatMoneyUtil.formatOptions().withDisplayTime(false).numberOnly())).or("0"); return inputState.updateAmount(newMoneyAmount, newFiatAmount, newMoney, newFiat); }