From 00016c0d6dd11de4bc9d51ec90e974f0d7c8ec50 Mon Sep 17 00:00:00 2001
From: Adrien Beraud <adrien.beraud@savoirfairelinux.com>
Date: Wed, 30 Apr 2025 15:43:56 -0400
Subject: [PATCH] conversation: read messages from computation thread

Change-Id: I2f2ccdafd4a9bfcd9fa7ce9f8bd78ea847907b43
---
 .../net/jami/conversation/ConversationPresenter.kt     | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/jami-android/libjamiclient/src/main/kotlin/net/jami/conversation/ConversationPresenter.kt b/jami-android/libjamiclient/src/main/kotlin/net/jami/conversation/ConversationPresenter.kt
index 3d631dee5..5e9354fa7 100644
--- a/jami-android/libjamiclient/src/main/kotlin/net/jami/conversation/ConversationPresenter.kt
+++ b/jami-android/libjamiclient/src/main/kotlin/net/jami/conversation/ConversationPresenter.kt
@@ -16,8 +16,10 @@
  */
 package net.jami.conversation
 
+import io.reactivex.rxjava3.core.Completable
 import io.reactivex.rxjava3.core.Observable
 import io.reactivex.rxjava3.core.Scheduler
+import io.reactivex.rxjava3.core.Single
 import io.reactivex.rxjava3.disposables.CompositeDisposable
 import io.reactivex.rxjava3.schedulers.Schedulers
 import io.reactivex.rxjava3.subjects.BehaviorSubject
@@ -117,8 +119,12 @@ class ConversationPresenter @Inject constructor(
             .subscribe({ conversation: Conversation ->
                 conversation.isVisible = true
                 conversation.isBubble = isBubble
-                accountService.getAccount(conversation.accountId)?.let { account ->
-                    conversationFacade.readMessages(account, conversation, !isBubble)}
+                mCompositeDisposable.add(Completable.fromAction {
+                    accountService.getAccount(conversation.accountId)?.let { account ->
+                        conversationFacade.readMessages(account, conversation, !isBubble)}
+                }
+                    .subscribeOn(Schedulers.computation())
+                    .subscribe())
             }) { e -> Log.e(TAG, "Error loading conversation", e) })
     }
 
-- 
GitLab