diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b7a30fc..d79d35c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -13,6 +13,7 @@ android:theme="@style/Theme.KordophoneDroid" android:name=".KordophoneApplication" android:networkSecurityConfig="@xml/network_security_config" + android:usesCleartextTraffic="true" tools:targetApi="31"> + + @POST("/markConversation") + suspend fun markConversation(@Query("guid") conversationGUID: String): Response } class ResponseDecodeError(val response: ResponseBody): Exception(response.string()) diff --git a/backend/src/main/java/net/buzzert/kordophone/backend/server/ChatRepository.kt b/backend/src/main/java/net/buzzert/kordophone/backend/server/ChatRepository.kt index c5d7da7..a164904 100644 --- a/backend/src/main/java/net/buzzert/kordophone/backend/server/ChatRepository.kt +++ b/backend/src/main/java/net/buzzert/kordophone/backend/server/ChatRepository.kt @@ -169,6 +169,13 @@ class ChatRepository( _errorEncounteredChannel.emit(Error.ConnectionError(e)) } + suspend fun markConversationAsRead(conversation: Conversation) = try { + apiInterface.markConversation(conversation.guid) + } catch (e: java.lang.Exception) { + // Don't report via the channel, but log it. + Log.e(REPO_LOG, "Error marking conversation as read: ${e.message}") + } + fun close() { database.close() }