From 5125f08a20867fc984a6d4aeb0de79e70b9ec67c Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 8 Nov 2023 16:59:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E9=87=8D=E6=96=B0?= =?UTF-8?q?=E8=BF=9B=E6=88=BF=E5=90=8EPK=E9=9D=A2=E6=9D=BF=E6=9C=AA?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E5=B1=95=E7=A4=BA=E6=95=B0=E6=8D=AE=EF=BC=9B?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=96=B9=E6=A1=88=EF=BC=9A=E5=9C=A8=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E9=BA=A6=E4=BD=8D=E5=90=8E=E4=B8=BB=E5=8A=A8=E5=86=8D?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E4=B8=8B=E7=9B=B8=E5=85=B3=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nnbc123/app/avroom/presenter/AvRoomPresenter.java | 5 +++++ .../java/com/nnbc123/core/room/pk/model/IPkModel.java | 1 + .../java/com/nnbc123/core/room/pk/model/PkModel.java | 10 ++++++++++ 3 files changed, 16 insertions(+) diff --git a/app/src/main/java/com/nnbc123/app/avroom/presenter/AvRoomPresenter.java b/app/src/main/java/com/nnbc123/app/avroom/presenter/AvRoomPresenter.java index 3f093afba..b7a1191cb 100644 --- a/app/src/main/java/com/nnbc123/app/avroom/presenter/AvRoomPresenter.java +++ b/app/src/main/java/com/nnbc123/app/avroom/presenter/AvRoomPresenter.java @@ -43,6 +43,7 @@ import com.nnbc123.core.room.bean.RoomInfo; import com.nnbc123.core.room.giftvalue.helper.GiftValueMrg; import com.nnbc123.core.room.model.AvRoomModel; import com.nnbc123.core.room.model.MicQueueModel; +import com.nnbc123.core.room.pk.model.PkModel; import com.nnbc123.core.room.queue.bean.MicMemberInfo; import com.nnbc123.core.room.queuing_mic.bean.QueuingMicMemeberInfo; import com.nnbc123.core.room.queuing_mic.event.QueuingMicNotEmptyEvent; @@ -148,6 +149,10 @@ public class AvRoomPresenter extends BaseMvpPresenter { @SuppressLint("CheckResult") private void initAnotherPKData() { + if (AvRoomDataManager.get().isOpenPKMode()) { + // 进房后PK数据比麦位获取的快,导致PKModel.setCurPkInfo未被有效执行;所以在进房获取到麦位后,重新刷新setCurPkInfo + PkModel.get().reloadPkInfo(); + } if (AvRoomDataManager.get().isOpenAnotherPKMode()) { RoomPKModel.INSTANCE.getRoomPKData(AvRoomDataManager.get().getRoomUid()) .compose(bindToLifecycle()) diff --git a/core/src/main/java/com/nnbc123/core/room/pk/model/IPkModel.java b/core/src/main/java/com/nnbc123/core/room/pk/model/IPkModel.java index 2c4a0f140..021b32f28 100644 --- a/core/src/main/java/com/nnbc123/core/room/pk/model/IPkModel.java +++ b/core/src/main/java/com/nnbc123/core/room/pk/model/IPkModel.java @@ -16,6 +16,7 @@ import java.util.List; import io.reactivex.Single; public interface IPkModel extends IModel { + void reloadPkInfo(); PKTeamInfo findTeamByTeamId(int teamId); diff --git a/core/src/main/java/com/nnbc123/core/room/pk/model/PkModel.java b/core/src/main/java/com/nnbc123/core/room/pk/model/PkModel.java index 2aeaddeb1..464dc0f5e 100644 --- a/core/src/main/java/com/nnbc123/core/room/pk/model/PkModel.java +++ b/core/src/main/java/com/nnbc123/core/room/pk/model/PkModel.java @@ -323,6 +323,16 @@ public class PkModel extends BaseModel implements IPkModel { private CountDownTimer countDownTimer; + /** + * 进房后PK数据比麦位获取的快,导致setCurPkInfo未被有效执行;所以在进房获取到麦位后,重新刷新setCurPkInfo + */ + @Override + public void reloadPkInfo() { + if (this.curPkInfo != null) { + setCurPkInfo(curPkInfo); + } + } + private void setCurPkInfo(RoomPkData curPkInfo) { this.curPkInfo = curPkInfo; if (curPkInfo.getPkStatus() == RoomPkData.PK_STATUS_BEFORE_PK ||