diff --git a/app/src/main/java/com/yizhuan/erban/avroom/fragment/BaseRoomFragment.kt b/app/src/main/java/com/yizhuan/erban/avroom/fragment/BaseRoomFragment.kt index 441308898..f472a7989 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/fragment/BaseRoomFragment.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/fragment/BaseRoomFragment.kt @@ -145,6 +145,8 @@ open class BaseRoomFragment?> : private var isCloseScreen = false private var isOpenRedPackage = false + private var roomFreeGiftDialog: RoomFreeGiftDialog? = null + @JvmField protected var isDatingMode = false @@ -1201,7 +1203,11 @@ open class BaseRoomFragment?> : @Subscribe(threadMode = ThreadMode.MAIN) fun onRoomFreeGiftEvent(event: RoomFreeGiftEvent) { event.giftFreeInfo?.let { - RoomFreeGiftDialog(context, it).show() + if (roomFreeGiftDialog?.isShowing == true) { + roomFreeGiftDialog?.dismiss() + } + roomFreeGiftDialog = RoomFreeGiftDialog(context, it) + roomFreeGiftDialog?.show() } } 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 1726cb6b1..d33381531 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 @@ -628,6 +628,7 @@ public class CustomAttachParser implements MsgAttachmentParser { if (second == ROOM_FREE_GIFT_REST) { GiftModel.get().getFreeGift(true).subscribe(); }else if(second == ROOM_FREE_GIFT_CHANGE){ + GiftModel.get().getFreeGift(false).subscribe(); attachment = new RoomFreeGiftAttachment(first, second); } break;