From 1f8025599bbfac403c3b5347e722d178565534fc Mon Sep 17 00:00:00 2001 From: 18401019693 Date: Thu, 30 Nov 2023 10:45:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=A4=BC=E7=89=A9=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/event/QuickGiftingEvent.java | 31 +++++++++++ .../yunbao/common/manager/IMLoginManager.java | 7 +++ .../utils/JavascriptInterfaceUtils.java | 29 ++++++++-- .../background_quick_gift_reminder.png | Bin 0 -> 17314 bytes .../background_quick_gift_reminder.png | Bin 0 -> 20556 bytes config.gradle | 4 +- .../live/activity/LiveAudienceActivity.java | 22 ++++++-- .../yunbao/live/bean/SendQuickGiftModel.java | 11 ++++ .../yunbao/live/socket/SocketRyClient.java | 6 +- .../live/views/LiveAudienceViewHolder.java | 52 ++++++++++++++++++ .../yunbao/live/views/LiveRoomViewHolder.java | 28 ++++++++-- .../live/views/PortraitLiveManager.java | 19 ++++++- .../main/res/layout/view_live_audience.xml | 1 + live/src/main/res/layout/view_live_room.xml | 11 ++++ 14 files changed, 199 insertions(+), 22 deletions(-) create mode 100644 common/src/main/res/mipmap-b+en+us/background_quick_gift_reminder.png create mode 100644 common/src/main/res/mipmap-xxhdpi/background_quick_gift_reminder.png diff --git a/common/src/main/java/com/yunbao/common/event/QuickGiftingEvent.java b/common/src/main/java/com/yunbao/common/event/QuickGiftingEvent.java index a01219060..8253aa1a6 100644 --- a/common/src/main/java/com/yunbao/common/event/QuickGiftingEvent.java +++ b/common/src/main/java/com/yunbao/common/event/QuickGiftingEvent.java @@ -6,6 +6,37 @@ public class QuickGiftingEvent extends BaseModel { private int index; private String svgaName; private boolean show =false; + private boolean reminder = false; + + private String giftRemainingQuantity; + private String hotNum; + + public String getHotNum() { + return hotNum; + } + + public QuickGiftingEvent setHotNum(String hotNum) { + this.hotNum = hotNum; + return this; + } + + public String getGiftRemainingQuantity() { + return giftRemainingQuantity; + } + + public QuickGiftingEvent setGiftRemainingQuantity(String giftRemainingQuantity) { + this.giftRemainingQuantity = giftRemainingQuantity; + return this; + } + + public boolean isReminder() { + return reminder; + } + + public QuickGiftingEvent setReminder(boolean reminder) { + this.reminder = reminder; + return this; + } public boolean isShow() { return show; diff --git a/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java b/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java index bab23995e..90e1fbda8 100644 --- a/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java +++ b/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java @@ -60,6 +60,13 @@ public class IMLoginManager extends BaseCacheManager { public boolean getRedPoint() { return !TextUtils.isEmpty(getString("RedPoint")) && !TextUtils.equals(getString("RedPoint"), "1"); } + public void setQuickGiftIfFirst() { + put("quick_gift_if_first", "1"); + } + + public boolean getQuickGiftIfFirst() { + return TextUtils.isEmpty(getString("quick_gift_if_first")) || !TextUtils.equals(getString("quick_gift_if_first"), "1"); + } public void setSudGameMin() { put("SudGameMin", "0"); diff --git a/common/src/main/java/com/yunbao/common/utils/JavascriptInterfaceUtils.java b/common/src/main/java/com/yunbao/common/utils/JavascriptInterfaceUtils.java index 62fc018f7..b951378e9 100644 --- a/common/src/main/java/com/yunbao/common/utils/JavascriptInterfaceUtils.java +++ b/common/src/main/java/com/yunbao/common/utils/JavascriptInterfaceUtils.java @@ -2,6 +2,7 @@ package com.yunbao.common.utils; import static com.yunbao.common.CommonAppConfig.isGetNewWrap; import static com.yunbao.common.utils.RouteUtil.PATH_COIN; +import static com.yunbao.common.utils.RouteUtil.PATH_REWARD; import android.app.Activity; import android.app.Dialog; @@ -25,6 +26,7 @@ import com.yunbao.common.bean.VideoBean; import com.yunbao.common.bean.VideoListBean; import com.yunbao.common.event.JavascriptInterfaceEvent; import com.yunbao.common.event.LiveRoomChangeEvent; +import com.yunbao.common.event.QuickGiftingEvent; import com.yunbao.common.http.HttpCallback; import com.yunbao.common.http.HttpClient; import com.yunbao.common.http.LiveHttpUtil; @@ -124,10 +126,10 @@ public class JavascriptInterfaceUtils { url = CommonAppConfig.HOST + url; if (url.contains("?")) { url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" - + CommonAppConfig.getInstance().getToken()+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0); + + CommonAppConfig.getInstance().getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0); } else { url += "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" - + CommonAppConfig.getInstance().getToken()+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0); + + CommonAppConfig.getInstance().getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0); } if (LiveZhuangBana) { RouteUtil.forwardLiveZhuangBanActivity(url, false); @@ -147,10 +149,10 @@ public class JavascriptInterfaceUtils { url = CommonAppConfig.HOST + url; if (url.contains("?")) { url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" - + CommonAppConfig.getInstance().getToken()+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0); + + CommonAppConfig.getInstance().getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0); } else { url += "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" - + CommonAppConfig.getInstance().getToken()+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0); + + CommonAppConfig.getInstance().getToken() + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0); } if (LiveZhuangBana) { RouteUtil.forwardLiveZhuangBanActivity(url, title); @@ -259,11 +261,12 @@ public class JavascriptInterfaceUtils { /** * 跳转直播并打开礼物栏选中礼物 + * * @param liveId 直播间id * @param giftId 礼物id */ @JavascriptInterface - public void androidMethodLookToLiveGift(String liveId,String giftId){ + public void androidMethodLookToLiveGift(String liveId, String giftId) { LiveHttpUtil.getLiveInfo(liveId, new HttpCallback() { @Override public void onSuccess(int code, String msg, String[] info) { @@ -300,6 +303,7 @@ public class JavascriptInterfaceUtils { } }); } + @JavascriptInterface public void androidMethodLookToLive(String liveId) { Bus.get().post(new JavascriptInterfaceEvent() @@ -598,6 +602,18 @@ public class JavascriptInterfaceUtils { .setMethod("clickLogOffAccount")); } + @JavascriptInterface + public void androidClickToTaskPage() { + ARouter.getInstance().build(PATH_REWARD).withString("url", + CommonAppConfig.HOST + "/index.php?g=Appapi&m=task&a=index" + "&uid=" + CommonAppConfig.getInstance().getUid() + + "&token=" + CommonAppConfig.getInstance().getToken() + "&tabIndex=1"+ "&isZh=" + (WordUtil.isNewZh() ? "1" : "0")).navigation(); + } + + @JavascriptInterface + public void androidQuickGiftRemainingQuantity(int giftRemainingQuantity) { + Bus.get().post(new QuickGiftingEvent().setGiftRemainingQuantity(String.valueOf(giftRemainingQuantity))); + } + @JavascriptInterface public void androidFansGroupBuy(String id) { Bus.get().post(new JavascriptInterfaceEvent() @@ -644,8 +660,9 @@ public class JavascriptInterfaceUtils { Bus.get().post(new JavascriptInterfaceEvent() .setMethod("androidCancelAnchorAttention")); } + @JavascriptInterface - public void androidLnsufficientBalanceClick(String msg){ + public void androidLnsufficientBalanceClick(String msg) { DialogUitl.showSimpleDialog(mContext, msg, new DialogUitl.SimpleCallback2() { @Override public void onCancelClick() { diff --git a/common/src/main/res/mipmap-b+en+us/background_quick_gift_reminder.png b/common/src/main/res/mipmap-b+en+us/background_quick_gift_reminder.png new file mode 100644 index 0000000000000000000000000000000000000000..f49f0f4bb59d72fb98d0122b309bd81613477e02 GIT binary patch literal 17314 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 0) { + quick_gift_remaining_quantity.setVisibility(View.VISIBLE); + quick_gift_remaining_quantity.setText(String.valueOf(mQuickGiftRemainingQuantity)); + } else { + quick_gift_remaining_quantity.setVisibility(View.GONE); + } + } + private int mQuickGiftRemainingQuantity = 0, mIfViewingDurationComplete; public void upDataQuickGift(int quickGiftRemainingQuantity, int ifViewingDurationComplete) { diff --git a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java index 1947c5d98..9a135da2f 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java @@ -387,6 +387,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis private FrameLayout pa_pao_layout; private LinearLayout combo_layout; private TextView combo_number; + private View quick_gift_reminder ; @Subscribe(threadMode = ThreadMode.MAIN) public void onUpdata(String str) { @@ -711,8 +712,19 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis public void onQuickGifting2(boolean show) { if (show) { combo_layout.setVisibility(View.GONE); + if (IMLoginManager.get(mContext).getQuickGiftIfFirst()) { + quick_gift_reminder.setVisibility(View.VISIBLE); + } else { + quick_gift_reminder.setVisibility(View.GONE); + } + IMLoginManager.get(mContext).setQuickGiftIfFirst(); } } + public void onQuickGifting3() { + IMLoginManager.get(mContext).setQuickGiftIfFirst(); + quick_gift_reminder.setVisibility(View.GONE); + + } public void onQuickGifting(int index, String svgaName) { pa_pao_layout.setVisibility(View.VISIBLE); @@ -1553,8 +1565,10 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis pa_pao_layout = (FrameLayout) findViewById(R.id.pa_pao_layout); combo_layout = (LinearLayout) findViewById(R.id.combo_layout); combo_number = (TextView) findViewById(R.id.combo_number); + quick_gift_reminder = findViewById(R.id.quick_gift_reminder); pa_pao_layout.setVisibility(View.GONE); combo_layout.setVisibility(View.GONE); + } private FrameLayout redPacket; @@ -2531,11 +2545,11 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis * @param rank 小时榜 */ public void setHourRankData(long rank) { - if (mHourRank != null) { + if (mHotText != null) { if (rank == 0) { - mHourRank.setText(R.string.no_rank_data); + mHotText.setText(R.string.no_rank_data); } else { - mHourRank.setText(String.format(mContext.getString(R.string.hour_rank), formatBigNum.formatBigNum(rank + ""))); + mHotText.setText(String.format(mContext.getString(R.string.hour_rank), formatBigNum.formatBigNum(rank + ""))); } } } @@ -2555,12 +2569,14 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis * @param hot 热度值 */ public void setHotData(String hot) { - if (mHotText != null && !TextUtils.isEmpty(hot)) { - mHotText.setText(hot); + if (mHourRank != null && !TextUtils.isEmpty(hot)) { + mHourRank.setText(hot); } } - + public void setHotNum(String hotNum) { + setHotData(formatBigNum.formatBigNum(hotNum)); + } /** * 更新心愿单进度 * diff --git a/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java b/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java index 1888cb042..703824e77 100644 --- a/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java +++ b/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java @@ -56,6 +56,7 @@ import com.yunbao.common.event.LiveFloatEvent; import com.yunbao.common.event.LiveGiftDialogEvent; import com.yunbao.common.event.LiveRoomChangeEvent; import com.yunbao.common.event.LiveSudGamePopupShowOrHideEvent; +import com.yunbao.common.event.QuickGiftingEvent; import com.yunbao.common.event.SendBlindGiftEvent; import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.http.CommonHttpConsts; @@ -235,6 +236,22 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe } } + public void onQuickGifting3() { + if (mLiveRoomViewHolder != null) { + mLiveRoomViewHolder.onQuickGifting3(); + } + } + + public void setGiftRemainingQuantity(String giftRemainingQuantity) { + if (mLiveAudienceViewHolder!=null){ + mLiveAudienceViewHolder.setGiftRemainingQuantity(giftRemainingQuantity); + } + } + public void setHotNum(String hotNum) { + if (mLiveRoomViewHolder!=null){ + mLiveRoomViewHolder.setHotNum(hotNum); + } + } public PortraitLiveManager(Activity context, Intent intent) { this.mContext = context; this.mIntent = intent; @@ -846,8 +863,8 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe mLivePlayViewHolder.release(); } if (mLiveRoomViewHolder != null) { - mLiveRoomViewHolder.removeFromParent(); mLiveRoomViewHolder.clearData(); + mLiveRoomViewHolder.removeFromParent(); mLiveRoomViewHolder.countDownTimerTrickery = null; } diff --git a/live/src/main/res/layout/view_live_audience.xml b/live/src/main/res/layout/view_live_audience.xml index 098475017..2309da2b0 100644 --- a/live/src/main/res/layout/view_live_audience.xml +++ b/live/src/main/res/layout/view_live_audience.xml @@ -506,6 +506,7 @@ android:textColor="#FFB403" android:textSize="8sp" android:textStyle="bold" /> + \ No newline at end of file diff --git a/live/src/main/res/layout/view_live_room.xml b/live/src/main/res/layout/view_live_room.xml index 1c67d8d0b..ce7507d06 100644 --- a/live/src/main/res/layout/view_live_room.xml +++ b/live/src/main/res/layout/view_live_room.xml @@ -2509,6 +2509,7 @@ android:layout_width="match_parent" android:layout_height="384dp" android:layout_alignParentBottom="true" /> + + +