From d7a5d224b23dcad85ebd454b15e776bbd5b2c439 Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Thu, 26 Sep 2024 15:18:39 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A4=BC=E7=89=A9=E7=9A=84=E5=BC=B9=E7=AA=97UI?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/dialog/AbsDialogFragment.java | 2 +- .../res/layout/dialog_live_gift_popup2.xml | 149 +- ...ghit_arrow.png => ic_gift_right_arrow.png} | Bin .../res/mipmap-hdpi/ic_gift_top_arrow.png | Bin 0 -> 286 bytes ...ghit_arrow.png => ic_gift_right_arrow.png} | Bin .../res/mipmap-mdpi/ic_gift_top_arrow.png | Bin 0 -> 200 bytes ...ghit_arrow.png => ic_gift_right_arrow.png} | Bin .../res/mipmap-xhdpi/ic_gift_top_arrow.png | Bin 0 -> 333 bytes ...ghit_arrow.png => ic_gift_right_arrow.png} | Bin .../res/mipmap-xxhdpi/ic_gift_top_arrow.png | Bin 0 -> 557 bytes ...ghit_arrow.png => ic_gift_right_arrow.png} | Bin .../res/mipmap-xxxhdpi/ic_gift_top_arrow.png | Bin 0 -> 480 bytes common/src/main/res/values/strings.xml | 1 + .../com/yunbao/live/dialog/LiveGiftPopup.java | 5 - .../yunbao/live/dialog/LiveGiftPopup2.java | 1486 +++++++++++++++++ .../yunbao/live/views/LiveRoomViewHolder.java | 2 +- 16 files changed, 1603 insertions(+), 42 deletions(-) rename common/src/main/res/mipmap-hdpi/{ic_gift_righit_arrow.png => ic_gift_right_arrow.png} (100%) create mode 100644 common/src/main/res/mipmap-hdpi/ic_gift_top_arrow.png rename common/src/main/res/mipmap-mdpi/{ic_gift_righit_arrow.png => ic_gift_right_arrow.png} (100%) create mode 100644 common/src/main/res/mipmap-mdpi/ic_gift_top_arrow.png rename common/src/main/res/mipmap-xhdpi/{ic_gift_righit_arrow.png => ic_gift_right_arrow.png} (100%) create mode 100644 common/src/main/res/mipmap-xhdpi/ic_gift_top_arrow.png rename common/src/main/res/mipmap-xxhdpi/{ic_gift_righit_arrow.png => ic_gift_right_arrow.png} (100%) create mode 100644 common/src/main/res/mipmap-xxhdpi/ic_gift_top_arrow.png rename common/src/main/res/mipmap-xxxhdpi/{ic_gift_righit_arrow.png => ic_gift_right_arrow.png} (100%) create mode 100644 common/src/main/res/mipmap-xxxhdpi/ic_gift_top_arrow.png create mode 100644 live/src/main/java/com/yunbao/live/dialog/LiveGiftPopup2.java diff --git a/common/src/main/java/com/yunbao/common/dialog/AbsDialogFragment.java b/common/src/main/java/com/yunbao/common/dialog/AbsDialogFragment.java index 80de088c4..890ee308d 100644 --- a/common/src/main/java/com/yunbao/common/dialog/AbsDialogFragment.java +++ b/common/src/main/java/com/yunbao/common/dialog/AbsDialogFragment.java @@ -67,7 +67,7 @@ public abstract class AbsDialogFragment extends DialogFragment { protected abstract void setWindowAttributes(Window window); - protected View findViewById(int id) { + protected T findViewById(int id) { if (mRootView != null) { return mRootView.findViewById(id); } diff --git a/common/src/main/res/layout/dialog_live_gift_popup2.xml b/common/src/main/res/layout/dialog_live_gift_popup2.xml index 4b88f7188..dc87fa3a1 100644 --- a/common/src/main/res/layout/dialog_live_gift_popup2.xml +++ b/common/src/main/res/layout/dialog_live_gift_popup2.xml @@ -13,11 +13,11 @@ android:id="@+id/giftBg" android:layout_width="match_parent" android:layout_height="0dp" - android:layout_marginTop="-20dp" + android:layout_marginTop="-14dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="@+id/lvTipsTv" + app:layout_constraintTop_toTopOf="@+id/openVipBg" tools:background="@drawable/bg_gift_bottom_bg" /> + + + @@ -104,12 +114,12 @@ android:id="@+id/diamondClickView" android:layout_width="0dp" android:layout_height="0dp" - android:layout_marginTop="4dp" - android:layout_marginBottom="4dp" - app:layout_constraintBottom_toBottomOf="@+id/giftSendBgV" + android:layout_marginTop="-4dp" + android:layout_marginBottom="-4dp" + app:layout_constraintBottom_toBottomOf="@+id/diamondImg" app:layout_constraintEnd_toEndOf="@+id/diamondGoImg" app:layout_constraintStart_toStartOf="@+id/diamondImg" - app:layout_constraintTop_toTopOf="@+id/giftSendBgV" + app:layout_constraintTop_toTopOf="@+id/diamondImg" tools:visibility="gone" /> @@ -136,17 +146,19 @@ tools:text="28000000" /> + + + - - - @@ -242,45 +263,103 @@ app:layout_constraintWidth_percent="0.54" tools:progress="10" /> + + + + + + app:layout_constraintHorizontal_bias="0.935" + app:layout_constraintStart_toStartOf="parent" /> + + + app:layout_constraintTop_toTopOf="@+id/openVipTv" + app:layout_constraintVertical_bias="1.0" /> - + + + + + + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" /> + app:layout_constraintTop_toTopOf="@+id/giftSponsorBgImg" /> + app:layout_constraintStart_toEndOf="@+id/naming_avatar" + app:layout_constraintTop_toTopOf="@+id/giftSponsorBgImg" /> - \ No newline at end of file diff --git a/common/src/main/res/mipmap-hdpi/ic_gift_righit_arrow.png b/common/src/main/res/mipmap-hdpi/ic_gift_right_arrow.png similarity index 100% rename from common/src/main/res/mipmap-hdpi/ic_gift_righit_arrow.png rename to common/src/main/res/mipmap-hdpi/ic_gift_right_arrow.png diff --git a/common/src/main/res/mipmap-hdpi/ic_gift_top_arrow.png b/common/src/main/res/mipmap-hdpi/ic_gift_top_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..497974bfb579df4bedb43d4748e4e1c609bf79d2 GIT binary patch literal 286 zcmV+(0pb3MP)Px#*hxe|R5(wyk}+yRK@>&Lwbs;b!%9;GArXuS?#5MQ4JlHItp?%>1VKobbQZ2a z&>}_f%7ghqf4*9LoN|V9-o1|zC5}q4+zz%~2R4#^iV~ikY`XyrfE6&3^qUtH!nPlP zCtwHEfHm-z7yN^5-viG9NP1184)6)Q9}7<41onX?Fp;#6s7Ln;Nz*L;A8fk^G!r<> zM@)h)@GWT^0@6-rG$04qFC7^F=Qq5uE@07*qoM6N<$f=8HbBLDyZ literal 0 HcmV?d00001 diff --git a/common/src/main/res/mipmap-mdpi/ic_gift_righit_arrow.png b/common/src/main/res/mipmap-mdpi/ic_gift_right_arrow.png similarity index 100% rename from common/src/main/res/mipmap-mdpi/ic_gift_righit_arrow.png rename to common/src/main/res/mipmap-mdpi/ic_gift_right_arrow.png diff --git a/common/src/main/res/mipmap-mdpi/ic_gift_top_arrow.png b/common/src/main/res/mipmap-mdpi/ic_gift_top_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..fd03ff84c395e32952527d99e6660adbfe827bc2 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4F%}28J29*~C-V}>Y4UV&4ABUl zd%=+Fkb_9e!+HgE4`rdE^%FY2Z=U2L@IF!e(#^`Y11BbjnynDH^XcvO&(j38`@^j4 z7Q7W&p%VLf0_&E&jAagtbBh18ZQJg^9@AjGft}4WS;c&Mq8%0e1$DdyxC;z@e+osY!WdqPP44$rjF6*2UngB`{OFjSq literal 0 HcmV?d00001 diff --git a/common/src/main/res/mipmap-xhdpi/ic_gift_righit_arrow.png b/common/src/main/res/mipmap-xhdpi/ic_gift_right_arrow.png similarity index 100% rename from common/src/main/res/mipmap-xhdpi/ic_gift_righit_arrow.png rename to common/src/main/res/mipmap-xhdpi/ic_gift_right_arrow.png diff --git a/common/src/main/res/mipmap-xhdpi/ic_gift_top_arrow.png b/common/src/main/res/mipmap-xhdpi/ic_gift_top_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..639fe1bbdf013414cb7327445ea0673713e6a347 GIT binary patch literal 333 zcmV-T0kZyyP)Px$2T4RhR5(xF)3Hj#P!NUT|A<&wi&%(-m00=^)*>QeVI@A1g@uU7;zL=9SS%tU zRw5pEmWjk8=m$1#K?? zd%$)gAHcPw`!2K-w7r){FHNedrjpy$nPv zYtyg_o)93~f33hXV6_x$peGq*DCxWcPk}flamHfU#VfmuQGH6fDEd>1_4-Ho&8C@u fy;+L<{g%G~-VtRL?H+%w00000NkvXXu0mjfoF$53 literal 0 HcmV?d00001 diff --git a/common/src/main/res/mipmap-xxhdpi/ic_gift_righit_arrow.png b/common/src/main/res/mipmap-xxhdpi/ic_gift_right_arrow.png similarity index 100% rename from common/src/main/res/mipmap-xxhdpi/ic_gift_righit_arrow.png rename to common/src/main/res/mipmap-xxhdpi/ic_gift_right_arrow.png diff --git a/common/src/main/res/mipmap-xxhdpi/ic_gift_top_arrow.png b/common/src/main/res/mipmap-xxhdpi/ic_gift_top_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..df92e371d446c1a17e993f24bee3050e2d593538 GIT binary patch literal 557 zcmV+|0@D47P)Px$=Sf6CR7gwhmd$DuQ4oc{qefl$1`1gVih_u`5yVAAjV=^X!B@%yL<9vFf(9Z9 zvwzZio#v6AXxm~>Bf&jf=och~go`fi=mr@F;1E$tGQ5%`}e|9?tt z`=F#>gUB>+$F`3ESAhjd@7ux$0^2?e+yxE+KY<65KDU9l2HPG7?g3+fVKb6{fGJ7e zo5EXxZ65<}0DBS;@ZSml0z8)Vu?f5}*!D@_N_HCHAHW=Nv+E#Vf%}ra)xjHqZ65{h z0P9&W0Mj9Ds&G9Iv=?{>Jd_mjSFT#H?bEC>sj#SX-cqpb^T5T7OB7fJ zo;Qh0k2Ue^YhXswYPU+;zzMyO5$SvCD*sZg+g&+dNzXf-cfhtIB4=_8hKF%)+XHnm zDehM^@KjO^ovj}M+xvmbz*!)Mex*cB!C5yfn*gGbU@WF(YX$gJb{f~QVX5k+Xai38 zIUsUge8u9U@}dBT#1WggUXnE17SPAPx$nn^@KR9Hvt)*(_uF%$*RcO4RmWC<(*i9{liNF+-@B9TaBWo2b$mw-f8);)Te z{68VhPxA9Zrvr&?Gda08X$m>UcQYn$I0Cu%?n}7~?zeijo0H3bzDr7aV z5I4B1kySudJ$JQ+$q}*;5nh(qXS_JGlAH~6IMzy}KgN_2>23gU1I1$&umm@(+zMF? zOyE955xtn80NhO3dYJv&?m!1zK=k-8`?cbGrhtN+FX#Rpm|Ok8pS) zvdM*uCN`QxP68c{yXH&bkL<3e5~)E(fxm&Pt@{9|s(e#fYqR7cb@S*Hweth0s{E_O zS0EhKwI=GGLM{QUhj}CLm^iQQDdYmchTrpnkCEHjJh@2SJW{ONA3FfgA@C_UcjGQ{ zKc?2tBkgSgyo5lWziWr&IrxtFSi>O?*3Z5q#{y2R(}C6odV)PcYXa8!{S5y31it`t W54tHazjmVl0000 Game Notice Start Q&A + 开通贵族 diff --git a/live/src/main/java/com/yunbao/live/dialog/LiveGiftPopup.java b/live/src/main/java/com/yunbao/live/dialog/LiveGiftPopup.java index f2d2868ab..7e639ca0f 100644 --- a/live/src/main/java/com/yunbao/live/dialog/LiveGiftPopup.java +++ b/live/src/main/java/com/yunbao/live/dialog/LiveGiftPopup.java @@ -495,7 +495,6 @@ public class LiveGiftPopup extends AbsDialogFragment { } } } else { - JSONObject obj2 = liveGiftList.getJSONObject(0); String giftJson = obj2.getString("giftlist"); transaction = getTransaction(); @@ -505,8 +504,6 @@ public class LiveGiftPopup extends AbsDialogFragment { transaction.replace(R.id.context_layout_gift, contentFragment); transaction.commitAllowingStateLoss(); } - - } /** @@ -1181,7 +1178,6 @@ public class LiveGiftPopup extends AbsDialogFragment { } }; public List blindBoxInfoModels = new ArrayList<>(); - private void getBlindBoxInfo() { LiveNetManager.get(mContext) .getBlindBoxInfo(new com.yunbao.common.http.base.HttpCallback>() { @@ -1204,7 +1200,6 @@ public class LiveGiftPopup extends AbsDialogFragment { */ private StringBuffer blindGiftNamesBuffer = null; private int blindBoxType; - private void showBlindProgress(int blindBoxType) { this.blindBoxType = blindBoxType; blindGiftNamesBuffer = new StringBuffer(); diff --git a/live/src/main/java/com/yunbao/live/dialog/LiveGiftPopup2.java b/live/src/main/java/com/yunbao/live/dialog/LiveGiftPopup2.java new file mode 100644 index 000000000..fc76bae61 --- /dev/null +++ b/live/src/main/java/com/yunbao/live/dialog/LiveGiftPopup2.java @@ -0,0 +1,1486 @@ +package com.yunbao.live.dialog; + +import static com.yunbao.common.CommonAppConfig.isGetNewWrap; +import static com.yunbao.common.utils.RouteUtil.PATH_COIN; +import static com.yunbao.live.views.LiveRoomViewHolder.bean1; + +import android.annotation.SuppressLint; +import android.app.Dialog; +import android.content.DialogInterface; +import android.graphics.Color; +import android.graphics.Typeface; +import android.os.Bundle; +import android.os.Handler; +import android.text.Spannable; +import android.text.SpannableStringBuilder; +import android.text.TextUtils; +import android.text.style.ForegroundColorSpan; +import android.util.Log; +import android.view.Gravity; +import android.view.MotionEvent; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.widget.FrameLayout; +import android.widget.ImageView; + +import android.widget.ProgressBar; +import android.widget.TextView; + +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.alibaba.android.arouter.launcher.ARouter; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.blankj.utilcode.util.GsonUtils; +import com.lxj.xpopup.XPopup; +import com.makeramen.roundedimageview.RoundedImageView; +import com.opensource.svgaplayer.SVGACallback; +import com.opensource.svgaplayer.SVGADrawable; +import com.opensource.svgaplayer.SVGAImageView; +import com.opensource.svgaplayer.SVGAParser; +import com.opensource.svgaplayer.SVGAVideoEntity; +import com.yunbao.common.CommonAppConfig; +import com.yunbao.common.Constants; +import com.yunbao.common.R; +import com.yunbao.common.bean.BlindBoxInfoModel; +import com.yunbao.common.bean.GiftNamingInfoModel; +import com.yunbao.common.bean.IMLoginModel; +import com.yunbao.common.bean.LiveGiftBean; +import com.yunbao.common.bean.LiveGiftBean2; +import com.yunbao.common.bean.UserBean; +import com.yunbao.common.dialog.AbsDialogFragment; +import com.yunbao.common.event.GiftNumberEvent; +import com.yunbao.common.event.LiveGiftDialogEvent; +import com.yunbao.common.event.SendBlindGiftEvent; +import com.yunbao.common.glide.ImgLoader; +import com.yunbao.common.http.HttpCallback; +import com.yunbao.common.http.HttpClient; +import com.yunbao.common.http.LiveHttpUtil; +import com.yunbao.common.http.live.LiveNetManager; +import com.yunbao.common.manager.IMLoginManager; +import com.yunbao.common.utils.Bus; +import com.yunbao.common.utils.DebugUtils; +import com.yunbao.common.utils.DeviceUtils; +import com.yunbao.common.utils.DialogUitl; +import com.yunbao.common.utils.L; +import com.yunbao.common.utils.MobclickAgent; +import com.yunbao.common.utils.NobleUtil; +import com.yunbao.common.utils.SVGAViewUtils; +import com.yunbao.common.utils.StringUtil; +import com.yunbao.common.utils.ToastUtil; +import com.yunbao.common.utils.WordUtil; +import com.yunbao.common.views.GiftNumberPopup; +import com.yunbao.common.views.weight.MarqueeTextView; +import com.yunbao.common.views.weight.ViewClicksAntiShake; +import com.yunbao.live.activity.LiveActivity; +import com.yunbao.live.activity.LiveAudienceActivity; +import com.yunbao.live.adapter.GiftTitleAdapter; +import com.yunbao.live.bean.CoinModel; +import com.yunbao.live.bean.GiftTopBean; +import com.yunbao.live.bean.LiveGuardInfo; +import com.yunbao.live.event.GiftTitleEvent; +import com.yunbao.live.event.LiveAudienceEvent; +import com.yunbao.live.event.LiveGiftItemEvent; +import com.yunbao.live.event.LiveParcelItemRefreshEvent; + +import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; +import org.greenrobot.eventbus.ThreadMode; + +import java.math.BigDecimal; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +/** + * 直播间新送礼弹窗 + */ +public class LiveGiftPopup2 extends AbsDialogFragment { + + // 声明所有需要初始化的视图组件 + private View giftBg, giftSendBgV; + private TextView liveGiftSend; + private ImageView liveGiftImg; + private TextView diamondNumberTv; + private View diamondClickView; + private ImageView goldBeanImg; + private TextView goldNumberTv; + private RecyclerView giftRecyclerView; + private TextView giftWrapTv; + private RecyclerView giftTitleRecyclerView; + private TextView lvTitleTv; + private TextView lvTipsTv; + private ImageView lvTipsImg; + private androidx.constraintlayout.widget.Group giftLevelGroup; + private TextView openVipTv; + private ImageView openVipImg; + private MarqueeTextView giftDescription; + private ImageView continuousClicksBg; + private TextView lianText, liveGiftSendTv; + private androidx.constraintlayout.widget.Group continuousClickGroup; + private ImageView operateImage,openVipArrowImg; + private View blindBox; + private ImageView giftSponsorBgImg; + private ImageView giftItle; + private RoundedImageView namingAvatar; + private MarqueeTextView namingName; + private androidx.constraintlayout.widget.Group giftSponsorGroup//namingLayout + , giftSendGroup; + // 声明所有需要初始化的视图组件 + private FrameLayout frameBlindTop; + private ProgressBar progressBlind2; + private ProgressBar progressBlind; + private ProgressBar progressBlind1; + private TextView textBlindProgress; + private TextView blindNumber; + private ImageView description; + private MarqueeTextView textBlindGiftName; + private SVGAImageView blindSvg; + private ImageView iconMasking; + private SVGAImageView blindBoxOpen; + //连送逻辑 + private int mLianCountDownCount;//连送倒计时的数字 + private int blindBoxType; + + // 返回自定义弹窗的布局 + @Override + protected int getLayoutId() { + return R.layout.dialog_live_gift_popup2; + } + + @Override + protected int getDialogStyle() { + return R.style.dialog2; + } + + @Override + protected boolean canCancel() { + return true; + } + + /** + * 选中的礼物数据 + * + * @param event + */ + private LiveGiftBean liveGiftModel = null; + private GiftTitleAdapter giftTitleAdapter; + private LiveGuardInfo mLiveGuardInfo; + private static final String DEFAULT_COUNT = "1"; + private String mCount = DEFAULT_COUNT; + private String mWishGiftId; + private int isContactGift = 0; + private String by; + private String mStream, mLiveUid; + private boolean isWrap; + private ProgressBar progressBar; + private boolean isPk; + private Handler sendGiftHandler = new Handler(); + private JSONArray liveGiftList; + private Runnable sendGiftRunnble = new Runnable() { + @Override + public void run() { + if (isWrap && liveGiftModel.getType() == 7) { + sendBlindBoxTicket(); + } else { + if (liveGiftModel.isPageGift()) { + sendGiftForPage(); + } else { + sendGift(); + } + } + + } + }; + + @Override + protected void setWindowAttributes(Window window) { + window.setWindowAnimations(R.style.bottomToTopAnim); + window.setDimAmount(0f);//去掉遮罩层(全透明) + WindowManager.LayoutParams params = window.getAttributes(); + params.width = WindowManager.LayoutParams.MATCH_PARENT; + params.height = WindowManager.LayoutParams.WRAP_CONTENT; + params.gravity = Gravity.BOTTOM; + window.setAttributes(params); + } + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + Bus.getOn(this); + initView(); + initListener(); + initDate(); + } + + @Override + public void onDismiss(DialogInterface dialog) { + super.onDismiss(dialog); + EventBus.getDefault().post("checkNewLetter"); + Bus.getOff(this); + } + + @SuppressLint("ClickableViewAccessibility") + private void initView() { + // 初始化所有视图组件 + giftBg = findViewById(R.id.giftBg); + giftSendBgV = findViewById(R.id.giftSendBgV); + liveGiftSend = findViewById(R.id.liveGiftSend); + liveGiftImg = findViewById(R.id.liveGiftImg); + diamondNumberTv = findViewById(R.id.diamondNumberTv); + diamondClickView = findViewById(R.id.diamondClickView); + goldBeanImg = findViewById(R.id.goldBeanImg); + goldNumberTv = findViewById(R.id.goldNumberTv); + giftRecyclerView = findViewById(R.id.giftRecyclerView); + giftWrapTv = findViewById(R.id.giftWrapTv); + giftTitleRecyclerView = findViewById(R.id.giftTitleRecyclerView); + lvTitleTv = findViewById(R.id.lvTitleTv); + lvTipsTv = findViewById(R.id.lvTipsTv); + lvTipsImg = findViewById(R.id.lvTipsImg); + progressBar = findViewById(R.id.week_progressbar); + giftLevelGroup = findViewById(R.id.giftLevelGroup); + openVipTv = findViewById(R.id.openVipTv); + openVipImg = findViewById(R.id.openVipImg); + giftDescription = findViewById(R.id.gift_description); + continuousClicksBg = findViewById(R.id.continuousClicksBg); + lianText = findViewById(R.id.lian_text); + continuousClickGroup = findViewById(R.id.continuousClickGroup); + operateImage = findViewById(R.id.operate_image); + blindBox = findViewById(R.id.blind_box); + giftSponsorBgImg = findViewById(R.id.giftSponsorBgImg); + giftItle = findViewById(R.id.gift_itle); + namingAvatar = findViewById(R.id.naming_avatar); + namingName = findViewById(R.id.naming_name); + giftSponsorGroup = findViewById(R.id.giftSponsorGroup); + liveGiftSendTv = findViewById(R.id.liveGiftSendTv); + // 初始化所有视图组件 + frameBlindTop = findViewById(R.id.frame_blind_top); + progressBlind2 = findViewById(R.id.progress_blind3); + progressBlind = findViewById(R.id.progress_blind1); + progressBlind1 = findViewById(R.id.progress_blind2); + textBlindProgress = findViewById(R.id.text_blind_progress); + blindNumber = findViewById(R.id.blind_number); + description = findViewById(R.id.description); + textBlindGiftName = findViewById(R.id.text_blind_gift_name); + blindSvg = findViewById(R.id.blind_svga); + iconMasking = findViewById(R.id.icon_masking); + blindBoxOpen = findViewById(R.id.blind_box_open); + giftSendGroup = findViewById(R.id.giftSendGroup); + openVipArrowImg = findViewById(R.id.openVipArrowImg); + //赞助信息 + giftSponsorGroup.setVisibility(View.GONE); + //设置礼物弹窗背景 这里不设置 +// ImgLoader.displayBlurLive(getContext(), R.drawable.backgroud_custom_gift2, gitBackground); +// gitBackground.setAlpha(0.97f); +// ImgLoader.display(getContext(), R.mipmap.ic_gift_right_arrow, liveGiftImg); + + //礼物分类tab + //礼物分类tab + LinearLayoutManager manager = new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false); + giftTitleRecyclerView.setLayoutManager(manager); + giftTitleAdapter = new GiftTitleAdapter(); + giftTitleRecyclerView.setAdapter(giftTitleAdapter); + giftWrapTv.setAlpha(0.5f); + giftWrapTv.setTypeface(Typeface.SANS_SERIF, Typeface.NORMAL); + liveGiftSend.setEnabled(false); + giftSendGroup.setVisibility(View.INVISIBLE); + giftDescription.setVisibility(View.GONE); + operateImage.setVisibility(View.GONE); + giftLevelGroup.setVisibility(View.VISIBLE); + + + } + + + @SuppressLint("ClickableViewAccessibility") + private void initListener() { + blindBox.setOnTouchListener((v, event) -> { + if (event.getAction() == MotionEvent.ACTION_UP) { + v.performClick(); + } + return true; + }); + giftSponsorBgImg.setOnTouchListener((v, event) -> { + if (event.getAction() == MotionEvent.ACTION_UP) { + v.performClick(); + } + return true; + }); + operateImage.setOnTouchListener((v, event) -> { + if (event.getAction() == MotionEvent.ACTION_UP) { + v.performClick(); + } + return true; + }); + + //点击包裹 + ViewClicksAntiShake.clicksAntiShake(giftWrapTv, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + MobclickAgent.onEvent(mContext, "gif_list_pack_list", "用户点礼物栏包裹礼物按钮"); + giftTitleAdapter.uncheck(); + giftWrapTv.setAlpha(1.0f); + giftWrapTv.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD); + //TODO 切换到包裹取消更爱 +// transaction = getTransaction(); +// contentFragment = LiveParcelFragment.newInstance(mStream, mLiveUid); +// transaction.replace(R.id.context_layout_gift, contentFragment); +// transaction.commitAllowingStateLoss(); +// isWrap = true; +// findViewById(R.id.giftWrapRedPoint).setVisibility(View.GONE); +// hideLianBtn(); + } + }); + + //;连送 + continuousClicksBg.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + MobclickAgent.onEvent(mContext, "gif_list_seed_gif", "用户送礼物"); + sendGiftHandler.post(sendGiftRunnble); + } + }); + + //送礼 + ViewClicksAntiShake.clicksAntiShake(liveGiftSend, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + MobclickAgent.onEvent(mContext, "gif_list_seed_gif", "用户送礼物"); + + if (liveGiftModel != null && liveGiftModel.getBlindBoxTicket() > 0) { + BigDecimal needcoin = new BigDecimal(liveGiftModel.getPrice()).multiply(new BigDecimal(mCount)); + + if (needcoin.longValue() > diamond) { + + sendBlindBoxTicket(); + } else { + new DialogUitl.Builder(mContext) + .setView(R.layout.dialog_live_unfollow) + .setConfirmString(mContext.getString(R.string.aristocrat_determine)) + .setCancelString(mContext.getString(R.string.use_diamonds)) + .setContent(mContext.getString(R.string.trial_coupon)) + .setClickCallback(new DialogUitl.SimpleCallback2() { + @Override + public void onCancelClick() { + sendGiftHandler.post(sendGiftRunnble); + } + + @Override + public void onConfirmClick(Dialog dialog, String content) { + sendBlindBoxTicket(); + } + }).setCancelable(true).build().show(); + } + + } else { + sendGiftHandler.post(sendGiftRunnble); + } + + + } + }); + + // 跳转充值 + ViewClicksAntiShake.clicksAntiShake(diamondClickView, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + MobclickAgent.onEvent(mContext, "gif_list_recharge_list", "用户点礼物栏充值按钮"); + forwardMyCoin(0); + } + }); + + // 跳转充值 + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.gold_layout), new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + forwardMyCoin(2); + } + }); + + // 盲盒说明 + ViewClicksAntiShake.clicksAntiShake(description, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + MobclickAgent.onEvent(mContext, "gif_list_blind_box_info", "用户点开礼物列表盲盒页面的盲盒说明"); + IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo(); + StringBuffer htmlUrl = new StringBuffer(); + htmlUrl.append(CommonAppConfig.HOST) + .append("/h5/blindBoxInfo/index.html?uid=") + .append(userInfo.getId()) + .append("&token=") + .append(userInfo.getToken()) + .append("&no_back=1") + .append("&type=") + .append(blindBoxType - 1) + + .append("&isZh=") + .append(WordUtil.isNewZh() ? "1" : 0); + Bundle bundle = new Bundle(); + bundle.putString("url", htmlUrl.toString()); + // System.out.println("盲盒页面 = "+htmlUrl.toString()); + LiveHDDialogFragment fragment = new LiveHDDialogFragment(); + fragment.setArguments(bundle); + fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment"); + } + }); + + // 跳转贵族 + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.openVipBg), new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + MobclickAgent.onEvent(mContext, "gif_list_opened_noble", "用户点击开通贵族"); + dismiss(); + ((LiveActivity) mContext).openLuckGiftTip(); + } + }); + //用户等级 + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.giftLevelClickV), new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + MobclickAgent.onEvent(mContext, "gif_list_grade", "用户点击等级页面"); + IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo(); + StringBuffer htmlUrl = new StringBuffer(); + htmlUrl.append(CommonAppConfig.HOST) + .append("/h5/Grade/index.html?uid=") + .append(userInfo.getId()) + .append("&token=") + .append(userInfo.getToken()) + .append("&no_back=1") + .append("&for") + .append("&isZh=") + .append(WordUtil.isNewZh() ? "1" : 0); + Bundle bundle = new Bundle(); + bundle.putString("url", htmlUrl.toString()); + bundle.putInt("height", DeviceUtils.getScreenHeight(getActivity()) / 5 * 3); + LiveHDDialogFragment fragment = new LiveHDDialogFragment(); + fragment.setArguments(bundle); + fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment"); + } + }); + + //选择礼物数量 + ViewClicksAntiShake.clicksAntiShake(giftSendBgV, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + if (liveGiftModel.getType() == 7) return; + new XPopup.Builder(getContext()) + .enableDrag(false) + .asCustom(new GiftNumberPopup(getContext())) + .show(); + ImgLoader.display(getContext(), R.mipmap.icon_arrow_down, liveGiftImg); + } + }); + + /** + * 礼物图片运营位跳转 + */ + ViewClicksAntiShake.clicksAntiShake(operateImage, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + IMLoginModel userInfo = IMLoginManager.get(mContext).getUserInfo(); + StringBuffer htmlUrl = new StringBuffer(); + htmlUrl.append(CommonAppConfig.HOST) + .append(liveGiftModel.getOperateUrl()) + .append("?uid=") + .append(userInfo.getId()) + .append("&token=") + .append(userInfo.getToken()) + .append("&for").append("&isZh=") + .append(WordUtil.isNewZh() ? "1" : 0); + Bundle bundle = new Bundle(); + bundle.putString("url", htmlUrl.toString()); + bundle.putInt("height", DeviceUtils.getScreenHeight(getActivity()) / 5 * 3); + LiveHDDialogFragment fragment = new LiveHDDialogFragment(); + fragment.setArguments(bundle); + fragment.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment"); + } + }); + + if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) { + ImgLoader.display(mContext, R.mipmap.icon_live_gift_gift_itle, giftItle); + } else { + ImgLoader.display(mContext, R.mipmap.icon_live_gift_gift_itle_en, giftItle); + } + + } + + + private List stringBuilders = new ArrayList<>(); + private Handler boxBlindHandler = new Handler(); + private Runnable boxBlindRunnable = new Runnable() { + @Override + public void run() { + if (stringBuilders != null && stringBuilders.size() > 0) { + SpannableStringBuilder stringBuilder = stringBuilders.get(0); + textBlindGiftName.setText(stringBuilder); + boxBlindHandler.postDelayed(boxBlindRunnable, 1500); + stringBuilders.remove(0); + + } else { + textBlindGiftName.setText(String.format(mContext.getString(R.string.random_availability), blindGiftNamesBuffer.toString())); + } + } + }; + + private void initDate() { + Bundle bundle = getArguments(); + if (bundle != null) { + mLiveUid = bundle.getString("mLiveUid"); + mStream = bundle.getString("mStream"); + mLiveGuardInfo = bundle.getParcelable("GuardInfo"); + mWishGiftId = bundle.getString("WishGiftId"); + isContactGift = bundle.getBoolean("ContactGift", false) ? 1 : 0; + by = bundle.getString("by"); + isPk = bundle.getBoolean("pk"); + } + //判断是否缓存礼物列表 + LiveHttpUtil.getNewGiftList(new HttpCallback() { + @Override + public void onSuccess(int code, String msg, String[] info) { + if (code == 0 && info.length > 0) { + JSONObject obj = JSON.parseObject(info[0]); + liveGiftList = obj.getJSONArray("listarray"); + CommonAppConfig.getInstance().setGiftListJson(obj.getString("listarray")); + getCoin(); + goldNumberTv.setText(obj.getString("gold")); + diamondNumberTv.setText(obj.getString("coin")); + setTitleData(); + + } + } + + @Override + public void onFinish() { + getCoin(); + } + }); + getBlindBoxInfo(); + loadUserVip(); + } + + + //使用优惠券 + public void sendBlindBoxTicket() { + if (TextUtils.isEmpty(mLiveUid) || + TextUtils.isEmpty(mStream) || + liveGiftModel == null) + return; + + LiveHttpUtil.sendBlindBoxTicket((by != null ? "1" : "0"), + mLiveUid, + mStream, + isWrap ? liveGiftModel.getGift_id() : liveGiftModel.getBlindBoxTicketId(), new HttpCallback() { + @Override + public void onSuccess(int code, String msg, String[] info) { + if (code == 0) { + if (liveGiftModel.getSwf().contains("svga")) { + dismiss(); + } + if (info.length > 0) { + JSONObject obj = JSON.parseObject(info[0]); + String coin = obj.getString("coin"); + String goldCoin = obj.getString("gold"); + UserBean u = CommonAppConfig.getInstance().getUserBean(); + if (u != null) { + u.setLevel(obj.getIntValue("level")); + //送礼物后更新粉丝徽章等级 + L.eSw("___送礼物后更新粉丝徽章等级_修改前111___ " + obj.getIntValue("medal_level")); + u.setMedalLevel(obj.getIntValue("medal_level")); + L.eSw("___送礼物后更新粉丝徽章等级_修改后111___ " + CommonAppConfig.getInstance().getUserBean().getMedalLevel()); + u.setMedalName(obj.getString("medal_name")); + u.setCoin(coin); + } + if (diamondNumberTv != null) { + diamondNumberTv.setText(coin); + } + if (goldNumberTv != null) { + goldNumberTv.setText(goldCoin); + } + if (!isWrap) { + liveGiftModel.setBlindBoxTicket(liveGiftModel.getBlindBoxTicket() - 1); + } else { + for (int i = 0; i < liveGiftList.size(); i++) { + JSONObject data = liveGiftList.getJSONObject(i); + String giftJson = data.getString("giftlist"); + List liveGiftBeans = JSONArray.parseArray(giftJson, LiveGiftBean.class); + List liveGiftModels = new ArrayList<>(); + for (LiveGiftBean model : liveGiftBeans) { + if (model.getBlindBoxTicketId() == liveGiftModel.getId() && model.getBlindBoxTicket() > 0) { + model.setBlindBoxTicket(model.getBlindBoxTicket() - 1); + } + liveGiftModels.add(model); + } + liveGiftList.getJSONObject(i).put("giftlist", JSONArray.toJSONString(liveGiftModels)); + } + LiveHttpUtil.getNewGiftList(new HttpCallback() { + @Override + public void onSuccess(int code, String msg, String[] info) { + if (code == 0 && info.length > 0) { + JSONObject obj = JSON.parseObject(info[0]); + liveGiftList = obj.getJSONArray("listarray"); + CommonAppConfig.getInstance().setGiftListJson(obj.getString("listarray")); + } + } + + @Override + public void onFinish() { + } + }); + } + isGetNewWrap = true; + if (isWrap) { + //刷新包裹中的礼物数量 + Bus.get().post(new LiveParcelItemRefreshEvent().setLiveGiftModel(liveGiftModel).setSendCount(Integer.parseInt(mCount))); + } + } + } else { + ToastUtil.show(msg); + } + } + + }); + } + + + /** + * 赠送礼物 + */ + public void sendGift() { + if (liveGiftModel == null) return; + if (liveGiftModel.getType() == 7) { + MobclickAgent.onEvent(mContext, "gif_list_blind_box_seed", "用户发送盲盒"); + } + if (liveGiftModel.getTag() != null) { + if (mCount.equals("1")) { + LiveHttpUtil.setFrontTask("sendgift", mLiveUid, new HttpCallback() { + @Override + public void onSuccess(int code, String msg, String[] info) { + EventBus.getDefault().post("stop_svga_new_user_gif"); + EventBus.getDefault().post("stop_new_user_gif"); + if (code == 0) { + EventBus.getDefault().post("stop_new_user_gif1"); + } + dismiss(); + } + }); + } else { + ToastUtil.show(mContext.getString(com.yunbao.live.R.string.only_one)); + } + } else { + if (TextUtils.isEmpty(mLiveUid) || TextUtils.isEmpty(mStream) || liveGiftModel == null) { + return; + } + if (mLiveGuardInfo != null) { + if (liveGiftModel.getMark() == LiveGiftBean2.MARK_GUARD && mLiveGuardInfo.getMyGuardType() != Constants.GUARD_TYPE_YEAR) { + ToastUtil.show(mContext.getString(com.yunbao.live.R.string.guard_gift_tip)); + return; + } + } + SendGiftCallback callback = new SendGiftCallback(liveGiftModel); + try { + if (!StringUtil.isEmpty(mWishGiftId) && liveGiftModel.getId() != Integer.parseInt(mWishGiftId)) { + isContactGift = 0; + } + } catch (NumberFormatException e) { + isContactGift = 0; + } + if (by != null) { + LiveHttpUtil.sendGift("1", mLiveUid, mStream, liveGiftModel.getId(), mCount, isContactGift, callback); + } else { + LiveHttpUtil.sendGift("0", mLiveUid, mStream, liveGiftModel.getId(), mCount, isContactGift, callback); + } + if (!liveGiftModel.getSwf().contains("svga")) { + showLianBtn(); + } + if (liveGiftModel.getType() == 7) { + showLianBtn(); + } + } + } + + + private void sendGiftForPage() { + if (liveGiftModel == null) return; + SendGiftCallback callback = new SendGiftCallback(liveGiftModel); + if (by != null) { + LiveHttpUtil.sendGiftForPage("1", mLiveUid, mStream, liveGiftModel.getGift_id(), mCount, 0, false, callback); + } else { + LiveHttpUtil.sendGiftForPage("0", mLiveUid, mStream, liveGiftModel.getGift_id(), mCount, 0, false, callback); + } + } + + + private class SendGiftCallback extends HttpCallback { + + private LiveGiftBean mGiftBean; + + public SendGiftCallback(LiveGiftBean giftBean) { + mGiftBean = giftBean; + } + + @Override + public void onSuccess(int code, String msg, String[] info) { + if (code == 0) { + if (mGiftBean.getSwf().contains("svga")) { + dismiss(); + } + if (info.length > 0) { + JSONObject obj = JSON.parseObject(info[0]); + String coin = obj.getString("coin"); + String goldCoin = obj.getString("gold"); + UserBean u = CommonAppConfig.getInstance().getUserBean(); + if (u != null) { + u.setLevel(obj.getIntValue("level")); + //送礼物后更新粉丝徽章等级 + u.setMedalLevel(obj.getIntValue("medal_level")); + L.eSw("___送礼物后更新粉丝徽章等级_修改前2222___ " + obj.getIntValue("medal_level")); + u.setMedalName(obj.getString("medal_name")); + u.setCoin(coin); + L.eSw("___送礼物后更新粉丝徽章等级_修改后2222___ " + CommonAppConfig.getInstance().getUserBean().getMedalLevel()); + } + if (diamondNumberTv != null) { + diamondNumberTv.setText(coin); + } + if (goldNumberTv != null) { + goldNumberTv.setText(goldCoin); + } + isGetNewWrap = true; + //是包裹里的礼物 + if (isWrap) { + //刷新包裹中礼物的数量 + Bus.get().post(new LiveParcelItemRefreshEvent().setLiveGiftModel(liveGiftModel).setSendCount(Integer.parseInt(mCount))); + } + } + } else if (code == 1007 && mGiftBean.getType() != 0) { + hideLianBtn(); + dismiss(); + LiveAudienceEvent.LiveAudienceType type = null; + String confirmString = mContext.getString(com.yunbao.live.R.string.dialog_fount_submit); + String tips = msg; + switch (mGiftBean.getType()) { + case 1: + type = LiveAudienceEvent.LiveAudienceType.NOBLE; + tips = mContext.getString(com.yunbao.live.R.string.dialog_live_gift_noble); + confirmString = mContext.getString(com.yunbao.live.R.string.dialog_live_gift_open_noble); + break; + case 2: + type = LiveAudienceEvent.LiveAudienceType.GUARD; + tips = mContext.getString(com.yunbao.live.R.string.dialog_live_gift_guard); + confirmString = mContext.getString(com.yunbao.live.R.string.dialog_live_gift_open_guard); + break; + case 3: + type = LiveAudienceEvent.LiveAudienceType.FAN_CLUB; + tips = mContext.getString(com.yunbao.live.R.string.dialog_live_gift_fans); + confirmString = mContext.getString(com.yunbao.live.R.string.dialog_live_gift_open_fans); + } + LiveAudienceEvent.LiveAudienceType finalType = type; + new DialogUitl.Builder(mContext) + .setView(com.yunbao.live.R.layout.dialog_live_unfollow) + .setConfirmString(confirmString) + .setContent(tips) + .setClickCallback((dialog, content) -> { + LiveAudienceEvent event = new LiveAudienceEvent() + .setType(finalType); + if (finalType == LiveAudienceEvent.LiveAudienceType.GUARD) { + event = event.setObject(""); + } + Bus.get().post(event); + }).build().show(); + + DebugUtils.runDebugCode(() -> { + Log.i("gifBean", mGiftBean.toString()); + }); + } else if (code == 1001) { + hideLianBtn(); + new DialogUitl.Builder(mContext) + .setView(com.yunbao.live.R.layout.dialog_live_unfollow) + .setConfirmString(getString(com.yunbao.live.R.string.charge)) + .setContent(getString(com.yunbao.live.R.string.insufficient_balance)) + .setClickCallback(new DialogUitl.SimpleCallback() { + @Override + public void onConfirmClick(Dialog dialog, String content) { + forwardMyCoin(0); + MobclickAgent.onEvent(mContext, "user_to_recharge", "app内任意提示用户余额不足 用户充值点了提示里面的去充值"); + } + }).build().show(); + } else { + hideLianBtn(); + ToastUtil.show(msg); + } + } + } + + + private void showLianBtn() { + continuousClicksBg.removeCallbacks(newLianSongRunnable); + continuousClickGroup.setVisibility(View.VISIBLE); + giftSendGroup.setVisibility(View.INVISIBLE); + mLianCountDownCount = 5; + continuousClicksBg.post(newLianSongRunnable); + } + + /** + * 隐藏连送按钮 包裹 + */ + private void hideLianBtn() { + continuousClickGroup.setVisibility(View.INVISIBLE); + giftSendGroup.setVisibility(View.VISIBLE); + continuousClicksBg.removeCallbacks(newLianSongRunnable); + getCoin(); + if (liveGiftModel != null) { + int giftId = liveGiftModel.isPageGift() ? liveGiftModel.getGift_id() : liveGiftModel.getId(); + LiveNetManager.get(mContext) + .getGiftNamingInfo(giftId + "", new com.yunbao.common.http.base.HttpCallback() { + @Override + public void onSuccess(GiftNamingInfoModel data) { + if (TextUtils.equals(data.getNamingStatus(), "1")) { + boolean isPageGift = liveGiftModel.isPageGift(); + liveGiftModel = JSONObject.parseObject(GsonUtils.toJson(data), LiveGiftBean.class); + liveGiftModel.setPageGift(isPageGift); + liveGiftModel.setGift_id(giftId); + liveGiftModel.setId(giftId); + if (!TextUtils.isEmpty(liveGiftModel.getNamingLiveuid()) && + !TextUtils.isEmpty(liveGiftModel.getNamingUid()) && + !TextUtils.equals(liveGiftModel.getNamingLiveuid(), "0") && + !TextUtils.equals(liveGiftModel.getNamingUid(), "0")) { + giftSponsorGroup.setVisibility(View.VISIBLE); + ImgLoader.display(mContext, liveGiftModel.getNamingLiveAvatar(), namingAvatar); + StringBuffer namingNameText = new StringBuffer(); + if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) { + namingNameText.append("获取冠名:") + .append(liveGiftModel.getNamingUserCoin()) + .append(" "); + + } else { + namingNameText.append("Get title: ") + .append(liveGiftModel.getNamingUserCoin()) + .append(" "); + } + String hideName = liveGiftModel.getNamingUid().equals(IMLoginManager.get(mContext).getUserInfo().getId() + "") ? liveGiftModel.getNamingUserName() : WordUtil.getNewString(R.string.mystery_man); + String hideLiveName = liveGiftModel.getNamingLiveuid().equals(IMLoginManager.get(mContext).getUserInfo().getId() + "") ? liveGiftModel.getNamingLiveName() : WordUtil.getNewString(R.string.mystery_man); + namingNameText.append(mContext.getText(com.yunbao.live.R.string.title_anchor)) + .append(liveGiftModel.getNamingLiveName()) + .append(" ") + .append(mContext.getText(com.yunbao.live.R.string.the_title_financier)) + .append(" ") + .append(liveGiftModel.getNaming_user_gift_hall_rank_hide() == 0 ? liveGiftModel.getNamingUserName() : hideName); + namingName.setText(namingNameText.toString()); + } else { + giftSponsorGroup.setVisibility(View.GONE); + + } + } else { + giftSponsorGroup.setVisibility(View.GONE); + } + + } + + @Override + public void onError(String error) { + + } + }); + } + } + + /** + * 新连送回调 + */ + private Runnable newLianSongRunnable = new Runnable() { + + @Override + public void run() { + if (mLianCountDownCount == 0) { + hideLianBtn(); + } else { + mLianCountDownCount--; + if (lianText != null) { + lianText.setText(mLianCountDownCount + "s"); + continuousClicksBg.postDelayed(newLianSongRunnable, 1000); + } + } + } + }; + + /** + * 获取砖石和金豆余额 + */ + long diamond = 0; + + private void getCoin() { + LiveHttpUtil.getCoin(new HttpCallback() { + @Override + public void onSuccess(int code, String msg, String[] info) { + if (code == 0 && info.length > 0) { + if (!TextUtils.isEmpty(info[0])) { + CoinModel coinModel = GsonUtils.fromJson(info[0], CoinModel.class); + goldNumberTv.setText(coinModel.getGold()); + diamondNumberTv.setText(coinModel.getCoin()); + diamond = coinModel.getCoinLong(); + lvTitleTv.setText("LV." + coinModel.getUserLevel()); + + findViewById(R.id.giftWrapRedPoint).setVisibility((!TextUtils.isEmpty(coinModel.getUsersPackRedDot())) && + TextUtils.equals(coinModel.getUsersPackRedDot(), "1") ? View.VISIBLE : View.GONE); + if (!TextUtils.equals(coinModel.getUserLevel(), coinModel.getUserLevelMax())) { + int nextLeve = Integer.parseInt(coinModel.getUserNextLevelRewards()); + + + BigDecimal maxLeve = new BigDecimal(coinModel.getUserLevelUpgrades()).add(new BigDecimal(coinModel.getUserLevelCurrentConsumption())); + try { + String leveNext = String.valueOf(nextLeve); + String userNextLevel = coinModel.getUserLevelUpgrades(); + StringBuffer stringBuffer = new StringBuffer(); + if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) { + stringBuffer.append("升級還需") + .append(userNextLevel) + .append("經驗值,升至") + .append(leveNext) + .append("即可領取獎勵"); + } else { + stringBuffer.append(userNextLevel) + .append(" experience upgrade,") + .append(leveNext) + .append(" receive rewards"); + } + String hint = stringBuffer.toString(); + + int leveNextIndexOf = hint.indexOf(leveNext); + int leveNextSize = leveNext.length(); + int userNextLevelIndexOf = hint.indexOf(userNextLevel); + int userNextLevelSize = userNextLevel.length(); + SpannableStringBuilder builder = new SpannableStringBuilder(); + builder.append(hint); + builder.setSpan(new + ForegroundColorSpan(Color.parseColor("#FFC722")), + leveNextIndexOf, leveNextIndexOf + leveNextSize, + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + builder.setSpan(new + ForegroundColorSpan(Color.parseColor("#FFC722")), + userNextLevelIndexOf, userNextLevelIndexOf + userNextLevelSize, + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + lvTipsTv.setText(builder); + progressBar.setProgress(new BigDecimal(coinModel.getUserLevelCurrentConsumption()).intValue()); + progressBar.setMax(maxLeve.intValue()); + } catch (Exception e) { + throw new RuntimeException(e); + } + } else { + String hint = mContext.getString(R.string.reach_the_top); + lvTipsTv.setText(hint); + progressBar.setMax(10); + progressBar.setProgress(10); + } + } + } + } + }); + } + + /** + * 跳转到我的钻石 + */ + private void forwardMyCoin(int page) { + dismiss(); + //我们的 + ARouter.getInstance().build(PATH_COIN).withInt("p", page).navigation(); + } + + //设置礼物类别数据 + private void setTitleData() { + List name = new ArrayList<>(); + for (int i = 0; i < liveGiftList.size(); i++) { + JSONObject data = liveGiftList.getJSONObject(i); + GiftTopBean giftTopBean = new GiftTopBean(); + giftTopBean.setName(data.getString("name")); + name.add(giftTopBean); + if (bean1 != null && IMLoginManager.get(mContext).isNewUserGif() && (data.getString("name").equals("熱門") || data.getString("name").equals("Hot"))) { + String giftJson = data.getString("giftlist"); + List liveGiftBeans = JSONArray.parseArray(giftJson, LiveGiftBean.class); + liveGiftBeans.add(0, bean1); + if (mWishGiftId == null) { + mWishGiftId = "" + bean1.getId(); + } + liveGiftList.getJSONObject(i).put("giftlist", JSONArray.toJSONString(liveGiftBeans)); + } + + } + giftTitleAdapter.addAllData(name); + if (!TextUtils.isEmpty(mWishGiftId) && liveGiftList.size() > 0) { + for (int i = 0; i < liveGiftList.size(); i++) { + JSONObject data = liveGiftList.getJSONObject(i); + String giftJson = data.getString("giftlist"); + List liveGiftBeans = JSONArray.parseArray(giftJson, LiveGiftBean.class); + for (LiveGiftBean model : liveGiftBeans) { + //TODO 需要根据wishGiftId判断跳转 +// if (TextUtils.equals(model.getId() + "", mWishGiftId)) { +// transaction = getTransaction(); +// contentFragment = LiveGiftFragment.newInstance(giftJson, +// liveGiftList.getJSONObject(i).getString("name"), +// mStream, mLiveUid, mWishGiftId); +// transaction.replace(R.id.context_layout_gift, contentFragment); +// transaction.commitAllowingStateLoss(); +// giftTitleAdapter.setTitleIndex(i); +// break; +// } + } + } + } else { + JSONObject obj2 = liveGiftList.getJSONObject(0); + String giftJson = obj2.getString("giftlist"); + //TODO 需要根据不同实现不同逻辑 +// transaction = getTransaction(); +// contentFragment = LiveGiftFragment.newInstance(giftJson, +// liveGiftList.getJSONObject(0).getString("name"), +// mStream, mLiveUid, mWishGiftId); +// transaction.replace(R.id.context_layout_gift, contentFragment); +// transaction.commitAllowingStateLoss(); + } + } + + + public List blindBoxInfoModels = new ArrayList<>(); + private void getBlindBoxInfo() { + LiveNetManager.get(mContext) + .getBlindBoxInfo(new com.yunbao.common.http.base.HttpCallback>() { + @Override + public void onSuccess(List data) { + blindBoxInfoModels = data; + } + + @Override + public void onError(String error) { + ToastUtil.show(error); + } + }); + } + + /** + * 设置贵族状态 + */ + private void loadUserVip() { + HttpClient.getInstance().get("User.getBaseInfos", "getBaseInfo") + .params("uid", IMLoginManager.get(mContext).getUserInfo().getId()) + .params("token", IMLoginManager.get(mContext).getUserInfo().getToken()) + .execute(new HttpCallback() { + @Override + public void onSuccess(int code, String msg, String[] info) { + if (code == 0 && info.length > 0) { + JSONObject user = JSONObject.parseObject(info[0]); + int nobleId = user.getIntValue("noble_id"); + int resId = NobleUtil.nobleIdToImageResId(nobleId); + if (resId != -1) { + openVipImg.setImageResource(resId); + openVipTv.setText(user.getString("noble_name")); + openVipArrowImg.setVisibility(View.VISIBLE); + } else { + openVipArrowImg.setVisibility(View.GONE); + openVipImg.setImageResource(R.mipmap.ic_open_noble_3); + openVipTv.setText(R.string.open_vip_live); + } + } + } + }); + } + + + /** + * 关于点击礼物分类的通知 + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onGiftTitleEvent(GiftTitleEvent event) { + + giftWrapTv.setAlpha(0.5f); + giftWrapTv.setTypeface(Typeface.SANS_SERIF, Typeface.NORMAL); + liveGiftSend.setEnabled(false); + giftSendGroup.setVisibility(View.INVISIBLE); + JSONObject obj2 = liveGiftList.getJSONObject(event.getmPosition()); + String giftJson = obj2.getString("giftlist"); + //TODO 需要替换 +// transaction = getTransaction(); +// contentFragment = LiveGiftFragment.newInstance(giftJson, event.getGiftTitle(), mStream, mLiveUid, mWishGiftId); +// transaction.replace(R.id.context_layout_gift, contentFragment); +// transaction.commitAllowingStateLoss(); + isWrap = false; + if (giftSendGroup.getVisibility() == View.INVISIBLE) { + hideLianBtn(); + } + mCount = DEFAULT_COUNT; + liveGiftSendTv.setText(mCount); + giftDescription.setVisibility(View.GONE); + giftLevelGroup.setVisibility(View.VISIBLE); + } + + @Subscribe(threadMode = ThreadMode.MAIN) + public void onGiftNumberEvent(GiftNumberEvent event) { + if (TextUtils.equals(event.getmCount(), "-1")) { + ImgLoader.display(getContext(), R.mipmap.ic_gift_right_arrow, liveGiftImg); + } else { + ImgLoader.display(getContext(), R.mipmap.ic_gift_right_arrow, liveGiftImg); + mCount = event.getmCount(); + liveGiftSendTv.setText(mCount); + } + + } + + /** + * 选中的礼物数据 + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onLiveGiftItemEvent(LiveGiftItemEvent event) { + liveGiftModel = event.getLiveGiftModel(); + MobclickAgent.onEvent(mContext, "gif_list_choose", "用户选中某个礼物:" + liveGiftModel.getName()); + + if (!TextUtils.isEmpty(liveGiftModel.getNamingLiveuid()) && + !TextUtils.isEmpty(liveGiftModel.getNamingUid()) && + !TextUtils.equals(liveGiftModel.getNamingLiveuid(), "0") && + !TextUtils.equals(liveGiftModel.getNamingUid(), "0")) { + giftSponsorGroup.setVisibility(View.VISIBLE); + ImgLoader.display(mContext, liveGiftModel.getNamingLiveAvatar(), namingAvatar); + StringBuffer namingNameText = new StringBuffer(); + if (IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) { + namingNameText.append("获取冠名:") + .append(liveGiftModel.getNamingUserCoin()) + .append(" "); + } else { + namingNameText.append("Get title: ") + .append(liveGiftModel.getNamingUserCoin()); + } + String hideName=liveGiftModel.getNamingUid().equals(IMLoginManager.get(mContext).getUserInfo().getId()+"")?liveGiftModel.getNamingUserName():WordUtil.getNewString(R.string.mystery_man); + String hideLiveName=liveGiftModel.getNamingLiveuid().equals(IMLoginManager.get(mContext).getUserInfo().getId()+"")?liveGiftModel.getNamingLiveName():WordUtil.getNewString(R.string.mystery_man); + namingNameText.append(mContext.getText(com.yunbao.live.R.string.title_anchor)) + .append(liveGiftModel.getNamingLiveName()) + .append(" ") + .append(mContext.getText(com.yunbao.live.R.string.the_title_financier)) + .append(liveGiftModel.getNaming_user_gift_hall_rank_hide()==0?liveGiftModel.getNamingUserName():hideName); + namingName.setText(namingNameText.toString()); + } else { + giftSponsorGroup.setVisibility(View.GONE); + + } + + if (liveGiftModel.getType() == 7) { + MobclickAgent.onEvent(mContext, "gif_list_blind_box", "用户点开礼物列表盲盒"); + liveGiftImg.setVisibility(View.GONE); + showBlindProgress(liveGiftModel.getBlind_box_type()); + description.setTag(liveGiftModel.getBlind_box_type()); + } else { + blindBox.setVisibility(View.INVISIBLE); + mCount = DEFAULT_COUNT; + liveGiftSendTv.setText(mCount); + liveGiftImg.setVisibility(View.VISIBLE); + } + liveGiftSend.setEnabled(true); + giftSendGroup.setVisibility(View.VISIBLE); + mCount = DEFAULT_COUNT; + liveGiftSendTv.setText(mCount); + if (giftSendGroup.getVisibility() == View.INVISIBLE) { + hideLianBtn(); + } + if (TextUtils.isEmpty(liveGiftModel.getGiftDescription())) { + giftDescription.setVisibility(View.GONE); + giftLevelGroup.setVisibility(View.VISIBLE); + } else { + giftDescription.setText(liveGiftModel.getGiftDescription()); + giftDescription.setVisibility(View.VISIBLE); + giftLevelGroup.setVisibility(View.INVISIBLE); + } + if (!TextUtils.isEmpty(liveGiftModel.getOperateImage())) { + operateImage.setVisibility(View.VISIBLE); + ImgLoader.display(getContext(), liveGiftModel.getOperateImage(), operateImage); + } else { + operateImage.setVisibility(View.GONE); + } + hideLianBtn(); + } + + @Subscribe(threadMode = ThreadMode.MAIN) + public void onLiveGiftDialogEvent(LiveGiftDialogEvent event) { + dismiss(); + } + + @Subscribe(threadMode = ThreadMode.MAIN) + public void onSendBlindGiftEvent(SendBlindGiftEvent event) { + if (!TextUtils.equals(String.valueOf(IMLoginManager.get(mContext).getUserInfo().getId()), event.getUid())) + return; + BlindBoxInfoModel model = null; + for (int i = 0; i < blindBoxInfoModels.size(); i++) { + if (TextUtils.equals(blindBoxInfoModels.get(i).getBlindBoxType(), event.getBoxType())) { + blindBoxInfoModels.get(i).setDressThresholdValue(event.getDressThresholdValue()); + blindBoxInfoModels.get(i).setThresholdValue(event.getThresholdValue()); + model = blindBoxInfoModels.get(i); + } + } + + long userID = IMLoginManager.get(mContext).getUserInfo().getId(); + String boxBlindName; + try { + if (!blindBoxOpen.isAnimating()) { + new SVGAParser(mContext).parse(new URL(model.getBlindBoxSwf()), new SVGAParser.ParseCompletion() { + @Override + public void onComplete(SVGAVideoEntity videoItem) { + blindBoxOpen.setVisibility(View.VISIBLE); + SVGADrawable drawable = new SVGADrawable(videoItem); + blindBoxOpen.setImageDrawable(drawable); + blindBoxOpen.setLoops(1); + blindBoxOpen.startAnimation(); + + } + + @Override + public void onError() { + } + }); + + blindBoxOpen.setCallback(new SVGACallback() { + @Override + public void onPause() { + } + + @Override + public void onFinished() { + blindBoxOpen.clear(); + blindBoxOpen.setVisibility(View.GONE); + Log.e("礼物盲盒", "结束播放"); + } + + @Override + public void onRepeat() { + } + + @Override + public void onStep(int i, double v) { + Log.e("礼物盲盒", "onStep: frame " + i + " percentage " + v); + } + }); + } + + } catch (MalformedURLException e) { + e.printStackTrace(); + } + //判断送礼用户更新送礼用户进度 + if (TextUtils.equals(String.valueOf(userID), event.getUid()) && blindBoxType == Integer.parseInt(event.getBoxType())) { + switch (blindBoxType) { + case 1: + boxBlindName = mContext.getString(R.string.mini_blind_box); + progressBlind.setMax(Integer.parseInt(model.getThresholdValue())); + progressBlind.setProgress(Integer.parseInt(model.getDressThresholdValue())); + break; + case 2: + boxBlindName = mContext.getString(R.string.collection_blind_box); + + progressBlind1.setMax(Integer.parseInt(model.getThresholdValue())); + progressBlind1.setProgress(Integer.parseInt(model.getDressThresholdValue())); + + break; + default: + boxBlindName = mContext.getString(R.string.pd_blind_box); + progressBlind2.setMax(Integer.parseInt(model.getThresholdValue())); + progressBlind2.setProgress(Integer.parseInt(model.getDressThresholdValue())); + break; + } + //进度下方提示语 + if (TextUtils.equals(model.getThresholdValue(), model.getDressThresholdValue())) { + String individualDressing = mContext.getString(R.string.individual_dressing); + String msg = mContext.getString(R.string.have_already_win); + msg = String.format(msg, model.getThresholdDressName()); + int dressNameIndexOf = msg.indexOf(model.getThresholdDressName()); + int individualDressingIndexOf = msg.indexOf(String.valueOf(individualDressing)); + int dressNameSize = model.getThresholdDressName().length(); + int individualDressingSize = String.valueOf(individualDressing).length(); + SpannableStringBuilder builder = new SpannableStringBuilder(); + builder.append(msg); + builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), dressNameIndexOf, dressNameIndexOf + dressNameSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), individualDressingIndexOf, individualDressingIndexOf + individualDressingSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + blindNumber.setText(builder); + textBlindProgress.setText(R.string.get_it_done); + } else { + int progress = Integer.parseInt(model.getThresholdValue()) - Integer.parseInt(model.getDressThresholdValue()); + String msg = mContext.getString(R.string.resend_win); + msg = String.format(msg, String.valueOf(progress), model.getThresholdDressName()); + int dressNameIndexOf = msg.indexOf(model.getThresholdDressName()); + int progressIndexOf = msg.indexOf(String.valueOf(progress)); + int dressNameSize = model.getThresholdDressName().length(); + int progressSize = String.valueOf(progress).length(); + SpannableStringBuilder builder = new SpannableStringBuilder(); + builder.append(msg); + builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), dressNameIndexOf, dressNameIndexOf + dressNameSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), progressIndexOf, progressIndexOf + progressSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + blindNumber.setText(builder); + StringBuffer stringBuffer = new StringBuffer(); + stringBuffer.append(model.getDressThresholdValue()) + .append("/") + .append(model.getThresholdValue()); + textBlindProgress.setText(stringBuffer.toString()); + float maskingAlpha = (float) progress / Float.parseFloat(model.getThresholdValue()); + iconMasking.setAlpha(maskingAlpha); + } + if (stringBuilders.size() == 0) { + boxBlindHandler.postDelayed(boxBlindRunnable, 1500); + } + if (!TextUtils.isEmpty(event.getDressName()) && !TextUtils.isEmpty(event.getDressMsg())) { + SpannableStringBuilder stringBuilder = new SpannableStringBuilder(); + String boxBlindMsg = String.format(mContext.getString(R.string.random_availability2), WordUtil.isNewZh() ? event.getGiftname() : event.getGiftname_en(), WordUtil.isNewZh() ? event.getDressName() : event.getDress_nameen()); + stringBuilder.append(boxBlindMsg); + int dressNameIndex = boxBlindMsg.indexOf(WordUtil.isNewZh() ? event.getDressName() : event.getDress_nameen()); + int dressNameSize = (WordUtil.isNewZh() ? event.getDressName() : event.getDress_nameen()).length(); + int giftNameIndex = boxBlindMsg.indexOf(WordUtil.isNewZh() ? event.getGiftname() : event.getGiftname_en()); + int giftNameSize = (WordUtil.isNewZh() ? event.getGiftname() : event.getGiftname_en()).length(); + stringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor(event.getDressColour())), + dressNameIndex, + dressNameIndex + dressNameSize, + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + stringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor(event.getGiftColour())), + giftNameIndex, + giftNameIndex + giftNameSize, + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + stringBuilders.add(stringBuilder); + } else { + SpannableStringBuilder stringBuilder = new SpannableStringBuilder(); + String boxBlindMsg = String.format(mContext.getString(R.string.random_availability3), WordUtil.isNewZh() ? event.getGiftname() : event.getGiftname_en()); + stringBuilder.append(boxBlindMsg); + if (!TextUtils.isEmpty(event.getGiftname_en())) { + int giftNameIndex = boxBlindMsg.indexOf(WordUtil.isNewZh() ? event.getGiftname() : event.getGiftname_en()); + int giftNameSize = (WordUtil.isNewZh() ? event.getGiftname() : event.getGiftname_en()).length(); + stringBuilder.setSpan(new ForegroundColorSpan(Color.parseColor(event.getGiftColour())), + giftNameIndex, + giftNameIndex + giftNameSize, + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + } + stringBuilders.add(stringBuilder); + } + } + } + + /** + * 展示当前盲盒礼物进度 + * + * @param blindBoxType + */ + private StringBuffer blindGiftNamesBuffer = null; + private void showBlindProgress(int blindBoxType) { + this.blindBoxType = blindBoxType; + blindGiftNamesBuffer = new StringBuffer(); + BlindBoxInfoModel model = null; + for (BlindBoxInfoModel boxInfoModel : blindBoxInfoModels) { + if (TextUtils.equals(String.valueOf(blindBoxType), boxInfoModel.getBlindBoxType())) { + model = boxInfoModel; + } + } + if (model == null) return; + blindBoxOpen.clear(); + blindBoxOpen.setVisibility(View.GONE); + try { + blindSvg.clear(); + new SVGAParser(mContext).parse(new URL(model.getThresholdEffectSrc()), new SVGAParser.ParseCompletion() { + @Override + public void onComplete(SVGAVideoEntity videoItem) { + SVGADrawable drawable = new SVGADrawable(videoItem); + blindSvg.setImageDrawable(drawable); + SVGAViewUtils.playEndClear(blindSvg, false); + + } + + @Override + public void onError() { + Log.e("errqs", "errl"); + } + }); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + blindBox.setVisibility(View.VISIBLE); + String boxBlindName = ""; + switch (blindBoxType) { + case 1: + boxBlindName = mContext.getString(R.string.mini_blind_box); + progressBlind.setVisibility(View.VISIBLE); + progressBlind1.setVisibility(View.GONE); + progressBlind2.setVisibility(View.GONE); + frameBlindTop.setBackgroundResource(com.yunbao.live.R.mipmap.bg_kirin); + iconMasking.setBackgroundResource(com.yunbao.live.R.mipmap.icon_masking_kirin); + progressBlind.setMax(Integer.parseInt(model.getThresholdValue())); + progressBlind.setProgress(Integer.parseInt(model.getDressThresholdValue())); + textBlindProgress.setTextColor(Color.parseColor("#047771")); + break; + case 2: + boxBlindName = mContext.getString(com.yunbao.live.R.string.collection_blind_box); + progressBlind.setVisibility(View.GONE); + progressBlind1.setVisibility(View.VISIBLE); + progressBlind2.setVisibility(View.GONE); + frameBlindTop.setBackgroundResource(com.yunbao.live.R.mipmap.bg_phoenix); + iconMasking.setBackgroundResource(com.yunbao.live.R.mipmap.icon_masking_phoenix); + progressBlind1.setMax(Integer.parseInt(model.getThresholdValue())); + progressBlind1.setProgress(Integer.parseInt(model.getDressThresholdValue())); + textBlindProgress.setTextColor(Color.parseColor("#6D2E0F")); + + break; + default: + boxBlindName = mContext.getString(com.yunbao.live.R.string.pd_blind_box); + progressBlind.setVisibility(View.GONE); + progressBlind1.setVisibility(View.GONE); + progressBlind2.setVisibility(View.VISIBLE); + frameBlindTop.setBackgroundResource(com.yunbao.live.R.mipmap.bg_dragon); + iconMasking.setBackgroundResource(com.yunbao.live.R.mipmap.icon_masking_dragon); + progressBlind2.setMax(Integer.parseInt(model.getThresholdValue())); + progressBlind2.setProgress(Integer.parseInt(model.getDressThresholdValue())); + textBlindProgress.setTextColor(Color.parseColor("#905E01")); + break; + } + + //进度下方提示语 + if (TextUtils.equals(model.getThresholdValue(), model.getDressThresholdValue())) { + String individualDressing = mContext.getString(com.yunbao.live.R.string.individual_dressing); + String msg = mContext.getString(com.yunbao.live.R.string.have_already_win); + msg = String.format(msg, model.getThresholdDressName()); + int dressNameIndexOf = msg.indexOf(model.getThresholdDressName()); + int individualDressingIndexOf = msg.indexOf(String.valueOf(individualDressing)); + int dressNameSize = model.getThresholdDressName().length(); + int individualDressingSize = String.valueOf(individualDressing).length(); + SpannableStringBuilder builder = new SpannableStringBuilder(); + builder.append(msg); + builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), dressNameIndexOf, dressNameIndexOf + dressNameSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), individualDressingIndexOf, individualDressingIndexOf + individualDressingSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + blindNumber.setText(builder); + iconMasking.setAlpha(0.f); + } else { + int progress = Integer.parseInt(model.getThresholdValue()) - Integer.parseInt(model.getDressThresholdValue()); + String msg = mContext.getString(com.yunbao.live.R.string.resend_win); + msg = String.format(msg, String.valueOf(progress), model.getThresholdDressName()); + int dressNameIndexOf = msg.indexOf(model.getThresholdDressName()); + int progressIndexOf = msg.indexOf(String.valueOf(progress)); + int dressNameSize = model.getThresholdDressName().length(); + int progressSize = String.valueOf(progress).length(); + SpannableStringBuilder builder = new SpannableStringBuilder(); + builder.append(msg); + builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), dressNameIndexOf, dressNameIndexOf + dressNameSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + builder.setSpan(new ForegroundColorSpan(Color.parseColor("#FFF682")), progressIndexOf, progressIndexOf + progressSize, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + blindNumber.setText(builder); + StringBuffer stringBuffer = new StringBuffer(); + stringBuffer.append(model.getDressThresholdValue()) + .append("/") + .append(model.getThresholdValue()); + textBlindProgress.setText(stringBuffer.toString()); + float maskingAlpha = (float) progress / Float.parseFloat(model.getThresholdValue()); + iconMasking.setAlpha(maskingAlpha); + } + //盲盒礼物文字跑马灯 + for (int i = 0; i < model.getItemName().size(); i++) { + blindGiftNamesBuffer + .append(model.getItemName().get(i)); + + if (i != model.getItemName().size() - 1) { + blindGiftNamesBuffer.append(","); + } + } + textBlindGiftName.setText(String.format(mContext.getString(com.yunbao.live.R.string.random_availability), blindGiftNamesBuffer.toString())); + } + +} 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 801c7cbc7..ac74edfa6 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java @@ -1286,7 +1286,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis public void showH5Dialog() { Bundle bundle = new Bundle(); - bundle.putString("url", CommonAppConfig.HOST + "/h5/activity/pdlNewUes/index.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()); + bundle.putString("url", CommonAppConfig.HOST + "/h5/activity/pdlNewUes/index.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()+"&app_from=PDL"); LiveHDDialogFragment fragment = new LiveHDDialogFragment(); fragment.setArguments(bundle); fragment.show(((LiveActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment");