Fix crash when user local can't resolve to a currency in post-restore job.

This commit is contained in:
Alex Hart
2026-01-30 15:00:19 -04:00
committed by Greyson Parrelli
parent a11888ff71
commit 3a035a1b33

View File

@@ -26,7 +26,6 @@ import org.thoughtcrime.securesms.recipients.Recipient
import org.whispersystems.signalservice.internal.push.SubscriptionsConfiguration import org.whispersystems.signalservice.internal.push.SubscriptionsConfiguration
import java.math.BigDecimal import java.math.BigDecimal
import java.util.Currency import java.util.Currency
import java.util.Locale
import kotlin.concurrent.withLock import kotlin.concurrent.withLock
/** /**
@@ -94,7 +93,7 @@ class PostRegistrationBackupRedemptionJob : CoroutineJob {
info("Attempting to grab price information for records...") info("Attempting to grab price information for records...")
val subscription = RecurringInAppPaymentRepository.getActiveSubscriptionSync(InAppPaymentSubscriberRecord.Type.BACKUP).successOrNull()?.activeSubscription val subscription = RecurringInAppPaymentRepository.getActiveSubscriptionSync(InAppPaymentSubscriberRecord.Type.BACKUP).successOrNull()?.activeSubscription
val emptyPrice = FiatMoney(BigDecimal.ZERO, Currency.getInstance(Locale.getDefault())) val emptyPrice = FiatMoney(BigDecimal.ZERO, SignalStore.inAppPayments.getOneTimeCurrency())
val price: FiatMoney = if (subscription != null) { val price: FiatMoney = if (subscription != null) {
FiatMoney.fromSignalNetworkAmount(subscription.amount, Currency.getInstance(subscription.currency)) FiatMoney.fromSignalNetworkAmount(subscription.amount, Currency.getInstance(subscription.currency))
} else if (AppDependencies.billingApi.getApiAvailability().isSuccess) { } else if (AppDependencies.billingApi.getApiAvailability().isSuccess) {