Browse Source

修改部分禁言逻辑

Pq 10 months ago
parent
commit
ca4d5ea718

+ 33 - 26
chatModule/src/main/java/com/cooleshow/chatmodule/ui/TUIChatGroupActivityV2.java

@@ -188,45 +188,55 @@ public class TUIChatGroupActivityV2 extends TUIGroupChatActivity {
         if (tipsType == V2TIMGroupTipsElem.V2TIM_GROUP_TIPS_TYPE_MEMBER_INFO_CHANGE) {
             List<V2TIMGroupMemberChangeInfo> modifyList = groupTipElem.getMemberChangeInfoList();
             if (modifyList.size() > 0) {
-                V2TIMGroupMemberChangeInfo v2TIMGroupMemberChangeInfo = modifyList.get(0);
-                String userID = v2TIMGroupMemberChangeInfo.getUserID();
-                if (TextUtils.equals(userID, currentImUserId)) {
-                    long shutupTime = v2TIMGroupMemberChangeInfo.getMuteTime();
-                    if (shutupTime > 0) {
-                        //禁言个人
-                        LOG.i(TAG, "禁言个人:" + userID);
-                        TUIChatGroupActivityV2.this.isMuteUser = true;
-                    } else {
-                        //取消禁言个人
-                        LOG.i(TAG, "取消禁言个人:" + userID);
-                        TUIChatGroupActivityV2.this.isMuteUser = false;
+                for (int i = 0; i < modifyList.size(); i++) {
+                    V2TIMGroupMemberChangeInfo v2TIMGroupMemberChangeInfo = modifyList.get(i);
+                    if (v2TIMGroupMemberChangeInfo == null) {
+                        continue;
+                    }
+                    String userID = v2TIMGroupMemberChangeInfo.getUserID();
+                    if (TextUtils.equals(userID, currentImUserId)) {
+                        long shutupTime = v2TIMGroupMemberChangeInfo.getMuteTime();
+                        if (shutupTime > 0) {
+                            //禁言个人
+                            LOG.i(TAG, "禁言个人:" + userID);
+                            TUIChatGroupActivityV2.this.isMuteUser = true;
+                        } else {
+                            //取消禁言个人
+                            LOG.i(TAG, "取消禁言个人:" + userID);
+                            TUIChatGroupActivityV2.this.isMuteUser = false;
+                        }
+                        handleMuteLayout();
+                        break;
                     }
-                    handleMuteLayout();
                 }
             }
         }
 
     }
 
-    private String getTargetId(V2TIMGroupTipsElem groupTipElem) {
+    private String getTargetId(V2TIMGroupTipsElem groupTipElem, String targetId) {
         if (groupTipElem == null) {
             return null;
         }
         List<V2TIMGroupMemberInfo> v2TIMGroupMemberInfoList = groupTipElem.getMemberList();
         if (v2TIMGroupMemberInfoList != null && v2TIMGroupMemberInfoList.size() > 0) {
-            V2TIMGroupMemberInfo v2TIMGroupMemberInfo = v2TIMGroupMemberInfoList.get(0);
-            LOG.i(TAG, "变化:" + v2TIMGroupMemberInfo.getUserID());
-            LOG.i(TAG, "变化:" + v2TIMGroupMemberInfo.getNickName());
-            return v2TIMGroupMemberInfo.getUserID();
+            for (int i = 0; i < v2TIMGroupMemberInfoList.size(); i++) {
+                V2TIMGroupMemberInfo v2TIMGroupMemberInfo = v2TIMGroupMemberInfoList.get(i);
+                if(v2TIMGroupMemberInfo == null){
+                    continue;
+                }
+                LOG.i(TAG, "变化:" + v2TIMGroupMemberInfo.getUserID());
+                LOG.i(TAG, "变化:" + v2TIMGroupMemberInfo.getNickName());
+                if (TextUtils.equals(v2TIMGroupMemberInfo.getUserID(), targetId)) {
+                    return v2TIMGroupMemberInfo.getUserID();
+                }
+            }
         }
         return null;
     }
 
     private void handleOwnerChange(V2TIMGroupTipsElem groupTipElem) {
-        String targetId = getTargetId(groupTipElem);
-        if (TextUtils.isEmpty(targetId)) {
-            return;
-        }
+        String targetId = getTargetId(groupTipElem, currentImUserId);
         LOG.i(TAG, "群主变化:" + targetId);
         boolean equals = TextUtils.equals(targetId, currentImUserId);
         role = equals ? V2TIM_GROUP_MEMBER_ROLE_OWNER : V2TIM_GROUP_MEMBER_ROLE_MEMBER;
@@ -234,10 +244,7 @@ public class TUIChatGroupActivityV2 extends TUIGroupChatActivity {
     }
 
     private void handleAdminChange(V2TIMGroupTipsElem groupTipElem, boolean isAdd) {
-        String targetId = getTargetId(groupTipElem);
-        if (TextUtils.isEmpty(targetId)) {
-            return;
-        }
+        String targetId = getTargetId(groupTipElem, currentImUserId);
         LOG.i(TAG, "管理员变化:" + targetId + "--isAdd:" + isAdd);
         if (TextUtils.equals(targetId, currentImUserId)) {
             role = isAdd ? V2TIM_GROUP_MEMBER_ROLE_ADMIN : V2TIM_GROUP_MEMBER_ROLE_MEMBER;