From cca4e69cea1c0501f5fd7d7d58f497bbaf883a42 Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Thu, 2 Jan 2025 15:07:53 +0100 Subject: [PATCH] Skip to send message when device is offline Signed-off-by: Marcel Hibbe --- .../chat/data/network/OfflineFirstChatRepository.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) 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 7748c74a8..2c5810fbc 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 @@ -803,8 +803,14 @@ class OfflineFirstChatRepository @Inject constructor( replyTo: Int, sendWithoutNotification: Boolean, referenceId: String - ): Flow> = - flow { + ): Flow> { + if (!monitor.isOnline.first()) { + return flow { + emit(Result.failure(IOException("Skipped to send message as device is offline"))) + } + } + + return flow { val response = network.sendChatMessage( credentials, url, @@ -842,6 +848,7 @@ class OfflineFirstChatRepository @Inject constructor( emit(Result.failure(e)) } + } override suspend fun resendChatMessage( credentials: String, @@ -932,7 +939,7 @@ class OfflineFirstChatRepository @Inject constructor( it.referenceId.orEmpty() ).collect { result -> if (result.isSuccess) { - Log.d(TAG, "sent temp message") + Log.d(TAG, "Sent temp message") } else { Log.e(TAG, "Failed to send temp message") }