diff --git a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt index efc04b6b2..e697fb218 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -827,14 +827,12 @@ class ChatActivity : adapter?.notifyDataSetChanged() } .collect() + } - + this.lifecycleScope.launch { chatViewModel.getUpdateMessageFlow - .onEach { pair -> - val lookIntoFuture = pair.first - var chatMessageList = pair.second - - adapter!!.update(chatMessageList[0]) + .onEach { + updateAdapterForReaction(it) } .collect() } diff --git a/app/src/main/java/com/nextcloud/talk/chat/data/ChatMessageRepository.kt b/app/src/main/java/com/nextcloud/talk/chat/data/ChatMessageRepository.kt index 529af495a..1b1696b16 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/data/ChatMessageRepository.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/data/ChatMessageRepository.kt @@ -30,13 +30,7 @@ interface ChatMessageRepository : LifecycleAwareManager { > > - val updateMessageFlow: - Flow< - Pair< - Boolean, - List - > - > + val updateMessageFlow: Flow fun setData( conversationModel: ConversationModel, diff --git a/app/src/main/java/com/nextcloud/talk/chat/data/network/OfflineFirstChatRepository.kt b/app/src/main/java/com/nextcloud/talk/chat/data/network/OfflineFirstChatRepository.kt index 62fa68758..6cc87dc19 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/data/network/OfflineFirstChatRepository.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/data/network/OfflineFirstChatRepository.kt @@ -66,21 +66,11 @@ class OfflineFirstChatRepository @Inject constructor( > = MutableSharedFlow() override val updateMessageFlow: - Flow< - Pair< - Boolean, - List - > - > + Flow get() = _updateMessageFlow private val _updateMessageFlow: - MutableSharedFlow< - Pair< - Boolean, - List - > - > = MutableSharedFlow() + MutableSharedFlow = MutableSharedFlow() private var newXChatLastCommonRead: Int? = null private var itIsPaused = false @@ -480,10 +470,7 @@ class OfflineFirstChatRepository @Inject constructor( messageJson.parentMessage?.let { parentMessageJson -> val parentMessageEntity = parentMessageJson.asEntity(currentUser.id!!) chatDao.upsertChatMessage(parentMessageEntity) - // TODO: inform UI to update this message!! - - val pair = Pair(true, listOf(parentMessageEntity.asModel())) - _updateMessageFlow.emit(pair) + _updateMessageFlow.emit(parentMessageEntity.asModel()) } }