Utilize the correct method for converting signal service amount to fiat money.

This commit is contained in:
Alex Hart
2025-08-06 14:39:17 -03:00
committed by Cody Henthorne
parent 7d35e685b2
commit 0df5ec458b

View File

@@ -7,14 +7,14 @@ package org.thoughtcrime.securesms.jobs
import okio.ByteString.Companion.toByteString
import org.signal.core.util.logging.Log
import org.signal.core.util.money.FiatMoney
import org.thoughtcrime.securesms.badges.Badges
import org.thoughtcrime.securesms.components.settings.app.subscription.DonationSerializationHelper.toDecimalValue
import org.thoughtcrime.securesms.components.settings.app.subscription.DonationSerializationHelper.toFiatValue
import org.thoughtcrime.securesms.components.settings.app.subscription.InAppPaymentsRepository
import org.thoughtcrime.securesms.components.settings.app.subscription.InAppPaymentsRepository.toPaymentSourceType
import org.thoughtcrime.securesms.database.InAppPaymentTable
import org.thoughtcrime.securesms.database.SignalDatabase
import org.thoughtcrime.securesms.database.model.InAppPaymentSubscriberRecord
import org.thoughtcrime.securesms.database.model.databaseprotos.FiatValue
import org.thoughtcrime.securesms.database.model.databaseprotos.InAppPaymentData
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.jobmanager.Job
@@ -24,6 +24,7 @@ import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.whispersystems.signalservice.api.subscriptions.ActiveSubscription
import org.whispersystems.signalservice.internal.EmptyResponse
import org.whispersystems.signalservice.internal.ServiceResponse
import java.util.Currency
import java.util.Locale
import kotlin.concurrent.withLock
import kotlin.jvm.optionals.getOrNull
@@ -284,10 +285,7 @@ class InAppPaymentKeepAliveJob private constructor(
inAppPaymentData = InAppPaymentData(
paymentMethodType = newInAppPaymentMethodType,
badge = badge,
amount = FiatValue(
currencyCode = subscription.currency,
amount = subscription.amount.toDecimalValue()
),
amount = FiatMoney.fromSignalNetworkAmount(subscription.amount, Currency.getInstance(subscription.currency)).toFiatValue(),
error = null,
level = subscription.level.toLong(),
cancellation = null,