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