From d095c8fe87a263bd505a222969c925f809c3a8c4 Mon Sep 17 00:00:00 2001 From: Diogo Date: Mon, 20 Jan 2025 16:33:50 +0000 Subject: [PATCH] simplify --- .../kotlin/chat/simplex/common/model/ChatModel.kt | 2 +- .../kotlin/chat/simplex/common/model/SimpleXAPI.kt | 6 +++--- .../chat/simplex/common/views/chat/ChatInfoView.kt | 14 ++++++++------ 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt index b1f0e93704..c3bea3be90 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt @@ -4223,7 +4223,7 @@ sealed class ChatItemTTL: Comparable { is Seconds -> String.format(generalGetString(MR.strings.chat_item_ttl_seconds), secs) } - val doesNotExpire: Boolean get() = this is None + val neverExpires: Boolean get() = this is None companion object { fun fromSeconds(seconds: Long): ChatItemTTL = diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt index 887380750e..bf011c0bb7 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt @@ -1183,10 +1183,10 @@ object ChatController { val userId = currentUserId("getChatItemTTL") val r = sendCmd(rh, CC.APIGetChatItemTTL(userId)) if (r is CR.ChatItemTTL) { - if (r.chatItemTTL != null) { - return ChatItemTTL.fromSeconds(r.chatItemTTL) + return if (r.chatItemTTL != null) { + ChatItemTTL.fromSeconds(r.chatItemTTL) } else { - throw Exception("chatItemTTLResponse: invalid ttl") + ChatItemTTL.None } } throw Exception("failed to get chat item TTL: ${r.responseType} ${r.details}") diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatInfoView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatInfoView.kt index f52372b37c..6cbca7cff6 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatInfoView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatInfoView.kt @@ -1351,17 +1351,19 @@ fun setChatTTLAlert( previousChatTTL: ChatItemTTL?, progressIndicator: MutableState ) { - val disablingExpiration = selectedChatTTL.value?.doesNotExpire == true || (selectedChatTTL.value == null && chatModel.chatItemTTL.value.doesNotExpire) - val changingExpiration = selectedChatTTL.value == null || (previousChatTTL?.doesNotExpire == false) + val defaultTTL = chatModel.chatItemTTL.value + val previouslyUsedTTL = previousChatTTL ?: defaultTTL + val newTTLToUse = selectedChatTTL.value ?: defaultTTL + AlertManager.shared.showAlertDialog( title = generalGetString( - if (disablingExpiration) { + if (newTTLToUse.neverExpires) { MR.strings.disable_automatic_deletion_question - } else if (changingExpiration) { + } else if (!previouslyUsedTTL.neverExpires || selectedChatTTL.value == null) { MR.strings.change_automatic_deletion_question } else MR.strings.enable_automatic_deletion_question), - text = generalGetString(if (disablingExpiration) MR.strings.disable_automatic_deletion_message else MR.strings.change_automatic_chat_deletion_message), - confirmText = generalGetString(if (disablingExpiration) MR.strings.disable_automatic_deletion else MR.strings.delete_messages), + text = generalGetString(if (newTTLToUse.neverExpires) MR.strings.disable_automatic_deletion_message else MR.strings.change_automatic_chat_deletion_message), + confirmText = generalGetString(if (newTTLToUse.neverExpires) MR.strings.disable_automatic_deletion else MR.strings.delete_messages), onConfirm = { setChatTTL(m, rhId, chatInfo, selectedChatTTL, progressIndicator, previousChatTTL) }, onDismiss = { selectedChatTTL.value = previousChatTTL }, onDismissRequest = { selectedChatTTL.value = previousChatTTL },