From 737aeaec3e7a5e69dd7c6afbb050feda148aabd4 Mon Sep 17 00:00:00 2001 From: wzq Date: Mon, 18 Sep 2023 15:32:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20H5=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E9=80=9A=E7=94=A8=E9=A3=98=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/svga/svga_notify_h5.svga | Bin 0 -> 37391 bytes .../erban/avroom/activity/AVRoomActivity.java | 14 + .../erban/avroom/widget/RoomEffectView.kt | 426 +++++++++++------- .../main/res/drawable-xhdpi/bg_notify_h5.webp | Bin 0 -> 12444 bytes app/src/main/res/layout/layout_notify_h5.xml | 17 + .../layout/treasure_box_dialog_love_lack.xml | 2 - .../manager/IMNetEaseManager.java | 9 + .../im/custom/bean/CustomAttachParser.java | 3 + .../im/custom/bean/CustomAttachment.java | 15 + .../im/custom/bean/NotifyH5Attachment.kt | 22 + .../xchat_android_core/manager/RoomEvent.java | 1 + 11 files changed, 346 insertions(+), 163 deletions(-) create mode 100644 app/src/main/assets/svga/svga_notify_h5.svga create mode 100644 app/src/main/res/drawable-xhdpi/bg_notify_h5.webp create mode 100644 app/src/main/res/layout/layout_notify_h5.xml create mode 100644 core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/NotifyH5Attachment.kt diff --git a/app/src/main/assets/svga/svga_notify_h5.svga b/app/src/main/assets/svga/svga_notify_h5.svga new file mode 100644 index 0000000000000000000000000000000000000000..32784b04f2e58b87f7a4aff5fbec6c4547cff886 GIT binary patch literal 37391 zcmV(oK=HqLoRqr-P+VKkE(*cj-QC^YHMqOG1b2eFy9L((!8HVTcXxLuxXcC4Iq&|r z-mALxrh3+N_xk$l?lpVYUR5&-8jP8qiJlP|9uCNlM-&YRXjK>!fe;@%*%A7SkvVdV zW4MBx1ROLrG!PIFoRp-f5)jarv3Few66AeMbpF$8 zFS7El@ky+*2yNg>uj7iZ5m+4HaW3PjY~ma2GIKBE$!(E@UgD{5<1)6G*rn|{f8`gM`u=zU>}W%q55LT14ustmf+K)`YFsf?eaLPQ@NJ{V*}z3`^2E zhtjT0;Sq<|G2f3@#mOd&b@JZk6;`2+THgb2cK%@8ha&nZ9mkk51Q4 z45ilHD0`mCrtI)*?FYwC3mF~Kh^g7|^yH-*`OG-}S3uBq(87UANcBV#v;+M=Ru{ zZ+Nb@eImDHz`y?JVQVnOxfg2>cEP7-nOLUcye-Ee9f9g?2cE#sAa~)OrPh@`;CF(tR$xl#HBiZNgfFT zh3wt5l~q%y*JUtXvAqEVLc;OKids;-N0o{U5C8=0B|&#kcLa>eY<97R!z-DY`vo*sqEbETI)te?r#!@9H8 zf^F)4!vU8--06rX(qW5c633rwdTwW8kNgoRuoJjCOUr?_7v0nO*aX~RrEh`R%Dky& zcFs23FN$IcsahcVt0!;=>?s{r4QV@xSy>HP?0kvcdRwF$+*>KTZ%MaVU%eWg8ty0! zpb=i1o9-dNWD=}Sl5L^KPi}vZhU%Vfp5DqFgW6AcT81(gqIWcC!uufdQNT_U|# zQf6v&q0+7igrsoOPMJaf;kvh9m(0CUG4?Dw<@G+^b(bo`&1=?4kXF&3Oaq@F+jz~Z zBt)pO$$)s)mhWWFgN^!OLg|*mGm^7cGt7aJ5f;p1f{(_np&+eXc$Olk9oZq~4Ll&N ze=m4`B)F!TD2z6uJBz0kO)o;Tid;XdFeCxAZ|`_*k$^5yo7U}U

>FDs_iSr}6@| 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 Gocs^86fI!@ literal 0 HcmV?d00001 diff --git a/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java b/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java index 15840365c..cce55250d 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java +++ b/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java @@ -99,6 +99,7 @@ import com.yizhuan.xchat_android_core.gift.bean.GiftInfo; import com.yizhuan.xchat_android_core.gift.bean.LuckyBagNoticeInfo; import com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment; import com.yizhuan.xchat_android_core.im.custom.bean.FairyMsgAttachment; +import com.yizhuan.xchat_android_core.im.custom.bean.NotifyH5Attachment; import com.yizhuan.xchat_android_core.im.custom.bean.RoomBoxPrizeAttachment; import com.yizhuan.xchat_android_core.im.custom.bean.RoomBoxPrizeInfo; import com.yizhuan.xchat_android_core.im.custom.bean.RoomLuckySeaAttachment; @@ -1260,6 +1261,19 @@ public class AVRoomActivity extends BaseMvpActivity { + addPlayNotify(roomEvent.event, roomEvent.chatRoomMessage) + } + RoomEvent.RECEIVE_ROOM_LUCKY_BAG_NOTICE, RoomEvent.RECEIVE_SERVICE_LUCKY_BAG_NOTICE ->//全服福袋 //廳內福袋 addPlayNotify(roomEvent.event, roomEvent.chatRoomMessage) @@ -278,167 +281,195 @@ class RoomEffectView @JvmOverloads constructor( .observeOn(AndroidSchedulers.mainThread()) .takeWhile { messagesPlay.size > 0 && !mContext.isDestroyed() } .subscribe { - if (binding.flPlayNotify.childCount == 0) { - when (messagesPlay[0].event) { - RoomEvent.BOX_NOTIFY -> {//寻爱 - if ((mContext as AVRoomActivity).isTopActivity) { - isPlayAnim = true - val isPlay = onPlayAnimCallback?.invoke() ?: false - if (isPlay) { - margin( - binding.clNotify, - 0, - UIUtil.dip2px(context, 180.0), - 0, - 0 - ) - } else { - margin( - binding.clNotify, - 0, - UIUtil.dip2px(context, 60.0), - 0, - 0 - ) - } - showBoxNotify( - messagesPlay.removeAt(0) + if (binding.flPlayNotify.childCount != 0) { + return@subscribe + } + + when (messagesPlay[0].event) { + RoomEvent.BOX_NOTIFY -> {//寻爱 + if ((mContext as AVRoomActivity).isTopActivity) { + isPlayAnim = true + val isPlay = onPlayAnimCallback?.invoke() ?: false + if (isPlay) { + margin( + binding.clNotify, + 0, + UIUtil.dip2px(context, 180.0), + 0, + 0 + ) + } else { + margin( + binding.clNotify, + 0, + UIUtil.dip2px(context, 60.0), + 0, + 0 ) } + showBoxNotify( + messagesPlay.removeAt(0) + ) } + } - RoomEvent.BOX_NOTIFY_SVGA -> {//寻爱 - if ((mContext as AVRoomActivity).isTopActivity) { - isPlayAnim = true - val isPlay = onPlayAnimCallback?.invoke() ?: false - if (isPlay) { - margin( - binding.clNotify, - 0, - UIUtil.dip2px(context, 180.0), - 0, - 0 - ) - } else { - margin( - binding.clNotify, - 0, - UIUtil.dip2px(context, 60.0), - 0, - 0 - ) - } - showBoxNotifyBySVGA(messagesPlay.removeAt(0)) - } - } - - RoomEvent.TAROT_NOTIFY -> { - if ((mContext as AVRoomActivity).isTopActivity) { - isPlayAnim = true - val isPlay = onPlayAnimCallback?.invoke() ?: false - if (isPlay) { - margin( - binding.clNotify, - 0, - UIUtil.dip2px(context, 180.0), - 0, - 0 - ) - } else { - margin( - binding.clNotify, - 0, - UIUtil.dip2px(context, 60.0), - 0, - 0 - ) - } - showTarotNotify( - messagesPlay.removeAt(0) + RoomEvent.BOX_NOTIFY_SVGA -> {//寻爱 + if ((mContext as AVRoomActivity).isTopActivity) { + isPlayAnim = true + val isPlay = onPlayAnimCallback?.invoke() ?: false + if (isPlay) { + margin( + binding.clNotify, + 0, + UIUtil.dip2px(context, 180.0), + 0, + 0 + ) + } else { + margin( + binding.clNotify, + 0, + UIUtil.dip2px(context, 60.0), + 0, + 0 ) } + showBoxNotifyBySVGA(messagesPlay.removeAt(0)) } + } - RoomEvent.TAROT_NOTIFY_SVGA -> { - if ((mContext as AVRoomActivity).isTopActivity) { - isPlayAnim = true - val isPlay = onPlayAnimCallback?.invoke() ?: false - if (isPlay) { - margin( - binding.clNotify, - 0, - UIUtil.dip2px(context, 180.0), - 0, - 0 - ) - } else { - margin( - binding.clNotify, - 0, - UIUtil.dip2px(context, 60.0), - 0, - 0 - ) - } - showTarotNotifyBySVGA(messagesPlay.removeAt(0)) - } - } - - RoomEvent.RECEIVE_ROOM_LUCKY_BAG_NOTICE, RoomEvent.RECEIVE_SERVICE_LUCKY_BAG_NOTICE -> {//福袋 + RoomEvent.TAROT_NOTIFY -> { + if ((mContext as AVRoomActivity).isTopActivity) { isPlayAnim = true val isPlay = onPlayAnimCallback?.invoke() ?: false if (isPlay) { - margin(binding.clNotify, 0, UIUtil.dip2px(context, 180.0), 0, 0) + margin( + binding.clNotify, + 0, + UIUtil.dip2px(context, 180.0), + 0, + 0 + ) } else { - margin(binding.clNotify, 0, UIUtil.dip2px(context, 60.0), 0, 0) + margin( + binding.clNotify, + 0, + UIUtil.dip2px(context, 60.0), + 0, + 0 + ) } - showLuckyBagNotify( + showTarotNotify( messagesPlay.removeAt(0) ) } + } - RoomEvent.LUCKY_SEA_GIFT_ROOM_NOTIFY -> {//星级厨房 + RoomEvent.TAROT_NOTIFY_SVGA -> { + if ((mContext as AVRoomActivity).isTopActivity) { isPlayAnim = true val isPlay = onPlayAnimCallback?.invoke() ?: false if (isPlay) { - margin(binding.clNotify, 0, UIUtil.dip2px(context, 180.0), 0, 0) + margin( + binding.clNotify, + 0, + UIUtil.dip2px(context, 180.0), + 0, + 0 + ) } else { - margin(binding.clNotify, 0, UIUtil.dip2px(context, 60.0), 0, 0) + margin( + binding.clNotify, + 0, + UIUtil.dip2px(context, 60.0), + 0, + 0 + ) } - showLuckySeaNotify( - messagesPlay.removeAt(0) - ) + showTarotNotifyBySVGA(messagesPlay.removeAt(0)) + } + } + + RoomEvent.NOTIFY_H5 -> { + if (!(mContext as AVRoomActivity).isTopActivity) { + return@subscribe } - RoomEvent.LUCKY_SEA_GIFT_SERVER_NOTIFY -> {//星级厨房 - isPlayAnim = true - val isPlay = onPlayAnimCallback?.invoke() ?: false - if (isPlay) { - margin(binding.clNotify, 0, UIUtil.dip2px(context, 180.0), 0, 0) - } else { - margin(binding.clNotify, 0, UIUtil.dip2px(context, 60.0), 0, 0) - } - showLuckySeaNotifyBySVGA( - messagesPlay.removeAt(0) - ) + isPlayAnim = true + val isPlay = onPlayAnimCallback?.invoke() ?: false + margin( + binding.clNotify, + 0, + UIUtil.dip2px(context, if (isPlay) 180.0 else 60.0), + 0, + 0 + ) + + val msg = messagesPlay.removeAt(0) + val attachment = msg.chatRoomMessage.attachment as NotifyH5Attachment + val bean = attachment.bean ?: return@subscribe + if (bean.floatingType == 0) { + showNotifyH5(bean) + } else { + showNotifyH5WithAnim(bean) } - RoomEvent.FAIRY_DRAW_GIFT_L4, - RoomEvent.FAIRY_DRAW_GIFT_L5, - RoomEvent.FAIRY_CONVERT_L1, - RoomEvent.FAIRY_CONVERT_L2, - RoomEvent.FAIRY_CONVERT_L3 -> {//夺宝 - isPlayAnim = true - val isPlay = onPlayAnimCallback?.invoke() ?: false - if (isPlay) { - margin(binding.clNotify, 0, UIUtil.dip2px(context, 180.0), 0, 0) - } else { - margin(binding.clNotify, 0, UIUtil.dip2px(context, 60.0), 0, 0) - } - showFairyNotify( - messagesPlay.removeAt(0) - ) + } + + RoomEvent.RECEIVE_ROOM_LUCKY_BAG_NOTICE, RoomEvent.RECEIVE_SERVICE_LUCKY_BAG_NOTICE -> {//福袋 + isPlayAnim = true + val isPlay = onPlayAnimCallback?.invoke() ?: false + if (isPlay) { + margin(binding.clNotify, 0, UIUtil.dip2px(context, 180.0), 0, 0) + } else { + margin(binding.clNotify, 0, UIUtil.dip2px(context, 60.0), 0, 0) } + showLuckyBagNotify( + messagesPlay.removeAt(0) + ) + } + + RoomEvent.LUCKY_SEA_GIFT_ROOM_NOTIFY -> {//星级厨房 + isPlayAnim = true + val isPlay = onPlayAnimCallback?.invoke() ?: false + if (isPlay) { + margin(binding.clNotify, 0, UIUtil.dip2px(context, 180.0), 0, 0) + } else { + margin(binding.clNotify, 0, UIUtil.dip2px(context, 60.0), 0, 0) + } + showLuckySeaNotify( + messagesPlay.removeAt(0) + ) + } + + RoomEvent.LUCKY_SEA_GIFT_SERVER_NOTIFY -> {//星级厨房 + isPlayAnim = true + val isPlay = onPlayAnimCallback?.invoke() ?: false + if (isPlay) { + margin(binding.clNotify, 0, UIUtil.dip2px(context, 180.0), 0, 0) + } else { + margin(binding.clNotify, 0, UIUtil.dip2px(context, 60.0), 0, 0) + } + showLuckySeaNotifyBySVGA( + messagesPlay.removeAt(0) + ) + } + + RoomEvent.FAIRY_DRAW_GIFT_L4, + RoomEvent.FAIRY_DRAW_GIFT_L5, + RoomEvent.FAIRY_CONVERT_L1, + RoomEvent.FAIRY_CONVERT_L2, + RoomEvent.FAIRY_CONVERT_L3 -> {//夺宝 + isPlayAnim = true + val isPlay = onPlayAnimCallback?.invoke() ?: false + if (isPlay) { + margin(binding.clNotify, 0, UIUtil.dip2px(context, 180.0), 0, 0) + } else { + margin(binding.clNotify, 0, UIUtil.dip2px(context, 60.0), 0, 0) + } + showFairyNotify( + messagesPlay.removeAt(0) + ) } } } @@ -839,11 +870,80 @@ class RoomEffectView @JvmOverloads constructor( ) } + private fun showNotifyH5(data: NotifyH5Attachment.Bean) { + val textView = LayoutInflater.from(mContext) + .inflate(R.layout.layout_notify_h5, null) as TextView + textView.text = data.content + animationPlay = AnimationUtils.loadAnimation(mContext, R.anim.anim_box_notify) + binding.flPlayNotify.addView(textView) + textView.startAnimation(animationPlay) + binding.flPlayNotify.postDelayed( + { + animationPlay = AnimationUtils.loadAnimation(mContext, R.anim.anim_box_notify_close) + textView.startAnimation(animationPlay) + }, + SHOW_TIME.toLong() + ) + binding.flPlayNotify.postDelayed({ + binding.flPlayNotify.removeView(textView) + isPlayAnim = false + }, CLOSE_TIME.toLong()) + } + + private fun showNotifyH5WithAnim(data: NotifyH5Attachment.Bean) { + + val svgaImageView = SVGAImageView(mContext) + svgaImageView.loops = 1 + svgaImageView.clearsAfterStop = true + val params = LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT) + svgaImageView.layoutParams = params + svgaImageView.callback = object : SimpleSvgaCallback() { + override fun onFinished() { + binding.flPlayNotify.post { + binding.flPlayNotify.removeView(svgaImageView) + isPlayAnim = false + } + } + } + binding.flPlayNotify.addView(svgaImageView) + shareParser().decodeFromAssets( + "svga/svga_notify_h5.svga", + object : SVGAParser.ParseCompletion { + override fun onComplete(videoItem: SVGAVideoEntity) { + val dynamicEntity = SVGADynamicEntity() + val textPaint = TextPaint() + textPaint.color = Color.WHITE //字體顏色 + textPaint.textSize = 24f + dynamicEntity.setDynamicText( + StaticLayout( + data.content, + 0, + data.content.length, + textPaint, + 0, + Layout.Alignment.ALIGN_CENTER, + 1.0f, + 0.0f, + false + ), "bg" + ) + val drawable = SVGADrawable(videoItem, dynamicEntity) + svgaImageView.setImageDrawable(drawable) + svgaImageView.stepToFrame(0, true) + } + + override fun onError() {} + }, + null + ) + } + private fun showTarotNotify(roomPlayBean: RoomPlayBean) { val chatRoomMessage = roomPlayBean.chatRoomMessage val attachment = chatRoomMessage.attachment as TarotAttachment val textView = - LayoutInflater.from(mContext).inflate(R.layout.layout_notify_tarot_intermediate, null) as TextView + LayoutInflater.from(mContext) + .inflate(R.layout.layout_notify_tarot_intermediate, null) as TextView val string = mContext.getString( R.string.avroom_widget_roomeffectview_026, StringUtils.abbreviate(RegexUtil.getPrintableString(attachment.tarotMsgBean.nick), 8), @@ -933,32 +1033,36 @@ class RoomEffectView @JvmOverloads constructor( } } binding.flPlayNotify.addView(svgaImageView) - shareParser().decodeFromAssets("svga/svga_tarot_senior.svga", object : SVGAParser.ParseCompletion { - override fun onComplete(videoItem: SVGAVideoEntity) { - val dynamicEntity = SVGADynamicEntity() - val textPaint = TextPaint() - textPaint.color = Color.WHITE //字體顏色 - textPaint.textSize = 22f - dynamicEntity.setDynamicText( - StaticLayout( - text, - 0, - text.length, - textPaint, - 0, - Layout.Alignment.ALIGN_CENTER, - 1.0f, - 0.0f, - false - ), "taxt" - ) - val drawable = SVGADrawable(videoItem, dynamicEntity) - svgaImageView.setImageDrawable(drawable) - svgaImageView.stepToFrame(0, true) - } + shareParser().decodeFromAssets( + "svga/svga_tarot_senior.svga", + object : SVGAParser.ParseCompletion { + override fun onComplete(videoItem: SVGAVideoEntity) { + val dynamicEntity = SVGADynamicEntity() + val textPaint = TextPaint() + textPaint.color = Color.WHITE //字體顏色 + textPaint.textSize = 22f + dynamicEntity.setDynamicText( + StaticLayout( + text, + 0, + text.length, + textPaint, + 0, + Layout.Alignment.ALIGN_CENTER, + 1.0f, + 0.0f, + false + ), "taxt" + ) + val drawable = SVGADrawable(videoItem, dynamicEntity) + svgaImageView.setImageDrawable(drawable) + svgaImageView.stepToFrame(0, true) + } - override fun onError() {} - }, null) + override fun onError() {} + }, + null + ) } private fun showBoxNotifyBySVGA(roomPlayBean: RoomPlayBean) { diff --git a/app/src/main/res/drawable-xhdpi/bg_notify_h5.webp b/app/src/main/res/drawable-xhdpi/bg_notify_h5.webp new file mode 100644 index 0000000000000000000000000000000000000000..789d09f163e1dbdd5cbb6c4bf2d102fe0c84640f GIT binary patch literal 12444 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 aCDNW!^sb@5&eAa=2{P3G)2Z3?+rj`zq0k@z literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/layout_notify_h5.xml b/app/src/main/res/layout/layout_notify_h5.xml new file mode 100644 index 000000000..0018a20e0 --- /dev/null +++ b/app/src/main/res/layout/layout_notify_h5.xml @@ -0,0 +1,17 @@ + + \ No newline at end of file diff --git a/app/src/module_treasure_box/res/layout/treasure_box_dialog_love_lack.xml b/app/src/module_treasure_box/res/layout/treasure_box_dialog_love_lack.xml index 186da43ad..130e3df3b 100644 --- a/app/src/module_treasure_box/res/layout/treasure_box_dialog_love_lack.xml +++ b/app/src/module_treasure_box/res/layout/treasure_box_dialog_love_lack.xml @@ -97,7 +97,6 @@ android:layout_height="20dp" android:layout_marginStart="@dimen/dp_4" android:layout_marginTop="@dimen/dp_4" - android:onClick="@{click}" android:src="@drawable/treasure_box_sub_normal" /> 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 0755a3691..a5185a147 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 @@ -1360,6 +1360,8 @@ public final class IMNetEaseManager { || second == CUSTOM_MESS_TAROT_SENIOR_PRIZE_WINNING) { noticeTarot(msg, second); } + case CUSTOM_MSG_NOTIFY_H5: + noticeH5(msg); default: break; } @@ -3338,6 +3340,13 @@ public final class IMNetEaseManager { .setChatRoomMessage(msg)); } + private void noticeH5(ChatRoomMessage msg) { + getChatRoomEventObservable() + .onNext(new RoomEvent() + .setEvent(RoomEvent.NOTIFY_H5) + .setChatRoomMessage(msg)); + } + private void noticeRadish(ChatRoomMessage msg, int second) { int event = second == CUSTOM_MSG_SUB_RADISH_ALL_ROOM_NOTIFY ? RoomEvent.RADISH_NOTIFY : RoomEvent.RADISH_NOTIFY_SVGA; getChatRoomEventObservable() diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/CustomAttachParser.java b/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/CustomAttachParser.java index 57a6c1492..2d4bfc057 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/CustomAttachParser.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/CustomAttachParser.java @@ -643,6 +643,9 @@ public class CustomAttachParser implements MsgAttachmentParser { attachment = new FairyMsgAttachment(first, second); } break; + case CustomAttachment.CUSTOM_MSG_NOTIFY_H5: + attachment = new NotifyH5Attachment(second); + break; default: LogUtils.e(ResUtil.getString(R.string.custom_bean_customattachparser_01) + first + " second=" + second); break; diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/CustomAttachment.java b/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/CustomAttachment.java index 06c9e0c75..bdac1f714 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/CustomAttachment.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/CustomAttachment.java @@ -453,6 +453,21 @@ public class CustomAttachment implements MsgAttachment { public static final int CUSTOM_MSG_SUB_CONVERT_L2 = 9732; // 召唤L2 public static final int CUSTOM_MSG_SUB_CONVERT_L3 = 9733; // 召唤L3 + /** + * H5活动通用飘屏 + */ + public static final int CUSTOM_MSG_NOTIFY_H5 = 100; + + /** + * H5活动通用飘屏 - 房间 + */ + public static final int CUSTOM_MSG_NOTIFY_H5_SUB_ROOM = 1001; + + /** + * H5活动通用飘屏 - 全服 + */ + public static final int CUSTOM_MSG_NOTIFY_H5_SUB_WHOLE_SERVICE = 1002; + /** * 自定义消息附件的类型,根据该字段区分不同的自定义消息 */ diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/NotifyH5Attachment.kt b/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/NotifyH5Attachment.kt new file mode 100644 index 000000000..dbd1b0826 --- /dev/null +++ b/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/NotifyH5Attachment.kt @@ -0,0 +1,22 @@ +package com.yizhuan.xchat_android_core.im.custom.bean + +import com.alibaba.fastjson.JSONObject +import com.google.gson.Gson + +class NotifyH5Attachment(second: Int) : CustomAttachment(CUSTOM_MSG_NOTIFY_H5, second) { + var bean: Bean? = null + override fun parseData(data: JSONObject) { + bean = Gson().fromJson(data.toJSONString(), Bean::class.java) + } + + data class Bean( + val roomUid: Int, + + /** + * 飘屏类型 0 房间静态飘屏 1 全服动态飘屏 + */ + val floatingType: Int, + + val content: String, + ) +} \ No newline at end of file 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 ddadf926f..7aefa207a 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 @@ -261,6 +261,7 @@ public class RoomEvent { public static final int TAROT_NOTIFY = 107; public static final int TAROT_NOTIFY_SVGA = 108; + public static final int NOTIFY_H5 = 109; private int event = NONE; private int micPosition = Integer.MIN_VALUE;