ソースを参照

Reduce nested block depth for updateReadStatusOfAllMessages

Signed-off-by: Tim Krüger <t@timkrueger.me>
Tim Krüger 2 年 前
コミット
5bb63fd58d

+ 15 - 8
app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt

@@ -2352,15 +2352,22 @@ class ChatController(args: Bundle) :
     private fun updateReadStatusOfAllMessages(xChatLastCommonRead: Int?) {
     private fun updateReadStatusOfAllMessages(xChatLastCommonRead: Int?) {
         for (message in adapter!!.items) {
         for (message in adapter!!.items) {
             xChatLastCommonRead?.let {
             xChatLastCommonRead?.let {
-                if (message.item is ChatMessage) {
-                    val chatMessage = message.item as ChatMessage
+                updateReadStatusOfMessage(message, it)
+            }
+        }
+    }
 
 
-                    if (chatMessage.jsonMessageId <= it) {
-                        chatMessage.readStatus = ReadStatus.READ
-                    } else {
-                        chatMessage.readStatus = ReadStatus.SENT
-                    }
-                }
+    private fun updateReadStatusOfMessage(
+        message: MessagesListAdapter<IMessage>.Wrapper<Any>,
+        xChatLastCommonRead: Int
+    ) {
+        if (message.item is ChatMessage) {
+            val chatMessage = message.item as ChatMessage
+
+            if (chatMessage.jsonMessageId <= xChatLastCommonRead) {
+                chatMessage.readStatus = ReadStatus.READ
+            } else {
+                chatMessage.readStatus = ReadStatus.SENT
             }
             }
         }
         }
     }
     }