Simplify ExpirationDialog

This commit is contained in:
andrew 2023-06-26 10:58:08 +09:30
parent 20eac67761
commit 97297508f4
1 changed files with 3 additions and 5 deletions

View File

@ -9,7 +9,7 @@ import network.loki.messenger.R
import org.session.libsession.utilities.ExpirationUtil import org.session.libsession.utilities.ExpirationUtil
fun Context.showExpirationDialog( fun Context.showExpirationDialog(
currentExpiration: Int, expiration: Int,
onExpirationTime: (Int) -> Unit onExpirationTime: (Int) -> Unit
): AlertDialog { ): AlertDialog {
val view = LayoutInflater.from(this).inflate(R.layout.expiration_dialog, null) val view = LayoutInflater.from(this).inflate(R.layout.expiration_dialog, null)
@ -30,14 +30,12 @@ fun Context.showExpirationDialog(
.map { ExpirationUtil.getExpirationDisplayValue(this, it) } .map { ExpirationUtil.getExpirationDisplayValue(this, it) }
.toTypedArray() .toTypedArray()
val selectedIndex = expirationTimes.withIndex() val selectedIndex = expirationTimes.run { indexOfFirst { it >= expiration }.coerceIn(indices) }
.firstOrNull { it.value >= currentExpiration }?.index
?: (expirationTimes.size - 1)
numberPickerView.apply { numberPickerView.apply {
displayedValues = expirationDisplayValues displayedValues = expirationDisplayValues
minValue = 0 minValue = 0
maxValue = expirationTimes.size - 1 maxValue = expirationTimes.lastIndex
setOnValueChangedListener { _, _, index -> updateText(index) } setOnValueChangedListener { _, _, index -> updateText(index) }
value = selectedIndex value = selectedIndex
} }