diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/Badges.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/Badges.kt index 98fb35fa0..48f4b887c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/Badges.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/Badges.kt @@ -19,6 +19,7 @@ import org.thoughtcrime.securesms.util.ScreenDensity import org.whispersystems.signalservice.api.profiles.SignalServiceProfile import java.math.BigDecimal import java.sql.Timestamp +import java.util.concurrent.TimeUnit object Badges { @@ -93,7 +94,8 @@ object Badges { Uri.parse(badge.imageUrl), badge.imageDensity, badge.expiration, - badge.visible + badge.visible, + 0L ) } @@ -122,7 +124,8 @@ object Badges { uriAndDensity.first(), uriAndDensity.second(), serviceBadge.expiration?.let { getTimestamp(it) } ?: 0, - serviceBadge.isVisible + serviceBadge.isVisible, + TimeUnit.SECONDS.toMillis(serviceBadge.duration) ) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/flow/GiftRowItem.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/flow/GiftRowItem.kt index efccff3f9..bd5cc30a4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/flow/GiftRowItem.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/flow/GiftRowItem.kt @@ -12,6 +12,7 @@ import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.visible +import java.util.concurrent.TimeUnit /** * A line item for gifts, displayed in the Gift flow's start and confirmation fragments. @@ -40,13 +41,18 @@ object GiftRowItem { badgeView.setBadge(model.giftBadge) titleView.text = model.giftBadge.name taglineView.setText(R.string.GiftRowItem__send_a_gift_badge) - priceView.text = FiatMoneyUtil.format( + + val price = FiatMoneyUtil.format( context.resources, model.price, FiatMoneyUtil.formatOptions() .trimZerosAfterDecimal() .withDisplayTime(false) ) + + val duration = TimeUnit.MILLISECONDS.toDays(model.giftBadge.duration) + + priceView.text = context.getString(R.string.GiftRowItem__s_dot_d_day_duration, price, duration) } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/models/Badge.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/models/Badge.kt index 6ce81ca92..413481ff2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/models/Badge.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/models/Badge.kt @@ -35,6 +35,7 @@ data class Badge( val imageDensity: String, val expirationTimestamp: Long, val visible: Boolean, + val duration: Long ) : Parcelable, Key { fun isExpired(): Boolean = expirationTimestamp < System.currentTimeMillis() && expirationTimestamp > 0 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f1f7615c4..e3229cef7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4764,6 +4764,8 @@ View more Visit link + + %1$s ยท %2$d day duration Send a gift badge