fix: legacy message deletions working better now

This commit is contained in:
0x330a 2023-01-11 17:25:38 +11:00
parent b6a4fb9024
commit 2048e08c86
No known key found for this signature in database
GPG Key ID: 267811D6E6A2698C
4 changed files with 11 additions and 7 deletions

View File

@ -77,7 +77,7 @@ class ExpirationSettingsViewModel(
expirationConfig?.expirationTypeValue?.let { 0 /* Legacy */ } ?: -1 expirationConfig?.expirationTypeValue?.let { 0 /* Legacy */ } ?: -1
} }
_selectedExpirationTimer.value = when(expirationConfig?.expirationType) { _selectedExpirationTimer.value = when(expirationConfig?.expirationType) {
ExpirationType.DELETE_AFTER_SEND -> afterSendOptions.find { it.value.toIntOrNull() == expirationConfig?.durationSeconds } null, ExpirationType.DELETE_AFTER_SEND -> afterSendOptions.find { it.value.toIntOrNull() == expirationConfig?.durationSeconds }
ExpirationType.DELETE_AFTER_READ -> afterReadOptions.find { it.value.toIntOrNull() == expirationConfig?.durationSeconds } ExpirationType.DELETE_AFTER_READ -> afterReadOptions.find { it.value.toIntOrNull() == expirationConfig?.durationSeconds }
else -> afterSendOptions.firstOrNull() else -> afterSendOptions.firstOrNull()
} }
@ -107,7 +107,11 @@ class ExpirationSettingsViewModel(
} }
fun onSetClick() = viewModelScope.launch { fun onSetClick() = viewModelScope.launch {
val expiryType = _selectedExpirationType.value var typeValue = _selectedExpirationType.value
if (typeValue == 0) {
typeValue = ExpirationType.DELETE_AFTER_READ_VALUE
}
val expiryType = typeValue
val expirationTimer = _selectedExpirationTimer.value?.value?.toIntOrNull() ?: 0 val expirationTimer = _selectedExpirationTimer.value?.value?.toIntOrNull() ?: 0
val address = recipient.value?.address val address = recipient.value?.address
if (address == null || (expirationConfig?.expirationTypeValue == expiryType && expirationConfig?.durationSeconds == expirationTimer)) { if (address == null || (expirationConfig?.expirationTypeValue == expiryType && expirationConfig?.durationSeconds == expirationTimer)) {

View File

@ -363,7 +363,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
setUpRecipientObserver() setUpRecipientObserver()
getLatestOpenGroupInfoIfNeeded() getLatestOpenGroupInfoIfNeeded()
setUpBlockedBanner() setUpBlockedBanner()
setUpOutdatedClientBanner(); setUpOutdatedClientBanner()
binding!!.searchBottomBar.setEventListener(this) binding!!.searchBottomBar.setEventListener(this)
setUpSearchResultObserver() setUpSearchResultObserver()
scrollToFirstUnreadMessageIfNeeded() scrollToFirstUnreadMessageIfNeeded()

View File

@ -8,10 +8,10 @@ class ExpirationConfiguration(
val expirationTypeValue: Int = -1, val expirationTypeValue: Int = -1,
val updatedTimestampMs: Long = 0 val updatedTimestampMs: Long = 0
) { ) {
val isEnabled = durationSeconds > 0
val expirationType: ExpirationType? = ExpirationType.valueOf(expirationTypeValue) val expirationType: ExpirationType? = ExpirationType.valueOf(expirationTypeValue)
val isEnabled = durationSeconds > 0 && expirationType != null
companion object { companion object {
val isNewConfigEnabled = true /* TODO: System.currentTimeMillis() > 1_676_851_200_000 // 13/02/2023 */ val isNewConfigEnabled = false /* TODO: System.currentTimeMillis() > 1_676_851_200_000 // 13/02/2023 */
} }
} }

View File

@ -45,9 +45,9 @@ abstract class Message {
expirationTimer = 0 expirationTimer = 0
return return
} }
if (config.isEnabled) {
expirationTimer = config.durationSeconds expirationTimer = config.durationSeconds
lastDisappearingMessageChangeTimestamp = config.updatedTimestampMs lastDisappearingMessageChangeTimestamp = config.updatedTimestampMs
if (config.isEnabled) {
expirationType = config.expirationType expirationType = config.expirationType
} }
} }