Added missing update unread chat message count when a message has been retracted

This commit is contained in:
Sylvain Berfini 2025-12-01 10:55:57 +01:00
parent cc1cc7d929
commit c99acbb5e1
5 changed files with 22 additions and 0 deletions

View file

@ -178,6 +178,7 @@ class ConversationModel
Log.i("$TAG Last message [${message.messageId}] has been retracted")
updateLastMessage()
}
unreadMessageCount.postValue(chatRoom.unreadMessagesCount)
}
@WorkerThread

View file

@ -313,6 +313,8 @@ class ConversationViewModel
if (message.isOutgoing) {
messageDeletedEvent.postValue(Event(true))
}
unreadMessagesCount.postValue(chatRoom.unreadMessagesCount)
}
@WorkerThread

View file

@ -81,6 +81,7 @@ class AccountModel
update()
}
@WorkerThread
override fun onMessageWaitingIndicationChanged(
account: Account,
mwi: MessageWaitingIndication
@ -110,6 +111,11 @@ class AccountModel
computeNotificationsCount()
}
@WorkerThread
override fun onMessageRetracted(core: Core, chatRoom: ChatRoom, message: ChatMessage) {
computeNotificationsCount()
}
@WorkerThread
override fun onMessagesReceived(
core: Core,

View file

@ -140,6 +140,11 @@ open class AbstractMainViewModel
computeUnreadMessagesCount()
}
@WorkerThread
override fun onMessageRetracted(core: Core, chatRoom: ChatRoom, message: ChatMessage) {
computeUnreadMessagesCount()
}
@WorkerThread
override fun onGlobalStateChanged(core: Core, state: GlobalState?, message: String) {
if (core.globalState == GlobalState.On) {

View file

@ -197,6 +197,14 @@ class MainViewModel
}
}
@WorkerThread
override fun onMessageRetracted(core: Core, chatRoom: ChatRoom, message: ChatMessage) {
val account = LinphoneUtils.getAccountForAddress(chatRoom.localAddress)
if (account != null && account != core.defaultAccount) {
computeNonDefaultAccountNotificationsCount()
}
}
@WorkerThread
override fun onNetworkReachable(core: Core, reachable: Boolean) {
Log.i(