Sfoglia il codice sorgente

修改IM里面代码崩溃问题

Pq 1 anno fa
parent
commit
167fc93fcb

+ 78 - 59
TUIKit/TUIChat/tuichat/src/main/java/com/tencent/qcloud/tuikit/tuichat/presenter/ChatPresenter.java

@@ -5,7 +5,9 @@ import android.os.Handler;
 import android.os.Message;
 import android.text.TextUtils;
 import android.util.Log;
+
 import androidx.recyclerview.widget.RecyclerView;
+
 import com.google.gson.Gson;
 import com.tencent.imsdk.BaseConstants;
 import com.tencent.qcloud.tuicore.TUIConfig;
@@ -54,6 +56,7 @@ import com.tencent.qcloud.tuikit.tuichat.util.ChatMessageParser;
 import com.tencent.qcloud.tuikit.tuichat.util.OfflinePushInfoUtils;
 import com.tencent.qcloud.tuikit.tuichat.util.TUIChatLog;
 import com.tencent.qcloud.tuikit.tuichat.util.TUIChatUtils;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -150,7 +153,8 @@ public abstract class ChatPresenter {
         loadMessage(type, locateMessage, null);
     }
 
-    public void loadMessage(int type, TUIMessageBean locateMessage, IUIKitCallback<List<TUIMessageBean>> callback) {}
+    public void loadMessage(int type, TUIMessageBean locateMessage, IUIKitCallback<List<TUIMessageBean>> callback) {
+    }
 
     public void clearMessage() {
         loadedMessageInfoList.clear();
@@ -193,7 +197,8 @@ public abstract class ChatPresenter {
 
                 locateMessage(messageBean.getId(), new IUIKitCallback<Void>() {
                     @Override
-                    public void onSuccess(Void data) {}
+                    public void onSuccess(Void data) {
+                    }
 
                     @Override
                     public void onError(String module, int errCode, String errMsg) {
@@ -234,7 +239,8 @@ public abstract class ChatPresenter {
                 updateAdapter(IMessageRecyclerView.DATA_CHANGE_TYPE_REFRESH, 0);
                 loadMessage(TUIChatConstants.GET_MESSAGE_LOCATE, data, new IUIKitCallback<List<TUIMessageBean>>() {
                     @Override
-                    public void onSuccess(List<TUIMessageBean> data) {}
+                    public void onSuccess(List<TUIMessageBean> data) {
+                    }
 
                     @Override
                     public void onError(String module, int errCode, String errMsg) {
@@ -277,7 +283,7 @@ public abstract class ChatPresenter {
     }
 
     private void loadToWayMessageAsync(
-        String chatId, boolean isGroup, int getType, int loadCount, TUIMessageBean locateMessageInfo, IUIKitCallback<List<TUIMessageBean>> callback) {
+            String chatId, boolean isGroup, int getType, int loadCount, TUIMessageBean locateMessageInfo, IUIKitCallback<List<TUIMessageBean>> callback) {
         List<TUIMessageBean> firstLoadedData = new ArrayList<>();
         List<TUIMessageBean> secondLoadedData = new ArrayList<>();
         firstLoadedData.add(locateMessageInfo);
@@ -288,25 +294,25 @@ public abstract class ChatPresenter {
             @Override
             public void run() {
                 provider.loadHistoryMessageList(
-                    chatId, isGroup, loadCount / 2, locateMessageInfo, TUIChatConstants.GET_MESSAGE_BACKWARD, new IUIKitCallback<List<TUIMessageBean>>() {
-                        @Override
-                        public void onSuccess(List<TUIMessageBean> firstData) {
-                            if (firstData.size() >= loadCount / 2) {
-                                isHaveMoreNewMessage = true;
-                            } else {
-                                isHaveMoreNewMessage = false;
+                        chatId, isGroup, loadCount / 2, locateMessageInfo, TUIChatConstants.GET_MESSAGE_BACKWARD, new IUIKitCallback<List<TUIMessageBean>>() {
+                            @Override
+                            public void onSuccess(List<TUIMessageBean> firstData) {
+                                if (firstData.size() >= loadCount / 2) {
+                                    isHaveMoreNewMessage = true;
+                                } else {
+                                    isHaveMoreNewMessage = false;
+                                }
+                                firstLoadedData.addAll(firstData);
+                                latch.countDown();
                             }
-                            firstLoadedData.addAll(firstData);
-                            latch.countDown();
-                        }
 
-                        @Override
-                        public void onError(String module, int errCode, String errMsg) {
-                            TUIChatUtils.callbackOnError(callback, errCode, errMsg);
-                            isFailed[0] = true;
-                            latch.countDown();
-                        }
-                    });
+                            @Override
+                            public void onError(String module, int errCode, String errMsg) {
+                                TUIChatUtils.callbackOnError(callback, errCode, errMsg);
+                                isFailed[0] = true;
+                                latch.countDown();
+                            }
+                        });
             }
         };
 
@@ -316,22 +322,22 @@ public abstract class ChatPresenter {
                 // 拉取历史消息的时候不会把 lastMsg 返回,需要手动添加上
                 // LastMsg will not be returned when pulling historical messages, you need to add it manually
                 provider.loadHistoryMessageList(
-                    chatId, isGroup, loadCount / 2, locateMessageInfo, TUIChatConstants.GET_MESSAGE_FORWARD, new IUIKitCallback<List<TUIMessageBean>>() {
-                        @Override
-                        public void onSuccess(List<TUIMessageBean> secondData) {
-                            if (secondData.size() < loadCount / 2) {
-                                isHaveMoreOldMessage = false;
+                        chatId, isGroup, loadCount / 2, locateMessageInfo, TUIChatConstants.GET_MESSAGE_FORWARD, new IUIKitCallback<List<TUIMessageBean>>() {
+                            @Override
+                            public void onSuccess(List<TUIMessageBean> secondData) {
+                                if (secondData.size() < loadCount / 2) {
+                                    isHaveMoreOldMessage = false;
+                                }
+                                secondLoadedData.addAll(secondData);
+                                latch.countDown();
                             }
-                            secondLoadedData.addAll(secondData);
-                            latch.countDown();
-                        }
 
-                        @Override
-                        public void onError(String module, int errCode, String errMsg) {
-                            isFailed[0] = true;
-                            latch.countDown();
-                        }
-                    });
+                            @Override
+                            public void onError(String module, int errCode, String errMsg) {
+                                isFailed[0] = true;
+                                latch.countDown();
+                            }
+                        });
             }
         };
 
@@ -365,7 +371,7 @@ public abstract class ChatPresenter {
     }
 
     public void loadHistoryMessageList(
-        String chatId, boolean isGroup, int getType, int loadCount, TUIMessageBean locateMessageInfo, IUIKitCallback<List<TUIMessageBean>> callback) {
+            String chatId, boolean isGroup, int getType, int loadCount, TUIMessageBean locateMessageInfo, IUIKitCallback<List<TUIMessageBean>> callback) {
         // 如果是前后同时拉取消息,需要拉取两次,第一次向后拉取,第二次向前拉取
         // 例如现在有消息 1,2,3,4,5,6,7  locateMessageInfo 是 4
         // 如果 getType 为 GET_MESSAGE_FORWARD, 就会拉取到消息 1,2,3
@@ -399,7 +405,8 @@ public abstract class ChatPresenter {
         });
     }
 
-    protected void onMessageLoadCompleted(List<TUIMessageBean> data, int getType){}
+    protected void onMessageLoadCompleted(List<TUIMessageBean> data, int getType) {
+    }
 
     protected void processLoadedMessage(List<TUIMessageBean> data, int type) {
         preProcessMessage(data, new IUIKitCallback<List<TUIMessageBean>>() {
@@ -918,10 +925,11 @@ public abstract class ChatPresenter {
         Map<String, Object> param = new HashMap<>();
         param.put(TUIConstants.TUIConversation.CONVERSATION_ID, conversationId);
         TUICore.notifyEvent(TUIConstants.TUIConversation.EVENT_KEY_MESSAGE_SEND_FOR_CONVERSATION,
-            TUIConstants.TUIConversation.EVENT_SUB_KEY_MESSAGE_SEND_FOR_CONVERSATION, param);
+                TUIConstants.TUIConversation.EVENT_SUB_KEY_MESSAGE_SEND_FOR_CONVERSATION, param);
     }
 
-    public void sendTypingStatusMessage(TUIMessageBean message, String receiver, IUIKitCallback<TUIMessageBean> callBack) {}
+    public void sendTypingStatusMessage(TUIMessageBean message, String receiver, IUIKitCallback<TUIMessageBean> callBack) {
+    }
 
     public boolean isSupportTyping(long time) {
         return false;
@@ -996,10 +1004,10 @@ public abstract class ChatPresenter {
                                 if (chatInfo != null) {
                                     if (chatInfo.getType() == ChatInfo.TYPE_GROUP) {
                                         isNeedRefreshCacheNewMessage =
-                                            messageInfo.getV2TIMMessage().getSeq() <= mCacheNewMessage.getV2TIMMessage().getSeq() ? true : false;
+                                                messageInfo.getV2TIMMessage().getSeq() <= mCacheNewMessage.getV2TIMMessage().getSeq() ? true : false;
                                     } else {
                                         isNeedRefreshCacheNewMessage =
-                                            messageInfo.getV2TIMMessage().getTimestamp() <= mCacheNewMessage.getV2TIMMessage().getTimestamp() ? true : false;
+                                                messageInfo.getV2TIMMessage().getTimestamp() <= mCacheNewMessage.getV2TIMMessage().getTimestamp() ? true : false;
                                     }
                                 }
 
@@ -1132,7 +1140,8 @@ public abstract class ChatPresenter {
             }
 
             @Override
-            public void onError(String module, int errCode, String errMsg) {}
+            public void onError(String module, int errCode, String errMsg) {
+            }
         });
     }
 
@@ -1153,7 +1162,8 @@ public abstract class ChatPresenter {
             }
 
             @Override
-            public void onError(String module, int errCode, String errMsg) {}
+            public void onError(String module, int errCode, String errMsg) {
+            }
         });
     }
 
@@ -1237,7 +1247,7 @@ public abstract class ChatPresenter {
             @Override
             public void onError(String module, int errCode, String errMsg) {
                 if (errCode == ChatProvider.ERR_REVOKE_TIME_LIMIT_EXCEED || errCode == ChatProvider.ERR_REVOKE_TIME_LIMIT_SVR_GROUP
-                    || errCode == ChatProvider.ERR_REVOKE_TIME_LIMIT_SVR_MESSAGE) {
+                        || errCode == ChatProvider.ERR_REVOKE_TIME_LIMIT_SVR_MESSAGE) {
                     ToastUtil.toastLongMessage(TUIChatService.getAppContext().getString(R.string.send_two_mins));
                 } else {
                     ToastUtil.toastLongMessage(TUIChatService.getAppContext().getString(R.string.revoke_fail) + errCode + "=" + errMsg);
@@ -1284,7 +1294,7 @@ public abstract class ChatPresenter {
     }
 
     public void forwardMessage(List<TUIMessageBean> msgInfos, boolean isGroup, String id, String offlineTitle, int forwardMode, boolean selfConversation,
-        final IUIKitCallback callBack) {
+                               final IUIKitCallback callBack) {
         if (!safetyCall()) {
             TUIChatLog.w(TAG, "sendMessage unSafetyCall");
             return;
@@ -1309,7 +1319,7 @@ public abstract class ChatPresenter {
     }
 
     public void forwardMessageOneByOne(final List<TUIMessageBean> msgInfos, final boolean isGroup, final String id, final String offlineTitle,
-        final boolean selfConversation, final IUIKitCallback callBack) {
+                                       final boolean selfConversation, final IUIKitCallback callBack) {
         if (msgInfos == null || msgInfos.isEmpty()) {
             return;
         }
@@ -1339,7 +1349,7 @@ public abstract class ChatPresenter {
                         filterGroupMessageReceipt(message, id);
                     }
                     OfflineMessageBean entity = new OfflineMessageBean();
-                    entity.content = message.getExtra().toString();
+                    entity.content = message.getExtra();
                     entity.sender = message.getSender();
                     entity.nickname = TUIConfig.getSelfNickName();
                     entity.faceUrl = TUIConfig.getSelfFaceUrl();
@@ -1406,10 +1416,11 @@ public abstract class ChatPresenter {
         }
     }
 
-    protected void assembleGroupMessage(TUIMessageBean message) {}
+    protected void assembleGroupMessage(TUIMessageBean message) {
+    }
 
     public void forwardMessageMerge(
-        List<TUIMessageBean> msgInfos, boolean isGroup, String id, String offlineTitle, boolean selfConversation, final IUIKitCallback callBack) {
+            List<TUIMessageBean> msgInfos, boolean isGroup, String id, String offlineTitle, boolean selfConversation, final IUIKitCallback callBack) {
         if (msgInfos == null || msgInfos.isEmpty()) {
             return;
         }
@@ -1447,7 +1458,7 @@ public abstract class ChatPresenter {
 
         // createMergerMessage
         TUIMessageBean msgInfo = ChatMessageBuilder.buildMergeMessage(
-            msgInfos, offlineTitle, abstractList, TUIChatService.getAppContext().getString(R.string.forward_compatible_text));
+                msgInfos, offlineTitle, abstractList, TUIChatService.getAppContext().getString(R.string.forward_compatible_text));
 
         if (selfConversation) {
             sendMessage(msgInfo, false, callBack);
@@ -1484,7 +1495,7 @@ public abstract class ChatPresenter {
     }
 
     public void forwardMessageInternal(
-        final TUIMessageBean message, boolean isGroup, String id, OfflinePushInfo offlinePushInfo, final IUIKitCallback callBack) {
+            final TUIMessageBean message, boolean isGroup, String id, OfflinePushInfo offlinePushInfo, final IUIKitCallback callBack) {
         if (message == null) {
             TUIChatLog.e(TAG, "forwardMessageInternal null message!");
             return;
@@ -1831,9 +1842,11 @@ public abstract class ChatPresenter {
         });
     }
 
-    public void getChatName(String chatID, IUIKitCallback<String> callback) {}
+    public void getChatName(String chatID, IUIKitCallback<String> callback) {
+    }
 
-    public void getChatFaceUrl(String chatID, IUIKitCallback<List<Object>> callback) {}
+    public void getChatFaceUrl(String chatID, IUIKitCallback<List<Object>> callback) {
+    }
 
     public void getReactUserBean(Set<String> userIds, IUIKitCallback<Map<String, UserBean>> callback) {
         Map<String, UserBean> reactUserBeanMap = new HashMap<>();
@@ -1898,17 +1911,23 @@ public abstract class ChatPresenter {
 
     public interface ChatNotifyHandler {
 
-        default void onGroupForceExit() {}
+        default void onGroupForceExit() {
+        }
 
-        default void onGroupNameChanged(String newName) {}
+        default void onGroupNameChanged(String newName) {
+        }
 
-        default void onFriendNameChanged(String newName) {}
+        default void onFriendNameChanged(String newName) {
+        }
 
-        default void onApplied(int size) {}
+        default void onApplied(int size) {
+        }
 
-        default void onFriendFaceUrlChanged(String faceUrl) {}
+        default void onFriendFaceUrlChanged(String faceUrl) {
+        }
 
-        default void onGroupFaceUrlChanged(String faceUrl) {}
+        default void onGroupFaceUrlChanged(String faceUrl) {
+        }
 
         void onExitChat(String chatId);
     }