mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-19 19:28:26 +00:00
Legacy expiration type ui default tweaks
This commit is contained in:
parent
23c881f3ce
commit
48a99a85c3
@ -34,8 +34,8 @@ class ExpirationSettingsViewModel(
|
||||
private val _recipient = MutableStateFlow<Recipient?>(null)
|
||||
val recipient: StateFlow<Recipient?> = _recipient
|
||||
|
||||
private val _selectedExpirationType = MutableStateFlow<Int?>(null)
|
||||
val selectedExpirationType: StateFlow<Int?> = _selectedExpirationType
|
||||
private val _selectedExpirationType = MutableStateFlow(-1)
|
||||
val selectedExpirationType: StateFlow<Int> = _selectedExpirationType
|
||||
|
||||
private val _selectedExpirationTimer = MutableStateFlow(afterSendOptions.firstOrNull())
|
||||
val selectedExpirationTimer: StateFlow<RadioOption?> = _selectedExpirationTimer
|
||||
@ -52,7 +52,16 @@ class ExpirationSettingsViewModel(
|
||||
if (ExpirationConfiguration.isNewConfigEnabled && (recipient?.isLocalNumber == true || recipient?.isClosedGroupRecipient == true)) {
|
||||
_selectedExpirationType.value = ExpirationType.DELETE_AFTER_SEND.number
|
||||
} else {
|
||||
_selectedExpirationType.value = expirationConfig?.expirationTypeValue
|
||||
_selectedExpirationType.value = expirationConfig?.expirationTypeValue ?: -1
|
||||
}
|
||||
_selectedExpirationType.value = if (ExpirationConfiguration.isNewConfigEnabled) {
|
||||
if (recipient?.isLocalNumber == true || recipient?.isClosedGroupRecipient == true) {
|
||||
ExpirationType.DELETE_AFTER_SEND.number
|
||||
} else {
|
||||
expirationConfig?.expirationTypeValue ?: -1
|
||||
}
|
||||
} else {
|
||||
expirationConfig?.expirationTypeValue?.let { 0 /* Legacy */ } ?: -1
|
||||
}
|
||||
_selectedExpirationTimer.value = when(expirationConfig?.expirationType) {
|
||||
ExpirationType.DELETE_AFTER_SEND -> afterSendOptions.find { it.value.toIntOrNull() == expirationConfig?.durationSeconds }
|
||||
@ -76,7 +85,7 @@ class ExpirationSettingsViewModel(
|
||||
}
|
||||
|
||||
fun onExpirationTypeSelected(option: RadioOption) {
|
||||
_selectedExpirationType.value = option.value.toIntOrNull()
|
||||
_selectedExpirationType.value = option.value.toIntOrNull() ?: -1
|
||||
}
|
||||
|
||||
fun onExpirationTimerSelected(option: RadioOption) {
|
||||
|
@ -5,11 +5,11 @@ import org.session.libsignal.protos.SignalServiceProtos.Content.ExpirationType
|
||||
class ExpirationConfiguration(
|
||||
val threadId: Long = -1,
|
||||
val durationSeconds: Int = 0,
|
||||
val expirationTypeValue: Int? = null,
|
||||
val expirationTypeValue: Int = -1,
|
||||
val updatedTimestampMs: Long = 0
|
||||
) {
|
||||
val isEnabled = durationSeconds > 0
|
||||
val expirationType = expirationTypeValue?.let { ExpirationType.valueOf(it) }
|
||||
val expirationType: ExpirationType? = ExpirationType.valueOf(expirationTypeValue)
|
||||
|
||||
companion object {
|
||||
val isNewConfigEnabled = System.currentTimeMillis() > 1_674_000_000_000 // 18/01/2023
|
||||
|
@ -98,7 +98,7 @@ fun updateExpirationConfigurationIfNeeded(message: Message, proto: SignalService
|
||||
val remoteConfig = ExpirationConfiguration(
|
||||
threadID,
|
||||
durationSeconds,
|
||||
type?.number,
|
||||
type?.number ?: -1,
|
||||
proto.lastDisappearingMessageChangeTimestamp
|
||||
)
|
||||
storage.setExpirationConfiguration(remoteConfig)
|
||||
|
Loading…
x
Reference in New Issue
Block a user