diff --git a/app/src/main/java/com/yizhuan/erban/avroom/presenter/AvRoomPresenter.java b/app/src/main/java/com/yizhuan/erban/avroom/presenter/AvRoomPresenter.java index 46022304a..25a4b9c55 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/presenter/AvRoomPresenter.java +++ b/app/src/main/java/com/yizhuan/erban/avroom/presenter/AvRoomPresenter.java @@ -117,20 +117,7 @@ public class AvRoomPresenter extends BaseMvpPresenter { //进入新的房间需要先退出房间 exitRoom(); } - //我们自己服务端信息 - AvRoomDataManager.get().mCurrentRoomInfo = roomInfo; - AvRoomDataManager.get().mBoxSwitchVo = roomInfo.boxSwitchVo; - AvRoomDataManager.get().phrases = roomInfo.getSpeakTemplate(); - // 第一次进房,离开模式下更新本地房主位ui - AvRoomDataManager.get().nick = roomInfo.getNick(); - AvRoomDataManager.get().gender = roomInfo.getGender(); - AvRoomDataManager.get().avatar = roomInfo.getAvatar(); - AvRoomDataManager.get().isRoomFans = roomInfo.isRoomFans(); - AvRoomDataManager.get().trtcSig = roomInfo.getTrtcSig(); - AvRoomDataManager.get().clearScreenTime = roomInfo.getClearScreenTime(); - AvRoomDataManager.get().showPkBeginTime = roomInfo.isShowPkBeginTime(); - AvRoomDataManager.get().pkBeginTime = roomInfo.getPkBeginTime(); - AvRoomDataManager.get().setRedEnvelopeOpen(roomInfo.isRedEnvelopeOpen()); + AvRoomDataManager.get().updateServiceRoomInfo(roomInfo); StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_ROOM_LIST_TYPE, "区分房间类型:" + roomInfo.getRoomTypeLable()); initAnotherPKData(); diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/manager/AvRoomDataManager.java b/core/src/main/java/com/yizhuan/xchat_android_core/manager/AvRoomDataManager.java index 2bdeb3ea0..f83221b4d 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/manager/AvRoomDataManager.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/manager/AvRoomDataManager.java @@ -160,6 +160,10 @@ public final class AvRoomDataManager { * 房间收藏状态 */ public boolean isRoomFans; + /** + * 房间收藏状态 + */ + public boolean isFirstFollow = true; /** * 龙珠数组 */ @@ -238,6 +242,27 @@ public final class AvRoomDataManager { LogUtils.d("---------清除AvRoomDataManager数据完成---------"); } + /** + * 云信的RoomInfo和我们服务端的RoomInfo是不同步的,需要单独保存一下有用到的字段 + * @param roomInfo + */ + + public void updateServiceRoomInfo(RoomInfo roomInfo){ + //我们自己服务端信息 + mCurrentRoomInfo = roomInfo; + mBoxSwitchVo = roomInfo.boxSwitchVo; + phrases = roomInfo.getSpeakTemplate(); + nick = roomInfo.getNick(); + gender = roomInfo.getGender(); + avatar = roomInfo.getAvatar(); + isRoomFans = roomInfo.isRoomFans(); + trtcSig = roomInfo.getTrtcSig(); + clearScreenTime = roomInfo.getClearScreenTime(); + showPkBeginTime = roomInfo.isShowPkBeginTime(); + pkBeginTime = roomInfo.getPkBeginTime(); + redEnvelopeOpen = roomInfo.isRedEnvelopeOpen(); + } + /** * 获取麦上队列信息 * @@ -341,6 +366,7 @@ public final class AvRoomDataManager { roomNoDestory = false; SuperAdminDataMrg.get().clearData(); roomPkLiveData.setValue(null); + isFirstFollow = true; } public boolean isCpRoom() { diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/praise/PraiseModel.java b/core/src/main/java/com/yizhuan/xchat_android_core/praise/PraiseModel.java index 3a991b050..4ab944eb6 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/praise/PraiseModel.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/praise/PraiseModel.java @@ -102,6 +102,8 @@ public class PraiseModel extends BaseModel implements IPraiseModel { */ @SuppressLint("CheckResult") public void setFollowRoomSuccessRoomTip(long targetUid) { + if (!AvRoomDataManager.get().isFirstFollow) return; + AvRoomDataManager.get().isFirstFollow = false; UserModel.get().getUserInfo(targetUid).subscribe(new Consumer() { @Override public void accept(UserInfo userInfo) throws Exception {