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 ||