diff --git a/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPKBoardView.kt b/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPKBoardView.kt index 47c80eadf..4eefd4fa5 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPKBoardView.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPKBoardView.kt @@ -25,6 +25,7 @@ import com.yizhuan.xchat_android_core.manager.AvRoomDataManager import com.yizhuan.xchat_android_core.room.anotherroompk.ShowGiftDialogEvent import com.yizhuan.xchat_android_core.room.anotherroompk.ShowUserInfoDialogEvent import com.yizhuan.xchat_android_core.utils.CurrentTimeUtils +import com.yizhuan.xchat_android_core.utils.subAndReplaceDot import com.yizhuan.xchat_android_library.rxbus.RxBus import com.yizhuan.xchat_android_library.utils.CommonUtils import io.reactivex.Observable @@ -103,7 +104,7 @@ class RoomPKBoardView @JvmOverloads constructor( @SuppressLint("SetTextI18n") private fun updateView(roomPkBean: RoomPkBean?) { this.roomPkBean = roomPkBean - binding.tvRoomNameLeft.text = roomPkBean?.cTitle + binding.tvRoomNameLeft.text = roomPkBean?.cTitle.subAndReplaceDot(7) ImageLoadUtils.loadImage( context, roomPkBean?.cAvatar, @@ -113,7 +114,7 @@ class RoomPKBoardView @JvmOverloads constructor( binding.viewRankListCharmLeft.updateData(roomPkBean?.crRank) binding.viewRankListContributeLeft.updateData(roomPkBean?.csRank) - binding.tvRoomNameRight.text = roomPkBean?.aTitle + binding.tvRoomNameRight.text = roomPkBean?.aTitle.subAndReplaceDot(7) ImageLoadUtils.loadImage( context, roomPkBean?.aAvatar, diff --git a/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPKCreateActivity.kt b/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPKCreateActivity.kt index 29a5e9523..1b0d0e9e5 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPKCreateActivity.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPKCreateActivity.kt @@ -18,6 +18,7 @@ import com.yizhuan.xchat_android_core.manager.AvRoomDataManager import com.yizhuan.xchat_android_core.room.anotherroompk.RoomPKModel import com.yizhuan.xchat_android_core.room.anotherroompk.SimpleRoomInfo import com.yizhuan.xchat_android_core.utils.ifNotNullOrEmpty +import com.yizhuan.xchat_android_core.utils.subAndReplaceDot import com.yizhuan.xchat_android_core.utils.toIntOrDef import com.yizhuan.xchat_android_core.utils.toast @@ -37,10 +38,9 @@ class RoomPKCreateActivity : BaseViewBindingActivity(R.layout.item_room_pk_search) { override fun convert(helper: BaseViewHolder, item: SimpleRoomInfo) { - helper.setText(R.id.tv_room_title,item.title) - .setText(R.id.tv_room_id,"音游号${item.erbanNo}") + helper.setText(R.id.tv_room_title,item.title.subAndReplaceDot(7)) + .setText(R.id.tv_room_id,"音游号:${item.erbanNo}") .setChecked(R.id.check_box,item.checked) ImageLoadUtils.loadImage(mContext,item.avatar,helper.getView(R.id.iv_avatar)) helper.addOnClickListener(R.id.iv_avatar,R.id.check_box) diff --git a/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPkFinishDialog.kt b/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPkFinishDialog.kt index b668f9352..24f90646b 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPkFinishDialog.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPkFinishDialog.kt @@ -9,6 +9,7 @@ import com.yizhuan.erban.base.BaseDialog import com.yizhuan.erban.databinding.DialogRoomPkFinishBinding import com.yizhuan.erban.ui.utils.ImageLoadUtils import com.yizhuan.xchat_android_core.im.custom.bean.RoomPkBean +import com.yizhuan.xchat_android_core.utils.subAndReplaceDot class RoomPkFinishDialog : BaseDialog() { @@ -30,7 +31,7 @@ class RoomPkFinishDialog : BaseDialog() { @SuppressLint("CheckResult", "SetTextI18n") override fun init() { binding.ivClose.setOnClickListener { dismissAllowingStateLoss() } - binding.tvTitleRed.text = roomPkBean.cTitle + binding.tvTitleRed.text = roomPkBean.cTitle.subAndReplaceDot(7) binding.tvValueRed.text = "${roomPkBean.cAmount}" binding.ivRedWin.isVisible = roomPkBean.cUid == roomPkBean.winUid && roomPkBean.winUid != 0L ImageLoadUtils.loadImage( @@ -40,7 +41,7 @@ class RoomPkFinishDialog : BaseDialog() { R.drawable.default_avatar ) - binding.tvTitleBlue.text = roomPkBean.aTitle + binding.tvTitleBlue.text = roomPkBean.aTitle.subAndReplaceDot(7) binding.tvValueBlue.text = "${roomPkBean.aAmount}" binding.ivBlueWin.isVisible = roomPkBean.cUid != roomPkBean.winUid && roomPkBean.winUid != 0L @@ -52,7 +53,7 @@ class RoomPkFinishDialog : BaseDialog() { ) roomPkBean.csRank.getOrNull(0)?.let { - binding.tvNickContribute.text = it.nick + binding.tvNickContribute.text = it.nick.subAndReplaceDot(7) binding.tvValueContribute.text = "神豪值:${it.amount}" ImageLoadUtils.loadImage( context, @@ -63,7 +64,7 @@ class RoomPkFinishDialog : BaseDialog() { } roomPkBean.crRank.getOrNull(0)?.let { - binding.tvNickCharm.text = it.nick + binding.tvNickCharm.text = it.nick.subAndReplaceDot(7) binding.tvValueCharm.text = "魅力值:${it.amount}" ImageLoadUtils.loadImage( context, diff --git a/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPkForceFinishDialog.kt b/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPkForceFinishDialog.kt index dc5098f79..4c4989a57 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPkForceFinishDialog.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPkForceFinishDialog.kt @@ -8,6 +8,7 @@ import com.yizhuan.erban.base.BaseDialog import com.yizhuan.erban.databinding.DialogRoomPkForceFinishBinding import com.yizhuan.erban.ui.utils.ImageLoadUtils import com.yizhuan.xchat_android_core.im.custom.bean.RoomPkBean +import com.yizhuan.xchat_android_core.utils.subAndReplaceDot class RoomPkForceFinishDialog : BaseDialog() { @@ -29,7 +30,7 @@ class RoomPkForceFinishDialog : BaseDialog() { @SuppressLint("CheckResult", "SetTextI18n") override fun init() { binding.ivClose.setOnClickListener { dismissAllowingStateLoss() } - binding.tvTitleRed.text = roomPkBean.cTitle + binding.tvTitleRed.text = roomPkBean.cTitle.subAndReplaceDot(7) binding.tvValueRed.text = "${roomPkBean.cAmount}" ImageLoadUtils.loadImage( context, @@ -38,7 +39,7 @@ class RoomPkForceFinishDialog : BaseDialog() { R.drawable.default_avatar ) - binding.tvTitleBlue.text = roomPkBean.aTitle + binding.tvTitleBlue.text = roomPkBean.aTitle.subAndReplaceDot(7) binding.tvValueBlue.text = "${roomPkBean.aAmount}" ImageLoadUtils.loadImage( diff --git a/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPkReceivedDialog.kt b/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPkReceivedDialog.kt index 1652525b5..54c0e82aa 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPkReceivedDialog.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/anotherroompk/RoomPkReceivedDialog.kt @@ -9,6 +9,7 @@ import com.yizhuan.xchat_android_core.im.custom.bean.RoomPkBean import com.yizhuan.xchat_android_core.manager.AvRoomDataManager import com.yizhuan.xchat_android_core.room.anotherroompk.RoomPKModel import com.yizhuan.xchat_android_core.utils.ifNotNullOrEmpty +import com.yizhuan.xchat_android_core.utils.subAndReplaceDot import com.yizhuan.xchat_android_core.utils.toast import io.reactivex.Observable import io.reactivex.android.schedulers.AndroidSchedulers @@ -35,7 +36,7 @@ class RoomPkReceivedDialog : BaseDialog() { @SuppressLint("CheckResult") override fun init() { - binding.tvNick.text = pkBean.inviteRoomTitle + binding.tvNick.text = pkBean.inviteRoomTitle.subAndReplaceDot(7) binding.tvTime.text = "${pkBean.pkDuration}分钟" pkBean.pkDesc.ifNotNullOrEmpty { binding.tvDescTitle.isVisible = true diff --git a/app/src/main/java/com/yizhuan/erban/avroom/widget/RoomEffectView.java b/app/src/main/java/com/yizhuan/erban/avroom/widget/RoomEffectView.java index d2723ef0f..f80fa318d 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/widget/RoomEffectView.java +++ b/app/src/main/java/com/yizhuan/erban/avroom/widget/RoomEffectView.java @@ -45,6 +45,8 @@ import com.yizhuan.xchat_android_core.im.custom.bean.DatingAllNotifyAttachment; import com.yizhuan.xchat_android_core.im.custom.bean.DatingAttachment; import com.yizhuan.xchat_android_core.im.custom.bean.LevelUpNoticeAttachment; import com.yizhuan.xchat_android_core.im.custom.bean.RoomBoxPrizeAttachment; +import com.yizhuan.xchat_android_core.im.custom.bean.RoomPKAttachment; +import com.yizhuan.xchat_android_core.im.custom.bean.RoomPkBean; import com.yizhuan.xchat_android_core.im.custom.bean.RoomReceivedLuckyGiftAttachment; import com.yizhuan.xchat_android_core.manager.AvRoomDataManager; import com.yizhuan.xchat_android_core.manager.IMNetEaseManager; @@ -90,26 +92,28 @@ public class RoomEffectView extends FrameLayout { private Animation animation; private List messages; private Disposable boxDisposable; - private boolean isCreate; + private List messagesBoxSVGA; private Disposable boxSVGADisposable; - private boolean isBoxSVGACreate; + private Animation animationLuckyGift; private List messagesLuckyGift; - private boolean isCreateLuckyGift; private Disposable disposableLuckyGift; + private List messagesMemberIn; - private boolean isCreateMemberIn; private Disposable disposableMemberIn; + private List messagesLevelUp; - private boolean isCreateLevelUp; private Disposable disposableLevelUp; + private Animation animationDatingAll; private List messagesDatingAll; - private boolean isCreateDatingAll; private Disposable disposableDatingAll; private Disposable datingDisposable; + private List messagesRoomPK; + private Disposable disposableRoomPK; + public RoomEffectView(@NonNull Context context) { this(context, null); } @@ -162,6 +166,9 @@ public class RoomEffectView extends FrameLayout { playCarSvga(null, roomEvent.mRoomCarMsgAttachment.effect, false); } break; + case RoomEvent.ROOM_PK_NOTIFY: + addRoomPKNotify(roomEvent.getChatRoomMessage()); + break; default: break; } @@ -197,17 +204,11 @@ public class RoomEffectView extends FrameLayout { binding.clNotify.setVisibility(View.VISIBLE); } messagesDatingAll.add(chatRoomMessage); - if (disposableDatingAll == null || messagesDatingAll.size() == 1) { - isCreateDatingAll = true; + if (disposableDatingAll == null || disposableDatingAll.isDisposed()) { disposableDatingAll = Observable.interval(0, 3, TimeUnit.SECONDS) .observeOn(AndroidSchedulers.mainThread()) - .doOnNext(aLong -> { - if (messagesDatingAll.size() > 0 && !isCreateDatingAll) - messagesDatingAll.remove(0);//如果不是新创建的Observable发送的数据,需要移除第一个 - isCreateDatingAll = false; - }) .takeWhile(aLong -> messagesDatingAll.size() > 0 && messagesDatingAll.get(0) != null) - .subscribe(aLong -> showDatingAllNotify(messagesDatingAll.get(0))); + .subscribe(aLong -> showDatingAllNotify(messagesDatingAll.remove(0))); } } @@ -263,17 +264,11 @@ public class RoomEffectView extends FrameLayout { binding.clNotify.setVisibility(View.VISIBLE); } messagesLuckyGift.add(chatRoomMessage); - if (disposableLuckyGift == null || messagesLuckyGift.size() == 1) { - isCreateLuckyGift = true; + if (disposableLuckyGift == null || disposableLuckyGift.isDisposed()) { disposableLuckyGift = Observable.interval(0, PERIOD, TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) - .doOnNext(aLong -> { - if (messagesLuckyGift.size() > 0 && !isCreateLuckyGift) - messagesLuckyGift.remove(0);//如果不是新创建的Observable发送的数据,需要移除第一个 - isCreateLuckyGift = false; - }) .takeWhile(aLong -> messagesLuckyGift.size() > 0 && messagesLuckyGift.get(0) != null) - .subscribe(aLong -> showLuckyBagNotify(messagesLuckyGift.get(0))); + .subscribe(aLong -> showLuckyBagNotify(messagesLuckyGift.remove(0))); } } @@ -308,17 +303,11 @@ public class RoomEffectView extends FrameLayout { binding.clNotify.setVisibility(View.VISIBLE); } messages.add(chatRoomMessage); - if (boxDisposable == null || messages.size() == 1) { - isCreate = true; + if (boxDisposable == null || boxDisposable.isDisposed()) { boxDisposable = Observable.interval(0, PERIOD, TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) - .doOnNext(aLong -> { - if (messages.size() > 0 && !isCreate) - messages.remove(0);//如果不是新创建的Observable发送的数据,需要移除第一个 - isCreate = false; - }) .takeWhile(aLong -> messages.size() > 0 && messages.get(0) != null) - .subscribe(aLong -> showBoxNotify(messages.get(0))); + .subscribe(aLong -> showBoxNotify(messages.remove(0))); } } @@ -351,17 +340,11 @@ public class RoomEffectView extends FrameLayout { binding.clNotify.setVisibility(View.VISIBLE); } messagesBoxSVGA.add(chatRoomMessage); - if (boxSVGADisposable == null || messagesBoxSVGA.size() == 1) { - isBoxSVGACreate = true; + if (boxSVGADisposable == null || boxSVGADisposable.isDisposed()) { boxSVGADisposable = Observable.interval(0, PERIOD, TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) - .doOnNext(aLong -> { - if (messagesBoxSVGA.size() > 0 && !isBoxSVGACreate) - messagesBoxSVGA.remove(0);//如果不是新创建的Observable发送的数据,需要移除第一个 - isBoxSVGACreate = false; - }) .takeWhile(aLong -> messagesBoxSVGA.size() > 0 && messagesBoxSVGA.get(0) != null) - .subscribe(aLong -> showBoxNotifyBySVGA(messagesBoxSVGA.get(0))); + .subscribe(aLong -> showBoxNotifyBySVGA(messagesBoxSVGA.remove(0))); } } @@ -426,17 +409,11 @@ public class RoomEffectView extends FrameLayout { private void addMemberInNotify(ChatRoomMessage chatRoomMessage) { if (messagesMemberIn == null) messagesMemberIn = new ArrayList<>(); messagesMemberIn.add(chatRoomMessage); - if (disposableMemberIn == null || messagesMemberIn.size() == 1) { - isCreateMemberIn = true; + if (disposableMemberIn == null || disposableMemberIn.isDisposed()) { disposableMemberIn = Observable.interval(0, 6, TimeUnit.SECONDS) .observeOn(AndroidSchedulers.mainThread()) - .doOnNext(aLong -> { - if (messagesMemberIn.size() > 0 && !isCreateMemberIn) - messagesMemberIn.remove(0);//如果不是新创建的Observable发送的数据,需要移除第一个 - isCreateMemberIn = false; - }) .takeWhile(aLong -> messagesMemberIn.size() > 0 && messagesMemberIn.get(0) != null) - .subscribe(aLong -> showMemberInNotify(messagesMemberIn.get(0))); + .subscribe(aLong -> showMemberInNotify(messagesMemberIn.remove(0))); } } @@ -533,17 +510,11 @@ public class RoomEffectView extends FrameLayout { private void addLevelUpNotify(ChatRoomMessage chatRoomMessage) { if (messagesLevelUp == null) messagesLevelUp = new ArrayList<>(); messagesLevelUp.add(chatRoomMessage); - if (disposableLevelUp == null || messagesLevelUp.size() == 1) { - isCreateLevelUp = true; + if (disposableLevelUp == null || disposableLevelUp.isDisposed()) { disposableLevelUp = Observable.interval(0, 6, TimeUnit.SECONDS) .observeOn(AndroidSchedulers.mainThread()) - .doOnNext(aLong -> { - if (messagesLevelUp.size() > 0 && !isCreateLevelUp) - messagesLevelUp.remove(0);//如果不是新创建的Observable发送的数据,需要移除第一个 - isCreateLevelUp = false; - }) .takeWhile(aLong -> messagesLevelUp.size() > 0 && messagesLevelUp.get(0) != null) - .subscribe(aLong -> showLevelUpNotify(messagesLevelUp.get(0))); + .subscribe(aLong -> showLevelUpNotify(messagesLevelUp.remove(0))); } } @@ -774,6 +745,37 @@ public class RoomEffectView extends FrameLayout { } } + /** + * 升级飘屏 + * + * @param chatRoomMessage + */ + private void addRoomPKNotify(ChatRoomMessage chatRoomMessage) { + if (messagesRoomPK == null) messagesRoomPK = new ArrayList<>(); + messagesRoomPK.add(chatRoomMessage); + if (disposableRoomPK == null || disposableRoomPK.isDisposed()) { + disposableRoomPK = Observable.interval(0, 6, TimeUnit.SECONDS) + .observeOn(AndroidSchedulers.mainThread()) + .takeWhile(aLong -> messagesRoomPK.size() > 0 && messagesRoomPK.get(0) != null) + .subscribe(aLong -> showRoomPKNotify(messagesRoomPK.remove(0))); + } + } + + private void showRoomPKNotify(ChatRoomMessage chatRoomMessage) { + RoomPkBean roomPkBean = ((RoomPKAttachment) chatRoomMessage.getAttachment()).getRoomPkBean(); + View rootView = LayoutInflater.from(mContext).inflate(R.layout.layout_room_pk_notify, null); + ((TextView) rootView.findViewById(R.id.tv_title_left)).setText(StringExtensionKt.subAndReplaceDot(roomPkBean.getWinTitle(),7)); + ((TextView) rootView.findViewById(R.id.tv_title_right)).setText(StringExtensionKt.subAndReplaceDot(roomPkBean.getFailTitle(),7)); + ((TextView) rootView.findViewById(R.id.tv_win_text)).setText(roomPkBean.getMsg()); + ImageLoadUtils.loadImage(getContext(), roomPkBean.getWinAvatar(), rootView.findViewById(R.id.iv_avatar_left)); + ImageLoadUtils.loadImage(getContext(), roomPkBean.getFailAvatar(), rootView.findViewById(R.id.iv_avatar_right)); + rootView.findViewById(R.id.tv_go_room).setOnClickListener(v -> AVRoomActivity.start(getContext(), roomPkBean.getWinUid())); + binding.flRoomPKNotify.addView(rootView); + animationLuckyGift = AnimationUtils.loadAnimation(mContext, R.anim.anim_box_notify); + rootView.startAnimation(animationLuckyGift); + binding.flRoomPKNotify.postDelayed(() -> binding.flRoomPKNotify.removeView(rootView), SHOW_TIME); + } + @Override protected void onDetachedFromWindow() { @@ -785,5 +787,6 @@ public class RoomEffectView extends FrameLayout { if (datingDisposable != null) datingDisposable.dispose(); if (imDisposable != null) imDisposable.dispose(); if (disposableDatingAll != null) disposableDatingAll.dispose(); + if (disposableRoomPK != null) disposableRoomPK.dispose(); } } diff --git a/app/src/main/res/drawable-xhdpi/bg_room_pk_go_room.png b/app/src/main/res/drawable-xhdpi/bg_room_pk_go_room.png new file mode 100644 index 000000000..74f97d760 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/bg_room_pk_go_room.png differ diff --git a/app/src/main/res/drawable-xhdpi/bg_room_pk_notice.png b/app/src/main/res/drawable-xhdpi/bg_room_pk_notice.png new file mode 100644 index 000000000..d1293f725 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/bg_room_pk_notice.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_room_pk_ko.png b/app/src/main/res/drawable-xhdpi/ic_room_pk_ko.png new file mode 100644 index 000000000..56725974e Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_room_pk_ko.png differ diff --git a/app/src/main/res/layout/activity_room_pk_create.xml b/app/src/main/res/layout/activity_room_pk_create.xml index 023d81688..28c622b5a 100644 --- a/app/src/main/res/layout/activity_room_pk_create.xml +++ b/app/src/main/res/layout/activity_room_pk_create.xml @@ -225,6 +225,7 @@ android:hint="选填,10个字以内" android:paddingStart="20dp" android:paddingEnd="50dp" + android:maxLength="10" android:textColor="@color/text_title_white" android:textColorHint="@color/white_transparent_50" android:textSize="15sp" diff --git a/app/src/main/res/layout/layout_room_effect.xml b/app/src/main/res/layout/layout_room_effect.xml index 4bbb53035..e241a194f 100644 --- a/app/src/main/res/layout/layout_room_effect.xml +++ b/app/src/main/res/layout/layout_room_effect.xml @@ -68,6 +68,14 @@ app:layout_constraintDimensionRatio="75:14" app:layout_constraintTop_toBottomOf="@id/fl_box_notify" /> + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 3a33e133b..0a8a4ba93 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -176,10 +176,12 @@ true @null - - @android:style/Animation.Dialog false + + @anim/anim_bottom_in + + @anim/anim_bottom_out 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 44b52431b..5d6c1fed1 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 @@ -273,6 +273,7 @@ import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUS import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_ROOM_PK_ACCEPT; import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_ROOM_PK_FINISH; import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_ROOM_PK_INVITE; +import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_ROOM_PK_NOTIFY; import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_ROOM_PK_UPDATE; import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_TYPE_MONSTER_HUNTING; import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_ADD_BLACK; @@ -1355,6 +1356,9 @@ public final class IMNetEaseManager { noticeRoomEvent(msg, RoomEvent.ROOM_PK_FINISH); AvRoomDataManager.get().roomPkLiveData.postValue(null); break; + case CUSTOM_MSG_SUB_ROOM_PK_NOTIFY: + noticeRoomEvent(msg, RoomEvent.ROOM_PK_NOTIFY); + break; } break; diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/RoomPkBean.java b/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/RoomPkBean.java index 792c45cbb..436d9832a 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/RoomPkBean.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/RoomPkBean.java @@ -79,6 +79,16 @@ public class RoomPkBean implements Serializable { //另一方魅力榜前三 private List arRank; + /** + * 通知相关字段 + */ + private String msg; + private String failAvatar; + private String winAvatar; + private String failUid; + private String failTitle; + private String winTitle; + @Data public static class RankBean implements Serializable{ //uid diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/manager/RoomEvent.java b/core/src/main/java/com/yizhuan/xchat_android_core/manager/RoomEvent.java index 02c92b79d..a1544745e 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/manager/RoomEvent.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/manager/RoomEvent.java @@ -213,6 +213,7 @@ public class RoomEvent { public static final int ROOM_PK_INVITE = 72; public static final int ROOM_PK_ACCEPT = 73; public static final int ROOM_PK_FINISH = 74; + public static final int ROOM_PK_NOTIFY = 75; private int event = NONE; private int micPosition = Integer.MIN_VALUE;