Implement default times

pull/1313/head
andrew 10 months ago
parent 4e424384be
commit 58c4467749

@ -62,7 +62,6 @@ import org.thoughtcrime.securesms.ui.Divider
import org.thoughtcrime.securesms.ui.LocalExtraColors
import org.thoughtcrime.securesms.ui.PreviewTheme
import org.thoughtcrime.securesms.ui.ThemeResPreviewParameterProvider
import org.thoughtcrime.securesms.util.ConfigurationMessageUtilities
import javax.inject.Inject
import kotlin.math.min

@ -111,8 +111,18 @@ class ExpirationSettingsViewModel(
}
}
/**
* When enabling Disappearing Messages (for screens which provide the `Delete Type` options) the default `Timer` selection should be:
* Disappear After Read: `12 Hours`
* Disappear After Send: `1 Day`
* Legacy: `1 Day`
* */
override fun setType(type: ExpiryType) {
_state.update { it.copy(expiryMode = type.mode(0)) }
if (state.value.expiryType == type) return
_state.update {
it.copy(expiryMode = type.defaultMode())
}
}
override fun setTime(seconds: Long) {
@ -300,6 +310,11 @@ enum class ExpiryType(private val createMode: (Long) -> ExpiryMode) {
AFTER_READ(ExpiryMode::AfterRead);
fun mode(seconds: Long) = createMode(seconds)
fun defaultMode() = when(this) {
AFTER_READ -> 43200L
else -> 86400L
}.let { mode(it) }
}
private val ExpiryMode.type: ExpiryType get() = when(this) {

Loading…
Cancel
Save