From 759b7ee97da70c742e33459c8478bb1f2103dffc Mon Sep 17 00:00:00 2001 From: huangjian Date: Mon, 24 Oct 2022 15:43:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E9=97=B4=E5=BC=80=E7=AE=B1=E5=85=A5?= =?UTF-8?q?=E5=8F=A3=E7=BB=9F=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/RoomTitleEditActivity.java | 10 +- .../moshen/avroom/dialog/RoomPlayDialog.java | 65 +++++++++++++ .../avroom/fragment/BaseRoomFragment.kt | 11 --- .../fragment/HomePartyRoomFragment.java | 60 +++--------- .../avroom/fragment/SingleRoomFragment.kt | 19 ---- .../avroom/presenter/GameRoomPresenter.java | 11 +-- .../avroom/presenter/HomePartyPresenter.java | 28 +----- .../moshen/avroom/widget/BottomView.java | 82 +++++++++++++++- .../res/drawable-xhdpi/bg_room_play_pop.png | Bin 0 -> 13603 bytes .../drawable-xhdpi/ic_room_bottom_play.png | Bin 0 -> 3396 bytes .../res/drawable-xhdpi/ic_vip_room_bottom.png | Bin 2747 -> 3174 bytes app/src/main/res/layout/dialog_room_play.xml | 92 ++++++++++++++++++ .../main/res/layout/layout_bottom_view.xml | 13 ++- app/src/main/res/layout/popup_play_tip.xml | 9 ++ .../res/layout/fragment_av_room_game.xml | 45 --------- .../res/layout/fragment_single_room.xml | 47 +-------- .../treasure_box/widget/GoldBoxHelper.java | 69 +++++++------ .../main/java/com/mango/core/DemoCache.java | 18 ++++ 18 files changed, 329 insertions(+), 250 deletions(-) create mode 100644 app/src/main/java/com/mango/moshen/avroom/dialog/RoomPlayDialog.java create mode 100644 app/src/main/res/drawable-xhdpi/bg_room_play_pop.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_room_bottom_play.png create mode 100644 app/src/main/res/layout/dialog_room_play.xml create mode 100644 app/src/main/res/layout/popup_play_tip.xml diff --git a/app/src/main/java/com/mango/moshen/avroom/activity/RoomTitleEditActivity.java b/app/src/main/java/com/mango/moshen/avroom/activity/RoomTitleEditActivity.java index da24a4aeb..be42d83d2 100644 --- a/app/src/main/java/com/mango/moshen/avroom/activity/RoomTitleEditActivity.java +++ b/app/src/main/java/com/mango/moshen/avroom/activity/RoomTitleEditActivity.java @@ -98,7 +98,7 @@ public class RoomTitleEditActivity extends BaseBindingActivity GoldBoxHelper.handleBoxClick(context)); + binding.llBox.setVisibility(GoldBoxHelper.isShowBox() ? View.VISIBLE : View.GONE); + + binding.llRadish.setVisibility(GoldBoxHelper.isShowRadish() ? View.VISIBLE : View.GONE); + binding.llRadish.setOnClickListener(v -> PullRadishActivity.start(context)); + } + +} diff --git a/app/src/main/java/com/mango/moshen/avroom/fragment/BaseRoomFragment.kt b/app/src/main/java/com/mango/moshen/avroom/fragment/BaseRoomFragment.kt index 8c8c6b30e..748316973 100644 --- a/app/src/main/java/com/mango/moshen/avroom/fragment/BaseRoomFragment.kt +++ b/app/src/main/java/com/mango/moshen/avroom/fragment/BaseRoomFragment.kt @@ -165,7 +165,6 @@ open class BaseRoomFragment?> : private var pagerViewWishList: RollPagerView? = null private var isCloseScreen = false private var isOpenRedPackage = false - private val llBox: View by lazy { mView.findViewById(R.id.ll_box) } @JvmField protected var isDatingMode = false @@ -208,7 +207,6 @@ open class BaseRoomFragment?> : microView = mView.findViewById(R.id.micro_view) mVsMusicPlayer = mView.findViewById(R.id.vs_music_player) ivMusicFlag = mView.findViewById(R.id.iv_music_flag) - ivRadishEntrance = mView.findViewById(R.id.iv_radish_entrance) pagerViewWishList = mView.findViewById(R.id.pager_view_wish_list) messageView.setClickConsumer { if (!TextUtils.isEmpty(it) && it != "0") { @@ -758,15 +756,6 @@ open class BaseRoomFragment?> : mvpPresenter?.loadRoomRank() } R.id.iv_first_charge_enter -> FirstChargeDialog.start(mContext) - R.id.iv_treasure_box -> GoldBoxHelper.handleBoxClick(mContext) - R.id.iv_radish_entrance -> PullRadishActivity.start(mContext) - R.id.tv_box_more -> { - val translationX = llBox.width - ScreenUtil.dip2px(33f).toFloat() - llBox.animate() - .translationX(if (llBox.translationX == 0f) translationX else 0f) - .setDuration(300) - .start() - } } } diff --git a/app/src/main/java/com/mango/moshen/avroom/fragment/HomePartyRoomFragment.java b/app/src/main/java/com/mango/moshen/avroom/fragment/HomePartyRoomFragment.java index ebef05795..cb3ea192e 100644 --- a/app/src/main/java/com/mango/moshen/avroom/fragment/HomePartyRoomFragment.java +++ b/app/src/main/java/com/mango/moshen/avroom/fragment/HomePartyRoomFragment.java @@ -150,19 +150,17 @@ public class HomePartyRoomFragment extends BaseRoomFragment { - if (userInfo.isFirstCharge()) { - gameBinding.ivFirstChargeEnter.setVisibility(View.VISIBLE); - HashMap map = new HashMap<>(); - map.put("name", "新人充值"); - StatisticManager.Instance() - .onEvent(StatisticsProtocol.EVENT_ROOM_POP_SHOW, "房间pop曝光", map); - } - }); - } + UserModel.get().getCurrentUserInfo() + .compose(bindToLifecycle()) + .subscribe(userInfo -> { + if (userInfo.isFirstCharge()) { + gameBinding.ivFirstChargeEnter.setVisibility(View.VISIBLE); + HashMap map = new HashMap<>(); + map.put("name", "新人充值"); + StatisticManager.Instance() + .onEvent(StatisticsProtocol.EVENT_ROOM_POP_SHOW, "房间pop曝光", map); + } + }); } @@ -809,42 +807,6 @@ public class HomePartyRoomFragment extends BaseRoomFragment { - if (hide != null && !hide) { - if (AvRoomDataManager.get().isCpRoom()) { - gameBinding.ivTreasureBox.setVisibility(View.GONE); - } else { - gameBinding.ivTreasureBox.setVisibility(View.VISIBLE); - - GlideApp.with(BasicConfig.INSTANCE.getAppContext()) - .load(GoldBoxHelper.getBoxIcon()) - .error(R.drawable.icon_room_treasure_box) - .into(gameBinding.ivTreasureBox); - HashMap map = new HashMap<>(); - map.put("name", "糖果树"); - StatisticManager.Instance() - .onEvent(StatisticsProtocol.EVENT_ROOM_POP_SHOW, "房间pop曝光", map); - } - } else { - gameBinding.ivTreasureBox.setVisibility(View.GONE); - } - }, - throwable -> { - gameBinding.ivTreasureBox.setVisibility(View.GONE); - }); - } else { - gameBinding.ivTreasureBox.setVisibility(View.GONE); - } - setDragonView(); } diff --git a/app/src/main/java/com/mango/moshen/avroom/fragment/SingleRoomFragment.kt b/app/src/main/java/com/mango/moshen/avroom/fragment/SingleRoomFragment.kt index 470751af8..60641e9ba 100644 --- a/app/src/main/java/com/mango/moshen/avroom/fragment/SingleRoomFragment.kt +++ b/app/src/main/java/com/mango/moshen/avroom/fragment/SingleRoomFragment.kt @@ -100,25 +100,6 @@ class SingleRoomFragment : BaseRoomFragment() - map["name"] = "糖果树" - StatisticManager.Instance() - .onEvent(StatisticsProtocol.EVENT_ROOM_POP_SHOW, "房间pop曝光", map) - } else { - gameBinding.ivTreasureBox.visibility = View.GONE - } - } - ) { - gameBinding.ivTreasureBox.visibility = View.GONE - } fansTeamViewModel.loadFansTeamInitInfo() diff --git a/app/src/main/java/com/mango/moshen/avroom/presenter/GameRoomPresenter.java b/app/src/main/java/com/mango/moshen/avroom/presenter/GameRoomPresenter.java index b3da50ee2..26c40aa96 100644 --- a/app/src/main/java/com/mango/moshen/avroom/presenter/GameRoomPresenter.java +++ b/app/src/main/java/com/mango/moshen/avroom/presenter/GameRoomPresenter.java @@ -32,16 +32,7 @@ public class GameRoomPresenter extends BaseRoomPresenter { bannerInfo.setFirstCharge(true); bannerInfos.add(0, bannerInfo); } - List finalBannerInfos = bannerInfos; - GoldBoxHelper.isHideBox() - .subscribe(isHide -> { - if (!isHide) { - BannerInfo bannerInfo = new BannerInfo(); - bannerInfo.setBox(true); - finalBannerInfos.add(firstCharge ? 1 : 0, bannerInfo); - } - getMvpView().onShowBanner(finalBannerInfos); - }, throwable -> getMvpView().onShowBanner(finalBannerInfos)); + getMvpView().onShowBanner(bannerInfos); }); } diff --git a/app/src/main/java/com/mango/moshen/avroom/presenter/HomePartyPresenter.java b/app/src/main/java/com/mango/moshen/avroom/presenter/HomePartyPresenter.java index 267a80fbb..e52e51575 100644 --- a/app/src/main/java/com/mango/moshen/avroom/presenter/HomePartyPresenter.java +++ b/app/src/main/java/com/mango/moshen/avroom/presenter/HomePartyPresenter.java @@ -301,33 +301,7 @@ public class HomePartyPresenter extends BaseRoomPresenter { mAvRoomModel.getRoomBanner() .compose(bindToLifecycle()) .subscribe(bannerInfos -> { - if (GoldBoxHelper.needIntegrateBoxEntrance()) { - final boolean firstCharge = UserUtils.getUserInfo().isFirstCharge(); - if (firstCharge) { - BannerInfo bannerInfo = new BannerInfo(); - bannerInfo.setFirstCharge(true); - bannerInfos.add(0, bannerInfo); - } - if (GoldBoxHelper.isShowRadish()) { - BannerInfo bannerInfo = new BannerInfo(); - bannerInfo.setRadish(true); - bannerInfos.add(firstCharge ? 1 : 0, bannerInfo); - } - GoldBoxHelper.isHideBox() - .subscribe(isHide -> { - if (!isHide) { - BannerInfo bannerInfo = new BannerInfo(); - bannerInfo.setBox(true); - int index = 0; - if (firstCharge) index++; - if (GoldBoxHelper.isShowRadish()) index++; - bannerInfos.add(index, bannerInfo); - } - getMvpView().onShowBanner(bannerInfos); - }, throwable -> getMvpView().onShowBanner(bannerInfos)); - } else { - getMvpView().onShowBanner(bannerInfos); - } + getMvpView().onShowBanner(bannerInfos); }); } } diff --git a/app/src/main/java/com/mango/moshen/avroom/widget/BottomView.java b/app/src/main/java/com/mango/moshen/avroom/widget/BottomView.java index b36371839..cd850fc63 100644 --- a/app/src/main/java/com/mango/moshen/avroom/widget/BottomView.java +++ b/app/src/main/java/com/mango/moshen/avroom/widget/BottomView.java @@ -21,6 +21,9 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import com.mango.core.DemoCache; +import com.mango.moshen.avroom.dialog.RoomPlayDialog; +import com.mango.moshen.treasure_box.widget.GoldBoxHelper; import com.netease.nim.uikit.api.NimUIKit; import com.netease.nim.uikit.common.util.sys.ScreenUtil; import com.netease.nimlib.sdk.msg.model.RecentContact; @@ -79,12 +82,18 @@ public class BottomView extends FrameLayout implements View.OnClickListener { private ImageView iconMicQueue; private ImageView iconRoomMsg; private ImageView iconVip; + private ImageView iconPlay; @Nullable private PopupWindow msgTipPopupWindow; @NonNull private final Runnable msgRunnable = this::dismissMsgPopupWindow; + @Nullable + private PopupWindow playTipPopupWindow; + @NonNull + private final Runnable playRunnable = this::dismissPlayPopupWindow; + public BottomView(Context context) { super(context); init(); @@ -114,10 +123,11 @@ public class BottomView extends FrameLayout implements View.OnClickListener { faceLayout = findViewById(R.id.room_face_layout); micLayout = findViewById(R.id.room_mic_layout); - iconMicQueue = (ImageView) findViewById(R.id.icon_mic_queue); + iconMicQueue = findViewById(R.id.icon_mic_queue); iconRoomMsg = findViewById(R.id.iv_room_message); iconVip = findViewById(R.id.icon_room_vip); + iconPlay = findViewById(R.id.icon_room_play); openMic.setOnClickListener(this); sendMsg.setOnClickListener(this); sendMsgInput.setOnClickListener(this); @@ -128,11 +138,13 @@ public class BottomView extends FrameLayout implements View.OnClickListener { iconMicQueue.setOnClickListener(this); iconRoomMsg.setOnClickListener(this); iconVip.setOnClickListener(this); + iconPlay.setOnClickListener(this); setMicBtnEnable(false); setMicBtnOpen(false); updateQueuingMicButton(); setRoomMessageUnread(IMMessageManager.get().queryUnreadMsg()); + initRoomPlayEntrance(); if (SuperAdminUtil.isSuperAdmin()) { sendGift.setVisibility(GONE); @@ -343,6 +355,10 @@ public class BottomView extends FrameLayout implements View.OnClickListener { StatisticManager.Instance() .onEvent(StatisticsProtocol.EVENT_VIP_ENTRANCE_ROOM_CLICK, "贵族房间入口点击事件"); break; + case R.id.icon_room_play: + dismissPlayPopupWindow(); + new RoomPlayDialog(getContext()).show(); + break; default: break; } @@ -425,4 +441,68 @@ public class BottomView extends FrameLayout implements View.OnClickListener { parent.postDelayed(msgRunnable, 3000); } + private void initRoomPlayEntrance() { + boolean showPlayEntrance = false; + if (GoldBoxHelper.isShowRadish()) { + showPlayEntrance = true; + if (DemoCache.readShowRadishTip()) { + iconPlay.post(() -> { + showPlayTipsPopup(iconPlay); + DemoCache.saveShowRadishTip(false); + }); + } + } + if (GoldBoxHelper.isShowBox()) { + showPlayEntrance = true; + if (DemoCache.readShowBoxTip()) { + iconPlay.post(() -> { + showPlayTipsPopup(iconPlay); + DemoCache.saveShowBoxTip(false); + }); + } + } + iconPlay.setVisibility(showPlayEntrance ? VISIBLE : GONE); + } + + private void showPlayTipsPopup(View parent) { + if (parent == null || !isAttachedToWindow()) return; + if (getContext() instanceof Activity && ((Activity) getContext()).isFinishing()) return; + if (playTipPopupWindow != null && playTipPopupWindow.isShowing()) return; + + parent.removeCallbacks(playRunnable); + View contentView; + if (playTipPopupWindow == null) { + contentView = LayoutInflater.from(getContext()).inflate(R.layout.popup_play_tip, null); + playTipPopupWindow = new PopupWindow(contentView, ScreenUtil.dip2px(136), ScreenUtil.dip2px(23)); + playTipPopupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + playTipPopupWindow.setAnimationStyle(R.style.style_anim_message_tip); + } + int[] vLoc = new int[2]; + parent.getLocationInWindow(vLoc); + try { + playTipPopupWindow.showAtLocation( + parent, + Gravity.START | Gravity.TOP, + vLoc[0] - ScreenUtil.dip2px(18),// + vLoc[1] - ScreenUtil.dip2px(28)//23+5 + ); + } catch (Exception e) { + e.printStackTrace(); + } + + parent.postDelayed(playRunnable, 5000); + } + + private void dismissPlayPopupWindow() { + if (playTipPopupWindow != null) { + try { + playTipPopupWindow.dismiss(); + } catch (Exception e) { + e.printStackTrace(); + } + playTipPopupWindow = null; + } + } + + } diff --git a/app/src/main/res/drawable-xhdpi/bg_room_play_pop.png b/app/src/main/res/drawable-xhdpi/bg_room_play_pop.png new file mode 100644 index 0000000000000000000000000000000000000000..eea068874af781ff91007139f9cccd4558e62368 GIT binary patch literal 13603 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_room_bottom_play.png b/app/src/main/res/drawable-xhdpi/ic_room_bottom_play.png new file mode 100644 index 0000000000000000000000000000000000000000..f8e7d32fac2791e3cf7aa77bae14314c81714474 GIT binary patch literal 3396 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 delta 2727 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 diff --git a/app/src/main/res/layout/dialog_room_play.xml b/app/src/main/res/layout/dialog_room_play.xml new file mode 100644 index 000000000..395fa54ef --- /dev/null +++ b/app/src/main/res/layout/dialog_room_play.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/layout_bottom_view.xml b/app/src/main/res/layout/layout_bottom_view.xml index 021413a90..75807d459 100644 --- a/app/src/main/res/layout/layout_bottom_view.xml +++ b/app/src/main/res/layout/layout_bottom_view.xml @@ -68,9 +68,9 @@ + android:gravity="center" + android:visibility="gone"> + + + + diff --git a/app/src/module_mini_world/res/layout/fragment_av_room_game.xml b/app/src/module_mini_world/res/layout/fragment_av_room_game.xml index 2dd6fe815..97de62617 100644 --- a/app/src/module_mini_world/res/layout/fragment_av_room_game.xml +++ b/app/src/module_mini_world/res/layout/fragment_av_room_game.xml @@ -272,51 +272,6 @@ android:visibility="gone" tools:contentDescription="首充红包" /> - - - - - - - - - - @@ -261,51 +261,6 @@ app:layout_constraintTop_toBottomOf="@id/barrier_micro" app:rollviewpager_hint_gravity="center" /> - - - - - - - - - - - isHideBox() { - return InitialModel.get().getBoxInfo().flatMap(boxInfo -> { - boolean isHide = true; - if (SuperAdminUtil.isSuperAdmin()) { - return Single.just(true); - } - UserInfo myInfo = UserModel.get().getCacheLoginUserInfo(); - UserLevelVo levelVo = null; - if (myInfo != null) { - levelVo = myInfo.getUserLevelVo(); - } - if (myInfo != null && levelVo != null) { - //1.审核模式 2.全局隐藏 3. 用户等级小于后台配置等级 都需要隐藏开箱子 - isHide = MarketVerifyModel.get().isMarketChecking() || !AvRoomDataManager.get().mBoxSwitchVo.isOpenBoxSwitch() - || levelVo.getExperLevelSeq() < boxInfo.getOpenBoxSwitchLevelNo() || AvRoomDataManager.get().isOpenPureMode(); - } - return Single.just(isHide); - }); + return InitialModel.get() + .getBoxInfo() + .flatMap(boxInfo -> Single.just(!isShowBox(boxInfo.getOpenBoxSwitchLevelNo()))); } + public static boolean isShowBox() { + InitInfo initInfo = InitialModel.get().getCacheInitInfo(); + if (initInfo == null) return false; + return isShowBox(initInfo.getOpenBoxSwitchLevelNo()); + } + + private static boolean isShowBox(int switchLevelNo) { + if (SuperAdminUtil.isSuperAdmin()) { + return false; + } + boolean isHide = true; + UserInfo myInfo = UserModel.get().getCacheLoginUserInfo(); + UserLevelVo levelVo = null; + if (myInfo != null) { + levelVo = myInfo.getUserLevelVo(); + } + if (myInfo != null && levelVo != null) { + //1.审核模式 2.全局隐藏 3. 用户等级小于后台配置等级 都需要隐藏开箱子 + isHide = MarketVerifyModel.get().isMarketChecking() || !AvRoomDataManager.get().mBoxSwitchVo.isOpenBoxSwitch() + || levelVo.getExperLevelSeq() < switchLevelNo || AvRoomDataManager.get().isOpenPureMode(); + } + + return !isHide; + } + + public static void handleBoxClick(Context context) { String openTime = GoldBoxHelper.getBoxOpenTime(); if (openTime == null || openTime.isEmpty()) { @@ -92,14 +106,5 @@ public class GoldBoxHelper { return userInfo.getUserLevelVo().getExperLevelSeq() >= initInfo.getLinearlyPoolOpenLevel(); } - /** - * 房间改版之后不再需要整合 - * - * @return - */ - - public static boolean needIntegrateBoxEntrance() { - return false; - } } diff --git a/core/src/main/java/com/mango/core/DemoCache.java b/core/src/main/java/com/mango/core/DemoCache.java index 897baf720..a2a07776c 100644 --- a/core/src/main/java/com/mango/core/DemoCache.java +++ b/core/src/main/java/com/mango/core/DemoCache.java @@ -60,6 +60,8 @@ public class DemoCache { private static final String KEY_SPEED_MSG_COUNT = "key_speed_msg_count"; private static final String KEY_COLLECTION_ROOM_INDEX = "key_collection_room_index"; private static final String KEY_PM_MODE = "key_pm_mode"; + private static final String KEY_SHOW_BOX_TIP = "key_show_box_tip"; + private static final String KEY_SHOW_RADISH_TIP = "key_show_radish_tip"; private static StatusBarNotificationConfig notificationConfig; @@ -357,4 +359,20 @@ public class DemoCache { return SettingsPref.instance().getBoolean(KEY_PM_MODE + AuthModel.get().getCurrentUid(), false); } + public static void saveShowBoxTip(boolean value) { + SettingsPref.instance().putBoolean(KEY_SHOW_BOX_TIP + AuthModel.get().getCurrentUid(), value); + } + + public static boolean readShowBoxTip() { + return SettingsPref.instance().getBoolean(KEY_SHOW_BOX_TIP + AuthModel.get().getCurrentUid(), true); + } + + public static void saveShowRadishTip(boolean value) { + SettingsPref.instance().putBoolean(KEY_SHOW_RADISH_TIP + AuthModel.get().getCurrentUid(), value); + } + + public static boolean readShowRadishTip() { + return SettingsPref.instance().getBoolean(KEY_SHOW_RADISH_TIP + AuthModel.get().getCurrentUid(), true); + } + }