From 3b174d9d2e554e6ae26b32c2bd81fb5bbdf30620 Mon Sep 17 00:00:00 2001 From: huangjian Date: Wed, 23 Dec 2020 16:26:18 +0800 Subject: [PATCH] =?UTF-8?q?fix=20bug=20=E3=80=90ID1005135=E3=80=91=20?= =?UTF-8?q?=E3=80=90=E5=AE=89=E5=8D=93-PK=E3=80=91PK=E5=87=86=E5=A4=87?= =?UTF-8?q?=E9=98=B6=E6=AE=B5=EF=BC=9A=E7=94=A8=E6=88=B7=E8=A2=AB=E6=8A=B1?= =?UTF-8?q?=E4=B8=8A=E9=BA=A6=EF=BC=8C=E5=86=8D=E8=A2=AB=E5=AE=89=E6=8E=92?= =?UTF-8?q?=E8=BF=9BPK=E9=98=9F=E4=BC=8D=EF=BC=8C=E5=86=8D=E4=B8=8B?= =?UTF-8?q?=E9=BA=A6=E5=90=8E=EF=BC=8C=E7=94=A8=E6=88=B7=E5=A4=B4=E5=83=8F?= =?UTF-8?q?=E4=BE=9D=E6=97=A7=E4=BC=9A=E5=B1=95=E7=A4=BA=E5=9C=A8PK?= =?UTF-8?q?=E9=98=9F=E4=BC=8D=E9=87=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../avroom/dialog/PKScoreBoardDialog.java | 7 ++-- .../fragment/HomePartyRoomFragment.java | 2 +- .../erban/avroom/widget/PKBoardView.java | 7 ++-- .../manager/IMNetEaseManager.java | 5 +-- .../xchat_android_core/gift/GiftModel.java | 33 ++++++++++--------- 5 files changed, 29 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/com/yizhuan/erban/avroom/dialog/PKScoreBoardDialog.java b/app/src/main/java/com/yizhuan/erban/avroom/dialog/PKScoreBoardDialog.java index c23189f96..108f8eb07 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/dialog/PKScoreBoardDialog.java +++ b/app/src/main/java/com/yizhuan/erban/avroom/dialog/PKScoreBoardDialog.java @@ -2,9 +2,7 @@ package com.yizhuan.erban.avroom.dialog; import android.content.Context; import android.os.Bundle; -import androidx.gridlayout.widget.GridLayout; import android.view.View; -import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.TextView; @@ -83,7 +81,7 @@ public class PKScoreBoardDialog extends BaseDialog { setContentView(R.layout.dialog_pk_score_board); tvPkVoteMode = (TextView) findViewById(R.id.tv_pk_vote_mode); - tvClose = findViewById(R.id.tv_close); + tvClose = findViewById(R.id.tv_close); pbScore = (ProgressBar) findViewById(R.id.pb_score); tvRedTeamScore = (TextView) findViewById(R.id.tv_red_team_score); tvBlueTeamScore = (TextView) findViewById(R.id.tv_blue_team_score); @@ -255,7 +253,8 @@ public class PKScoreBoardDialog extends BaseDialog { switch (event) { case RoomEvent.PK_INFO_UPDATE: roomPkData = PkModel.get().getCurPkInfo(); - if (roomPkData != null && roomPkData.getPkStatus() == RoomPkData.PK_STATUS_BEFORE_PK) { + if (roomPkData != null && (roomPkData.getPkStatus() == RoomPkData.PK_STATUS_BEFORE_PK || + roomPkData.getPkStatus() == RoomPkData.PK_STATUS_AFTER_PK)) { dismiss(); } break; diff --git a/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyRoomFragment.java b/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyRoomFragment.java index 8a135e376..b16b6f8b3 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyRoomFragment.java +++ b/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyRoomFragment.java @@ -2021,7 +2021,7 @@ public class HomePartyRoomFragment extends BaseMvpFragment SingleToastUtil.showToastShort(throwable.getMessage())) + .doOnError(throwable -> SingleToastUtil.showToastShort(throwable.getMessage())) .subscribe(); } diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/manager/IMNetEaseManager.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/manager/IMNetEaseManager.java index d1b82ecc1..22eb6d37a 100644 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/manager/IMNetEaseManager.java +++ b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/manager/IMNetEaseManager.java @@ -1854,9 +1854,10 @@ public final class IMNetEaseManager { if (roomQueueInfo != null && roomQueueInfo.mChatRoomMember != null) { ChatRoomMember chatRoomMember = roomQueueInfo.mChatRoomMember; + RoomPkData roomPkData = PkModel.get().getCurPkInfo(); //这里处理把这个人添加到队伍,或者移除队伍 - if (PkModel.get().getCurPkInfo() != null - && PkModel.get().getCurPkInfo().getPkStatus() == RoomPkData.PK_STATUS_BEFORE_PK) { + if (roomPkData != null && (roomPkData.getPkStatus() == RoomPkData.PK_STATUS_BEFORE_PK + || roomPkData.getPkStatus() == RoomPkData.PK_STATUS_AFTER_PK)) { UserInfo userInfo = new UserInfo(); userInfo.setUid(Long.parseLong(chatRoomMember.getAccount())); userInfo.setNick(chatRoomMember.getNick()); diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/gift/GiftModel.java b/core/src/main/java/com/yizhuan/xchat_android_core/gift/GiftModel.java index 1e5d06d8b..de57932b6 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/gift/GiftModel.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/gift/GiftModel.java @@ -141,6 +141,7 @@ public class GiftModel extends BaseModel implements IGiftModel { /** * 进入房间后,刷新礼物列表, 保留原来的不带有房间专属礼物的列表 + * * @param roomUid * @return */ @@ -151,6 +152,7 @@ public class GiftModel extends BaseModel implements IGiftModel { /** * 加载带有房间专属的礼物 + * * @param roomUid 房间 UID * @return */ @@ -167,6 +169,7 @@ public class GiftModel extends BaseModel implements IGiftModel { /** * 加载普通礼物,不带上房间专属的礼物 + * * @param roomUid * @return */ @@ -269,7 +272,7 @@ public class GiftModel extends BaseModel implements IGiftModel { private void parseChatRoomAttachment(CustomAttachment attachment) { //单人 3 普通单人-31 福袋单人-33 if (attachment.getFirst() == CustomAttachment.CUSTOM_MSG_HEADER_TYPE_GIFT) { - if (attachment.getSecond() == CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_GIFT){ + if (attachment.getSecond() == CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_GIFT) { GiftAttachment giftAttachment = (GiftAttachment) attachment; IMNetEaseManager.get().getChatRoomEventObservable().onNext(new RoomEvent() .setEvent(RoomEvent.RECEIVE_NORMALE_GIFT) @@ -278,7 +281,7 @@ public class GiftModel extends BaseModel implements IGiftModel { GiftValueMrg.get().updateMicQueueCharm( GiftValueCommonUpdate.transformGift(giftAttachment.getGiftReceiveInfo())); - } else if (attachment.getSecond() == CUSTOM_MSG_SUB_TYPE_SEND_LUCKY_GIFT){ + } else if (attachment.getSecond() == CUSTOM_MSG_SUB_TYPE_SEND_LUCKY_GIFT) { MultiLuckyGiftAttachment luckyGiftAttachment = (MultiLuckyGiftAttachment) attachment; LuckyBagGifts luckyBagGifts = luckyGiftAttachment.getMultiLuckyGiftReceiveInfo(); IMNetEaseManager.get().getChatRoomEventObservable().onNext(new RoomEvent() @@ -312,8 +315,8 @@ public class GiftModel extends BaseModel implements IGiftModel { //礼物值 GiftValueMrg.get().updateMicQueueCharm(GiftValueCommonUpdate .transformGift(giftBatchAttachment.getGiftMultiReceiverInfo())); - } else if (attachment.getSecond() == CUSTOM_MSG_SUB_TYPE_SEND_MULTI_LUCK_GIFT){//福袋多人 - MultiLuckyGiftAttachment giftBatchAttachment = (MultiLuckyGiftAttachment ) attachment; + } else if (attachment.getSecond() == CUSTOM_MSG_SUB_TYPE_SEND_MULTI_LUCK_GIFT) {//福袋多人 + MultiLuckyGiftAttachment giftBatchAttachment = (MultiLuckyGiftAttachment) attachment; LuckyBagGifts luckyBagGifts = giftBatchAttachment.getMultiLuckyGiftReceiveInfo(); IMNetEaseManager.get().getChatRoomEventObservable().onNext(new RoomEvent() .setEvent(RoomEvent.RECEIVE_MULTI_LUCKY_GIFT) @@ -323,8 +326,8 @@ public class GiftModel extends BaseModel implements IGiftModel { GiftValueMrg.get().updateMicQueueCharm( GiftValueCommonUpdate.transformGift(giftBatchAttachment.getMultiLuckyGiftReceiveInfo())); - } else if (attachment.getSecond() == CUSTOM_MSG_SUB_TYPE_SEND_ALL_MIC_LUCKY_GIFT){//福袋全麦 - MultiLuckyGiftAttachment giftBatchAttachment = (MultiLuckyGiftAttachment ) attachment; + } else if (attachment.getSecond() == CUSTOM_MSG_SUB_TYPE_SEND_ALL_MIC_LUCKY_GIFT) {//福袋全麦 + MultiLuckyGiftAttachment giftBatchAttachment = (MultiLuckyGiftAttachment) attachment; LuckyBagGifts luckyBagGifts = giftBatchAttachment.getMultiLuckyGiftReceiveInfo(); IMNetEaseManager.get().getChatRoomEventObservable().onNext(new RoomEvent() .setEvent(RoomEvent.RECEIVE_ALL_MIC_LUCKY_GIFT) @@ -396,7 +399,7 @@ public class GiftModel extends BaseModel implements IGiftModel { if (isKnap) { //应通过id去确定要需要更新的礼物背包 EventBus.getDefault().post(new UpdateKnapEvent(giftId, giftNum * targetUids.size())); - } else { + } else { PayModel.get().minusGold(giftInfo.getGoldPrice() * giftNum * targetUids.size()); } GiftMultiReceiverInfo giftMultiReceiverInfo = serviceResult.getData(); @@ -408,26 +411,26 @@ public class GiftModel extends BaseModel implements IGiftModel { case GiftSendType.TYPE_ANCHOR: case GiftSendType.TYPE_MIC: if (targetUids.size() == 1 && giftMultiReceiverInfo.getTargetUsers().size() == 1) { - if (giftMultiReceiverInfo.getGift().getGiftType() == GiftType.GIFT_TYPE_LUCKY){ + if (giftMultiReceiverInfo.getGift().getGiftType() == GiftType.GIFT_TYPE_LUCKY) { //发送个人福袋 - GiftToolbox.sendLuckyGiftRoomMessage(serviceResult.getData(),CustomAttachment.CUSTOM_MSG_HEADER_TYPE_GIFT,CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_LUCKY_GIFT); - }else { + GiftToolbox.sendLuckyGiftRoomMessage(serviceResult.getData(), CustomAttachment.CUSTOM_MSG_HEADER_TYPE_GIFT, CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_LUCKY_GIFT); + } else { GiftToolbox.sendGiftRoomMessage(GiftToolbox.transformToGiftReceiveInfo(giftMultiReceiverInfo)); } } else { //发送全麦礼物 if (isWholeMic) { if (giftMultiReceiverInfo.getGift().getGiftType() == GiftType.GIFT_TYPE_LUCKY) { - GiftToolbox.sendMultiLuckyGiftRoomMessage(serviceResult.getData(),CustomAttachment.CUSTOM_MSG_HEADER_TYPE_MULTI_GIFT,CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_ALL_MIC_LUCKY_GIFT); - }else{ + GiftToolbox.sendMultiLuckyGiftRoomMessage(serviceResult.getData(), CustomAttachment.CUSTOM_MSG_HEADER_TYPE_MULTI_GIFT, CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_ALL_MIC_LUCKY_GIFT); + } else { GiftToolbox.sendAllMicGiftRoomMessage(GiftToolbox.transformToMultiGiftReceiveInfo(giftMultiReceiverInfo)); } //发送多人礼物 } else { - if (giftMultiReceiverInfo.getGift().getGiftType() == GiftType.GIFT_TYPE_LUCKY){ + if (giftMultiReceiverInfo.getGift().getGiftType() == GiftType.GIFT_TYPE_LUCKY) { //发送多人福袋 - GiftToolbox.sendMultiLuckyGiftRoomMessage(serviceResult.getData(),CustomAttachment.CUSTOM_MSG_HEADER_TYPE_MULTI_GIFT,CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_MULTI_LUCK_GIFT); - }else { + GiftToolbox.sendMultiLuckyGiftRoomMessage(serviceResult.getData(), CustomAttachment.CUSTOM_MSG_HEADER_TYPE_MULTI_GIFT, CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_MULTI_LUCK_GIFT); + } else { GiftToolbox.sendMultiGiftRoomMessage(serviceResult.getData()); } }