delete temp messages

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2024-12-27 12:00:50 +01:00
parent 5ac130a020
commit e9f3863375
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
4 changed files with 14 additions and 1 deletions

View File

@ -105,4 +105,6 @@ interface ChatMessageRepository : LifecycleAwareManager {
credentials: String, credentials: String,
url: String url: String
) )
suspend fun deleteTempMessage(chatMessage: ChatMessage)
} }

View File

@ -910,6 +910,11 @@ class OfflineFirstChatRepository @Inject constructor(
} }
override suspend fun deleteTempMessage(chatMessage: ChatMessage) {
chatDao.deleteTempChatMessages(internalConversationId, listOf(chatMessage.referenceId.orEmpty()))
_removeMessageFlow.emit(chatMessage)
}
override suspend fun addTemporaryMessage( override suspend fun addTemporaryMessage(
message: CharSequence, message: CharSequence,
displayName: String, displayName: String,

View File

@ -793,6 +793,12 @@ class ChatViewModel @Inject constructor(
} }
} }
fun deleteTempMessage(chatMessage: ChatMessage) {
viewModelScope.launch {
chatRepository.deleteTempMessage(chatMessage)
}
}
companion object { companion object {
private val TAG = ChatViewModel::class.simpleName private val TAG = ChatViewModel::class.simpleName
const val JOIN_ROOM_RETRY_COUNT: Long = 3 const val JOIN_ROOM_RETRY_COUNT: Long = 3

View File

@ -83,7 +83,7 @@ class TempMessageActionsDialog(
private fun initMenuDeleteMessage(visible: Boolean) { private fun initMenuDeleteMessage(visible: Boolean) {
if (visible) { if (visible) {
binding.menuDeleteMessage.setOnClickListener { binding.menuDeleteMessage.setOnClickListener {
chatActivity.deleteMessage(message) chatActivity.chatViewModel.deleteTempMessage(message)
dismiss() dismiss()
} }
} }