From 8e9f6fa23cf7d75d29d21891d606a2e6b7ca1eb6 Mon Sep 17 00:00:00 2001 From: lzl <1239365383@qq.com> Date: Wed, 3 Dec 2025 17:33:30 +0800 Subject: [PATCH] fix bugs.2 --- .../listener/MessageListenerSingleton.java | 7 +++- .../xscm/moduleutil/widget/BaseWheatView.java | 22 +--------- .../activity/room/fragment/RoomFragment.java | 3 ++ .../room/fragment/RoomMentorShipFragment.kt | 41 +++++++++++++++---- .../dialog/RoomUserInfoFragment.java | 2 +- 5 files changed, 44 insertions(+), 31 deletions(-) diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/listener/MessageListenerSingleton.java b/BaseModule/src/main/java/com/xscm/moduleutil/listener/MessageListenerSingleton.java index d74e0fb9..b70b9963 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/listener/MessageListenerSingleton.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/listener/MessageListenerSingleton.java @@ -35,6 +35,7 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CountDownLatch; @@ -92,6 +93,7 @@ public class MessageListenerSingleton { // 同时修改 removePublicScreenMessageListener 方法 public void removePublicScreenMessageListener(PublicScreenMessageListener listener) { + mRoomId = ""; if (listener == null) { return; } @@ -203,7 +205,8 @@ public class MessageListenerSingleton { if (TextUtils.isEmpty(roomId)) { return; } - mRoomId = roomId; + if (Objects.equals(mRoomId, roomId)) + return; synchronized (groupOperationLock) { if (isGroupOperationInProgress) { // 如果有操作正在进行,延迟执行 @@ -214,7 +217,7 @@ public class MessageListenerSingleton { isGroupOperationInProgress = true; } - + mRoomId = roomId; new Thread(() -> { try { // 先退出当前群组(如果需要) diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/widget/BaseWheatView.java b/BaseModule/src/main/java/com/xscm/moduleutil/widget/BaseWheatView.java index a7c1c465..73bdb796 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/widget/BaseWheatView.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/widget/BaseWheatView.java @@ -179,16 +179,7 @@ public abstract class BaseWheatView extends ConstraintLayout implements IBaseWhe setCardiac(pitBean.getCharm(), getTzbl()); if (bean.getUser_id() != null && !bean.getUser_id().equals("0") && !bean.getUser_id().isEmpty()) { -// if (CommonAppContext.getInstance().getOnlineMap() != null && CommonAppContext.getInstance().getOnlineMap().get(bean.getUser_id()) != null) { -// iv_on_line.setVisibility(CommonAppContext.getInstance().getOnlineMap().get(bean.getUser_id()) == 1 ? GONE : VISIBLE); -// } else { -// iv_on_line.setVisibility(GONE); -// } - if (bean.getIs_online()== 1) { - iv_on_line.setVisibility(GONE); - }else { - iv_on_line.setVisibility(VISIBLE); - } + iv_on_line.setVisibility(pitBean.getIs_online() == 1 ? GONE : VISIBLE); } else { iv_on_line.setVisibility(GONE); } @@ -429,16 +420,7 @@ public abstract class BaseWheatView extends ConstraintLayout implements IBaseWhe public void setOnlineStatus() { if (pitBean.getUser_id() != null && !pitBean.getUser_id().equals("0") && !pitBean.getUser_id().isEmpty()) { -// if (CommonAppContext.getInstance().getOnlineMap() != null && CommonAppContext.getInstance().getOnlineMap().get(pitBean.getUser_id()) != null) { -// iv_on_line.setVisibility(CommonAppContext.getInstance().getOnlineMap().get(pitBean.getUser_id()) == 1 ? GONE : VISIBLE); -// } else { -// iv_on_line.setVisibility(GONE); -// } - if(pitBean.getIs_online()==1){ - iv_on_line.setVisibility(GONE); - }else { - iv_on_line.setVisibility(VISIBLE); - } + iv_on_line.setVisibility(pitBean.getIs_online() == 1 ? GONE : VISIBLE); } else { iv_on_line.setVisibility(GONE); } diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java index e4e4a1da..2c3cb88e 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java @@ -938,6 +938,9 @@ public class RoomFragment extends BaseMvpFragment