瀏覽代碼

Fix guest author location

Signed-off-by: Mario Danic <mario@lovelyhq.com>
Mario Danic 6 年之前
父節點
當前提交
6b204b5165
共有 1 個文件被更改,包括 13 次插入0 次删除
  1. 13 0
      app/src/main/java/com/nextcloud/talk/controllers/ChatController.java

+ 13 - 0
app/src/main/java/com/nextcloud/talk/controllers/ChatController.java

@@ -157,6 +157,8 @@ public class ChatController extends BaseController implements MessagesListAdapte
     private boolean wasDetached;
     private EmojiPopup emojiPopup;
 
+    private CharSequence myFirstMessage;
+
     public ChatController(Bundle args) {
         super(args);
         setHasOptionsMenu(true);
@@ -675,6 +677,8 @@ public class ChatController extends BaseController implements MessagesListAdapte
 
                     @Override
                     public void onNext(GenericOverall genericOverall) {
+                        myFirstMessage = message;
+
                         if (popupBubble != null && popupBubble.isShown()) {
                             popupBubble.hide();
                         }
@@ -689,6 +693,8 @@ public class ChatController extends BaseController implements MessagesListAdapte
                         if (e instanceof HttpException) {
                             int code = ((HttpException) e).code();
                             if (Integer.toString(code).startsWith("2")) {
+                                myFirstMessage = message;
+
                                 if (popupBubble != null && popupBubble.isShown()) {
                                     popupBubble.hide();
                                 }
@@ -878,6 +884,13 @@ public class ChatController extends BaseController implements MessagesListAdapte
                     chatMessage.setBaseUrl(conversationUser.getBaseUrl());
                     chatMessageList.get(i).setActiveUserId(conversationUser.getUserId());
 
+                    if (conversationUser.getUserId().equals("?") && !TextUtils.isEmpty(myFirstMessage.toString())) {
+                        if (chatMessage.getActorType().equals("guests")) {
+                            conversationUser.setUserId(chatMessage.getActorId());
+                            setSenderId();
+                        }
+                    }
+
                     boolean shouldScroll = layoutManager.findFirstVisibleItemPosition() == 0 ||
                             (adapter != null && adapter.getItemCount() == 0);