|
@@ -179,7 +179,7 @@ public class MucChatActivity extends BaseActivity implements
|
|
|
private String mLoginUserId;
|
|
|
private String mLoginNickName;
|
|
|
private String instantMessage;
|
|
|
-// private MucRoom mucRoom;
|
|
|
+ private MucRoom mucRoom;
|
|
|
// 是否为通知栏进入
|
|
|
private boolean isNotificationComing;
|
|
|
// 当前聊天对象的UserId(就是房间jid)
|
|
@@ -782,6 +782,9 @@ public class MucChatActivity extends BaseActivity implements
|
|
|
***************************************/
|
|
|
@Override
|
|
|
public void onMyAvatarClick() {
|
|
|
+ if ((mucRoom==null || mucRoom.getAllowSendCard()==0) && mucRoom.getMember()!=null && mucRoom.getMember().getRole()==3 ){
|
|
|
+ return;
|
|
|
+ }
|
|
|
mChatBottomView.reset();
|
|
|
mChatBottomView.postDelayed(new Runnable() {
|
|
|
@Override
|
|
@@ -800,13 +803,11 @@ public class MucChatActivity extends BaseActivity implements
|
|
|
*/
|
|
|
private boolean isAllowSecretlyChat(String friendUserId,boolean isAllowCache){
|
|
|
RoomMember itemMember = filterMucRoomMemberByUserId(friendUserId);
|
|
|
-
|
|
|
- if ( itemMember ==null || mRoomMember==null) {
|
|
|
+ if ( itemMember ==null ) {
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
if (!isAllowCache){
|
|
|
- if (mRoomMember.getRole()==3 &&itemMember.getRole()==3){
|
|
|
+ if (itemMember.getRole()==3){
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -814,8 +815,12 @@ public class MucChatActivity extends BaseActivity implements
|
|
|
}
|
|
|
|
|
|
private RoomMember filterMucRoomMemberByUserId(String friendUserId){
|
|
|
- if (mRoomMemberList !=null) {
|
|
|
- for (RoomMember member: mRoomMemberList) {
|
|
|
+ if (mChatContentView ==null){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ List<RoomMember> list = mChatContentView.getRoomMemberList();
|
|
|
+ if (list !=null) {
|
|
|
+ for (RoomMember member: list) {
|
|
|
if (member.getUserId().equals(friendUserId) ){
|
|
|
return member;
|
|
|
}
|
|
@@ -2472,14 +2477,14 @@ public class MucChatActivity extends BaseActivity implements
|
|
|
|
|
|
private void initRoomMember() {
|
|
|
if (mFriend.getGroupStatus() == 0) {// 正常状态
|
|
|
- mRoomMemberList = RoomMemberDao.getInstance().getRoomMember(roomId);
|
|
|
- if (mRoomMemberList.size() > 0) {
|
|
|
+ List<RoomMember> roomMemberList = RoomMemberDao.getInstance().getRoomMember(roomId);
|
|
|
+ if (roomMemberList.size() > 0) {
|
|
|
mRoomMember = RoomMemberDao.getInstance().getSingleRoomMember(roomId, mLoginUserId);
|
|
|
if (mRoomMember != null) {// 更新群成员表
|
|
|
onRoleChanged(mRoomMember.getRole());
|
|
|
}
|
|
|
// 成员列表传进去为了显示管理员的头像,
|
|
|
- mChatContentView.setRoomMemberList(mRoomMemberList);
|
|
|
+ mChatContentView.setRoomMemberList(roomMemberList);
|
|
|
} else {
|
|
|
loadMembers(roomId, false);
|
|
|
}
|
|
@@ -2781,8 +2786,8 @@ public class MucChatActivity extends BaseActivity implements
|
|
|
@Override
|
|
|
public void onResponse(ObjectResult<MucRoom> result) {
|
|
|
if (result.getResultCode() == 1 && result.getData() != null) {
|
|
|
- MucRoom mucRoom = result.getData();
|
|
|
- mRoomMemberList = update(mucRoom, isAtAction);
|
|
|
+ mucRoom = result.getData();
|
|
|
+ update(mucRoom, isAtAction);
|
|
|
} else {
|
|
|
ToastUtil.showErrorData(mContext);
|
|
|
}
|
|
@@ -2838,7 +2843,7 @@ public class MucChatActivity extends BaseActivity implements
|
|
|
params.put("access_token", coreManager.getSelfStatus().accessToken);
|
|
|
params.put("roomId", roomId);
|
|
|
|
|
|
- HttpUtils.get().url(coreManager.getConfig().ROOM_GET)
|
|
|
+ HttpUtils.get().url(coreManager.getConfig().ROOM_GET_ROOM)
|
|
|
.params(params)
|
|
|
.build()
|
|
|
.execute(new BaseCallback<MucRoom>(MucRoom.class) {
|
|
@@ -2859,7 +2864,7 @@ public class MucChatActivity extends BaseActivity implements
|
|
|
|
|
|
groupTip(getString(R.string.tip_been_kick_self));
|
|
|
} else {// 正常状态
|
|
|
- mRoomMemberList = update(mucRoom, false);
|
|
|
+ List<RoomMember> roomMemberList = update(mucRoom, false);
|
|
|
|
|
|
mFriend.setGroupStatus(0);
|
|
|
FriendDao.getInstance().updateFriendGroupStatus(mLoginUserId, mucRoom.getJid(), 0);// 更新本地群组状态
|
|
@@ -2871,7 +2876,7 @@ public class MucChatActivity extends BaseActivity implements
|
|
|
// 此时可能正在初始化群成员信息,本地可能没有自己的信息,
|
|
|
RoomMemberDao.getInstance().updateRoomMemberRole(mucRoom.getId(), mLoginUserId, mucRoom.getMember().getRole());
|
|
|
onRoleChanged(mucRoom.getMember().getRole());
|
|
|
- mChatContentView.setRoomMemberList(mRoomMemberList);
|
|
|
+ mChatContentView.setRoomMemberList(roomMemberList);
|
|
|
|
|
|
// 如果有转发进来的消息就处理一下,
|
|
|
instantChatMessage();
|