Browse Source

Fix #158

Signed-off-by: Mario Danic <mario@lovelyhq.com>
Mario Danic 6 years ago
parent
commit
f6877fd7de

+ 2 - 1
app/build.gradle

@@ -156,7 +156,8 @@ dependencies {
 
     implementation 'com.github.wooplr:Spotlight:1.2.3'
 
-    implementation 'com.github.mario:ChatKit:42d5685f16'
+    implementation 'com.github.mario:ChatKit:ed2e3cf370'
+
     implementation 'com.otaliastudios:autocomplete:1.1.0'
 
     implementation 'com.github.Kennyc1012:BottomSheet:2.4.0'

+ 7 - 10
app/src/main/java/com/nextcloud/talk/controllers/ChatController.java

@@ -731,7 +731,9 @@ public class ChatController extends BaseController implements MessagesListAdapte
 
             if (isFirstMessagesProcessing) {
                 isFirstMessagesProcessing = false;
-                loadingProgressBar.setVisibility(View.GONE);
+                if (loadingProgressBar != null) {
+                    loadingProgressBar.setVisibility(View.GONE);
+                }
 
                 if (chatMessageList.size() == 0) {
                     emptyLayout.setVisibility(View.VISIBLE);
@@ -747,13 +749,14 @@ public class ChatController extends BaseController implements MessagesListAdapte
                 }
             }
 
+            int countGroupedMessages = 0;
             if (!isFromTheFuture) {
 
-                int countGroupedMessages = 0;
                 for (int i = 0; i < chatMessageList.size(); i++) {
                     if (chatMessageList.size() > i + 1) {
                         if (chatMessageList.get(i + 1).getActorId().equals(chatMessageList.get(i).getActorId()) &&
-                                countGroupedMessages < 4) {
+                                countGroupedMessages < 4 && DateFormatter.isSameDay(chatMessageList.get(i).getCreatedAt(),
+                                chatMessageList.get(i + 1).getCreatedAt())) {
                             chatMessageList.get(i).setGrouped(true);
                             countGroupedMessages++;
                         } else {
@@ -805,13 +808,7 @@ public class ChatController extends BaseController implements MessagesListAdapte
                         newMessagesCount = 0;
                     }
 
-                    if (i == 0) {
-                        if (adapter.isPreviousSameAuthor(chatMessage.getActorId(), 0)) {
-                            chatMessage.setGrouped(true);
-                        }
-                    } else if (chatMessage.getActorId().equals(chatMessageList.get(i - 1).getActorId())) {
-                        chatMessage.setGrouped(true);
-                    }
+                    chatMessage.setGrouped(adapter.isPreviousSameAuthor(chatMessage.getActorId(), -1) && (adapter.getSameAuthorLastMessagesCount(chatMessage.getActorId()) % 5) > 0);
 
                     adapter.addToStart(chatMessage, shouldScroll);
                 }