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