浏览代码

Merge pull request #3735 from nextcloud/feature/noid/fixMarkAsReadForFederatedRooms

fix to mark federated rooms as read
Marcel Hibbe 1 年之前
父节点
当前提交
4cf0fd20f2

+ 1 - 1
app/src/main/java/com/nextcloud/talk/api/NcApi.java

@@ -552,7 +552,7 @@ public interface NcApi {
     @POST
     Observable<GenericOverall> setChatReadMarker(@Header("Authorization") String authorization,
                                                  @Url String url,
-                                                 @Field("lastReadMessage") int lastReadMessage);
+                                                 @Nullable @Field("lastReadMessage") Integer lastReadMessage);
 
     // Url is: /api/{apiVersion}/chat/{token}/read
     @DELETE

+ 8 - 1
app/src/main/java/com/nextcloud/talk/ui/dialog/ConversationsListBottomDialog.kt

@@ -308,6 +308,12 @@ class ConversationsListBottomDialog(
     }
 
     private fun markConversationAsRead() {
+        val messageId = if (conversation.remoteServer.isNullOrEmpty()) {
+            conversation.lastMessage!!.jsonMessageId
+        } else {
+            null
+        }
+
         ncApi.setChatReadMarker(
             credentials,
             ApiUtils.getUrlForChatReadMarker(
@@ -315,7 +321,7 @@ class ConversationsListBottomDialog(
                 currentUser.baseUrl!!,
                 conversation.token!!
             ),
-            conversation.lastMessage!!.jsonMessageId
+            messageId
         )
             .subscribeOn(Schedulers.io())
             .observeOn(AndroidSchedulers.mainThread())
@@ -360,6 +366,7 @@ class ConversationsListBottomDialog(
             )
         }
     }
+
     private fun leaveConversation() {
         val dataBuilder = Data.Builder()
         dataBuilder.putString(KEY_ROOM_TOKEN, conversation.token)