multiplatform: do not close non-active chat on delete/leave (#2921)

Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
This commit is contained in:
Stanislav Dmitrenko 2023-08-14 23:19:16 +03:00 committed by GitHub
parent 782355ccb5
commit 45f58e34d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 4 deletions

View File

@ -205,7 +205,9 @@ fun deleteContactDialog(chatInfo: ChatInfo, chatModel: ChatModel, close: (() ->
val r = chatModel.controller.apiDeleteChat(chatInfo.chatType, chatInfo.apiId)
if (r) {
chatModel.removeChat(chatInfo.id)
chatModel.chatId.value = null
if (chatModel.chatId.value == chatInfo.id) {
chatModel.chatId.value = null
}
ntfManager.cancelNotificationsForChat(chatInfo.id)
close?.invoke()
}

View File

@ -133,7 +133,9 @@ fun deleteGroupDialog(chatInfo: ChatInfo, groupInfo: GroupInfo, chatModel: ChatM
val r = chatModel.controller.apiDeleteChat(chatInfo.chatType, chatInfo.apiId)
if (r) {
chatModel.removeChat(chatInfo.id)
chatModel.chatId.value = null
if (chatModel.chatId.value == chatInfo.id) {
chatModel.chatId.value = null
}
ntfManager.cancelNotificationsForChat(chatInfo.id)
close?.invoke()
}

View File

@ -522,7 +522,9 @@ fun pendingContactAlertDialog(chatInfo: ChatInfo, chatModel: ChatModel) {
val r = chatModel.controller.apiDeleteChat(chatInfo.chatType, chatInfo.apiId)
if (r) {
chatModel.removeChat(chatInfo.id)
chatModel.chatId.value = null
if (chatModel.chatId.value == chatInfo.id) {
chatModel.chatId.value = null
}
}
}
},
@ -555,7 +557,9 @@ fun deleteGroup(groupInfo: GroupInfo, chatModel: ChatModel) {
val r = chatModel.controller.apiDeleteChat(ChatType.Group, groupInfo.apiId)
if (r) {
chatModel.removeChat(groupInfo.id)
chatModel.chatId.value = null
if (chatModel.chatId.value == groupInfo.id) {
chatModel.chatId.value = null
}
ntfManager.cancelNotificationsForChat(groupInfo.id)
}
}