public void onInfoUpdated(int paramInt) { if (paramInt == 3) if (this.mMessage != null) { UserProfile localUserProfile = UserProfileManager.getInstance().getUserProfile(this.mTalkingId); if (localUserProfile != null) this.mTalkingUserInfo = localUserProfile.getUserInfo(); } GroupInfo localGroupInfo; do { do return; while ((paramInt != 6) || (!ChatMode.isGroup()) || ((this.mAdmins != null) && (this.mAdmins.size() != 0))); localGroupInfo = IMAgent.getInstance().getGroupInfo(this.mTalkingId); } while (localGroupInfo == null); if ((localGroupInfo.lstAdmins != null) && (localGroupInfo.lstAdmins.size() > 0)) for (int i = 0; i < localGroupInfo.lstAdmins.size(); i++) this.mAdmins.add(((UserInfo)localGroupInfo.lstAdmins.get(i)).userKey); this.mHeadView.update("setData", localGroupInfo); this.mTalkingUserInfo = null; this.mTalkingGroupInfo = localGroupInfo; this.mTalkingBlocked = false; this.mMessage = null; }
public void update(String paramString, Object paramObject) { GroupInfo localGroupInfo2; GroupInfo localGroupInfo3; if (paramString.equalsIgnoreCase("setData")) { this.mAdmins.clear(); if ((paramObject instanceof GroupInfo)) { localGroupInfo2 = (GroupInfo)paramObject; this.mTalkingId = localGroupInfo2.groupId; ChatMode.setMode(1); int m; if ((localGroupInfo2.lstAdmins != null) && (localGroupInfo2.lstAdmins.size() > 0)) m = 0; while (m < localGroupInfo2.lstAdmins.size()) { this.mAdmins.add(((UserInfo)localGroupInfo2.lstAdmins.get(m)).userKey); m++; continue; localGroupInfo3 = IMAgent.getInstance().getGroupInfo(this.mTalkingId); if (localGroupInfo3 != null) break label266; IMAgent.getInstance().loadGroupInfo(this.mTalkingId, this); } this.mTalkingUserInfo = null; this.mTalkingGroupInfo = localGroupInfo2; this.mTalkingBlocked = false; this.mMessage = null; QTMSGManage.getInstance().sendStatistcsMessage("groupChat", "enter"); String str4 = QTLogger.getInstance().buildEnterIMLog(7); if (str4 != null) LogModule.getInstance().send("IMUI", str4); this.mHeadView.update("setData", localGroupInfo2); label213: this.mDatas.clear(); this.mLastTimestamp = 0L; this.mLoading = true; this.mDatas.add(new ChatItem(32, "正在加载聊天消息")); this.mAdapter.notifyDataSetChanged(); changeChatMode(); } } label266: do { return; localGroupInfo2.update(localGroupInfo3); if ((localGroupInfo2.lstAdmins == null) || (localGroupInfo2.lstAdmins.size() <= 0)) break; for (int k = 0; k < localGroupInfo2.lstAdmins.size(); k++) this.mAdmins.add(((UserInfo)localGroupInfo2.lstAdmins.get(k)).userKey); break; if ((paramObject instanceof UserInfo)) { UserInfo localUserInfo = (UserInfo)paramObject; this.mTalkingId = localUserInfo.userKey; ChatMode.setMode(0); this.mTalkingUserInfo = localUserInfo; this.mTalkingGroupInfo = null; this.mTalkingBlocked = localUserInfo.isBlocked; this.mMessage = null; QTMSGManage.getInstance().sendStatistcsMessage("userChat", "enter"); String str3 = QTLogger.getInstance().buildEnterIMLog(8); if (str3 != null) LogModule.getInstance().send("IMUI", str3); this.mHeadView.update("setData", localUserInfo); break label213; } if ((paramObject instanceof IMMessage)) { IMMessage localIMMessage2 = (IMMessage)paramObject; this.mTalkingId = localIMMessage2.mFromID; ChatMode.setMode(0); UserProfile localUserProfile = UserProfileManager.getInstance().getUserProfile(this.mTalkingId); if (localUserProfile == null) UserProfileManager.getInstance().loadUserInfo(this.mTalkingId, this); while (true) { this.mTalkingGroupInfo = null; this.mMessage = localIMMessage2; QTMSGManage.getInstance().sendStatistcsMessage("userChat", "enter"); String str2 = QTLogger.getInstance().buildEnterIMLog(8); if (str2 != null) LogModule.getInstance().send("IMUI", str2); this.mHeadView.update("setData", localIMMessage2); break; this.mTalkingUserInfo = localUserProfile.getUserInfo(); } } if (!(paramObject instanceof String)) break label213; this.mTalkingId = ((String)paramObject); ChatMode.setMode(1); GroupInfo localGroupInfo1 = IMAgent.getInstance().getGroupInfo(this.mTalkingId); if (localGroupInfo1 == null) IMAgent.getInstance().loadGroupInfo(this.mTalkingId, this); while (true) { this.mTalkingUserInfo = null; this.mTalkingGroupInfo = localGroupInfo1; this.mTalkingBlocked = false; this.mMessage = null; QTMSGManage.getInstance().sendStatistcsMessage("groupChat", "enter"); String str1 = QTLogger.getInstance().buildEnterIMLog(7); if (str1 != null) LogModule.getInstance().send("IMUI", str1); this.mHeadView.update("setData", localGroupInfo1); break; if ((localGroupInfo1.lstAdmins != null) && (localGroupInfo1.lstAdmins.size() > 0)) for (int j = 0; j < localGroupInfo1.lstAdmins.size(); j++) this.mAdmins.add(((UserInfo)localGroupInfo1.lstAdmins.get(j)).userKey); } if (paramString.equalsIgnoreCase("addmessage")) { if (this.mLoading) { this.mDatas.clear(); this.mLoading = false; } IMMessage localIMMessage1 = (IMMessage)paramObject; long l = localIMMessage1.publish; if (l - this.mLastTimestamp >= 1800L) { this.mDatas.add(new ChatItem(32, getTimestampBySecond(l))); this.mLastTimestamp = l; } List localList = this.mDatas; if (isAdmin(localIMMessage1.mFromID)); for (int i = 20; ; i = 17) { localList.add(new ChatItem(i, localIMMessage1)); this.mAdapter.notifyDataSetChanged(); return; } } if (paramString.equalsIgnoreCase("addhistory")) { if (paramObject == null) { if (this.mLoading) { this.mDatas.clear(); this.mLoading = false; this.mOldestMsgSeq = 0L; this.mOldestTimeStamp = 0L; this.mAdapter.notifyDataSetChanged(); } this.mAdapter.notifyDataSetChanged(); this.mListView.onRefreshComplete(); return; } if (this.mLoading) { this.mDatas.clear(); this.mLoading = false; } addHistoryMessages((List)paramObject); return; } if (paramString.equalsIgnoreCase("closeKeyboard")) { this.mInputView.update(paramString, paramObject); return; } if (paramString.equalsIgnoreCase("needAccount")) { onEvent(this, paramString, paramObject); return; } } while (!paramString.equalsIgnoreCase("atTa")); if (this.mJoinView.getVisibility() == 0) { Toast.makeText(getContext(), "请先加入群聊", 0).show(); return; } this.mJoinView.setVisibility(8); this.mInputView.update(paramString, paramObject); }