コード例 #1
0
 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;
 }
コード例 #2
0
 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);
 }