Add duration info to gift row item.

This commit is contained in:
Alex Hart
2022-05-16 13:00:51 -03:00
committed by Cody Henthorne
parent a1025a8e9a
commit a0b89051cf
4 changed files with 15 additions and 3 deletions

View File

@@ -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)
)
}
}

View File

@@ -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)
}
}
}

View File

@@ -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