Respect server currency lists for subscriptions and badges.

This commit is contained in:
Alex Hart
2021-11-03 11:30:07 -03:00
committed by Greyson Parrelli
parent c06fb81490
commit 2a9eb1bae0
18 changed files with 162 additions and 78 deletions

View File

@@ -13,6 +13,7 @@ import org.thoughtcrime.securesms.util.DateUtils
import org.thoughtcrime.securesms.util.MappingAdapter
import org.thoughtcrime.securesms.util.MappingViewHolder
import org.thoughtcrime.securesms.util.visible
import java.util.Currency
import java.util.Locale
/**
@@ -22,7 +23,7 @@ data class Subscription(
val id: String,
val name: String,
val badge: Badge,
val price: FiatMoney,
val prices: Set<FiatMoney>,
val level: Int,
) {
@@ -39,7 +40,8 @@ data class Subscription(
val willRenew: Boolean,
override val isEnabled: Boolean,
val onClick: () -> Unit,
val renewalTimestamp: Long
val renewalTimestamp: Long,
val selectedCurrency: Currency
) : PreferenceModel<Model>(isEnabled = isEnabled) {
override fun areItemsTheSame(newItem: Model): Boolean {
@@ -52,7 +54,8 @@ data class Subscription(
newItem.isSelected == isSelected &&
newItem.isActive == isActive &&
newItem.renewalTimestamp == renewalTimestamp &&
newItem.willRenew == willRenew
newItem.willRenew == willRenew &&
newItem.selectedCurrency == selectedCurrency
}
override fun getChangePayload(newItem: Model): Any? {
@@ -86,7 +89,7 @@ data class Subscription(
val formattedPrice = FiatMoneyUtil.format(
context.resources,
model.subscription.price,
model.subscription.prices.first { it.currency == model.selectedCurrency },
FiatMoneyUtil.formatOptions()
)