From 47077a465aba0056100d8d0b7162bfd487a6b66e Mon Sep 17 00:00:00 2001 From: zlzw <583819556@qq.com> Date: Tue, 23 Jan 2024 15:28:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DPK=E6=98=BE=E7=A4=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=9A=E3=80=90=E6=98=AF=E7=94=A8=E6=88=B7=E5=85=88?= =?UTF-8?q?=E8=BF=9B=20=E4=B8=BB=E6=92=AD=E5=90=8E=E6=8C=82=E6=96=AD?= =?UTF-8?q?=E4=BC=9A=E6=98=BE=E7=A4=BA=E5=AF=B9=E6=96=B9=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E8=A7=92=E6=A0=87=E3=80=91=20=E8=B0=83=E6=95=B4=E7=9B=B4?= =?UTF-8?q?=E6=92=AD=E9=97=B4=E6=B8=B8=E6=88=8F=E5=8D=8A=E5=B1=8FUI=20?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=88=98=E4=BB=A4UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bean/LiveBattlePassRewardsBean.java | 41 +++++ .../common/dialog/SudGameListPopup.java | 40 ++++- .../res/drawable/background_order_dialog.xml | 17 +- .../drawable/bg_live_sud_game_back_new2.xml | 7 + .../main/res/layout/dialog_live_sud_game.xml | 6 +- .../res/mipmap-xxhdpi/icon_min_game_new.png | Bin 0 -> 3786 bytes .../yunbao/live/activity/LiveActivity.java | 51 +++--- .../live/activity/LiveAudienceActivity.java | 7 +- .../yunbao/live/views/LiveRoomViewHolder.java | 10 +- .../live/views/PortraitLiveManager.java | 5 +- .../yunbao/main/activity/MainActivity.java | 2 +- .../main/adapter/BattlePassRewardAdapter.java | 52 +++++- .../main/res/layout/activity_battlepass.xml | 42 +++-- .../item_battlepass_reward_type_top.xml | 150 +++++++++++++++--- .../ic_zl_battlpas_exchange_top_subscript.png | Bin 0 -> 5888 bytes ...ic_zl_battlpas_exchange_top_subscript2.png | Bin 0 -> 5137 bytes 16 files changed, 361 insertions(+), 69 deletions(-) create mode 100644 common/src/main/res/drawable/bg_live_sud_game_back_new2.xml create mode 100644 common/src/main/res/mipmap-xxhdpi/icon_min_game_new.png create mode 100644 main/src/main/res/mipmap-xxhdpi/ic_zl_battlpas_exchange_top_subscript.png create mode 100644 main/src/main/res/mipmap-xxhdpi/ic_zl_battlpas_exchange_top_subscript2.png diff --git a/common/src/main/java/com/yunbao/common/bean/LiveBattlePassRewardsBean.java b/common/src/main/java/com/yunbao/common/bean/LiveBattlePassRewardsBean.java index 3deed7e93..90001245c 100644 --- a/common/src/main/java/com/yunbao/common/bean/LiveBattlePassRewardsBean.java +++ b/common/src/main/java/com/yunbao/common/bean/LiveBattlePassRewardsBean.java @@ -97,6 +97,15 @@ public class LiveBattlePassRewardsBean extends BaseModel{ private String rewardName; @SerializedName("image_url") private String imageUrl; + @SerializedName("send_reward_type") + private int sendRewardType; + @SerializedName("send_gift_type") + private int sendGiftType; + @SerializedName("send_reward_needcoin") + private String sendRewardNeedcoin; + @SerializedName("send_reward_restrict_time") + private String sendRewardRestrictTime; + private int lock; private int received; @@ -159,6 +168,38 @@ public class LiveBattlePassRewardsBean extends BaseModel{ this.received = received; } + public int getSendRewardType() { + return sendRewardType; + } + + public void setSendRewardType(int sendRewardType) { + this.sendRewardType = sendRewardType; + } + + public int getSendGiftType() { + return sendGiftType; + } + + public void setSendGiftType(int sendGiftType) { + this.sendGiftType = sendGiftType; + } + + public String getSendRewardNeedcoin() { + return sendRewardNeedcoin; + } + + public void setSendRewardNeedcoin(String sendRewardNeedcoin) { + this.sendRewardNeedcoin = sendRewardNeedcoin; + } + + public String getSendRewardRestrictTime() { + return sendRewardRestrictTime; + } + + public void setSendRewardRestrictTime(String sendRewardRestrictTime) { + this.sendRewardRestrictTime = sendRewardRestrictTime; + } + @Override public String toString() { return "LiveBattlePassReward{" + diff --git a/common/src/main/java/com/yunbao/common/dialog/SudGameListPopup.java b/common/src/main/java/com/yunbao/common/dialog/SudGameListPopup.java index c844d7008..93cfd6202 100644 --- a/common/src/main/java/com/yunbao/common/dialog/SudGameListPopup.java +++ b/common/src/main/java/com/yunbao/common/dialog/SudGameListPopup.java @@ -2,6 +2,7 @@ package com.yunbao.common.dialog; import android.animation.ObjectAnimator; import android.content.Context; +import android.graphics.Color; import android.text.TextUtils; import android.util.Log; import android.view.animation.LinearInterpolator; @@ -275,6 +276,29 @@ public class SudGameListPopup extends BottomPopupView { .asCustom(new LiveSudGameHistoryPopup(getContext(), customSidebarChildModels)).show(); } }); + if (interactionID == 0) { + gameTitle.setTextColor(getYellowColor()); + } else { + gameTitle.setTextColor(getDefColor()); + } + if (mSill.equals("0,0,0")) { + sillTitle.setTextColor(getYellowColor()); + } else { + sillTitle.setTextColor(getDefColor()); + } + if ("0".equals(roomHolderType)) { + houseOwnerTitle.setTextColor(getYellowColor()); + } else { + houseOwnerTitle.setTextColor(getDefColor()); + } + } + + private int getDefColor() { + return Color.WHITE; + } + + private int getYellowColor() { + return Color.YELLOW; } @Override @@ -293,6 +317,11 @@ public class SudGameListPopup extends BottomPopupView { @Subscribe(threadMode = ThreadMode.MAIN) public void onSudGameListEvent(SudGameListEvent event) { interactionID = event.getInteractionID(); + if (interactionID == 0) { + gameTitle.setTextColor(getYellowColor()); + } else { + gameTitle.setTextColor(getDefColor()); + } if (IMLoginManager.get(getContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) { gameTitle.setText(event.getTitle()); } else { @@ -325,7 +354,11 @@ public class SudGameListPopup extends BottomPopupView { } else { sillTitle.setText(mSillName.substring(0, mSillName.length() - 2)); } - + if (mSill.equals("0,0,0")) { + sillTitle.setTextColor(getYellowColor()); + } else { + sillTitle.setTextColor(getDefColor()); + } ObjectAnimator animator = ObjectAnimator.ofFloat(roomSillArrow, "rotation", 90f, 0f); animator.setDuration(500); @@ -344,6 +377,11 @@ public class SudGameListPopup extends BottomPopupView { animator.setInterpolator(new LinearInterpolator()); animator.start(); mRefreshView.initData(); + if ("0".equals(roomHolderType)) { + houseOwnerTitle.setTextColor(getYellowColor()); + } else { + houseOwnerTitle.setTextColor(getDefColor()); + } } diff --git a/common/src/main/res/drawable/background_order_dialog.xml b/common/src/main/res/drawable/background_order_dialog.xml index 51b11b8ab..922e3dae0 100644 --- a/common/src/main/res/drawable/background_order_dialog.xml +++ b/common/src/main/res/drawable/background_order_dialog.xml @@ -1,9 +1,17 @@ + - + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/drawable/bg_live_sud_game_back_new2.xml b/common/src/main/res/drawable/bg_live_sud_game_back_new2.xml new file mode 100644 index 000000000..43305fa65 --- /dev/null +++ b/common/src/main/res/drawable/bg_live_sud_game_back_new2.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/common/src/main/res/layout/dialog_live_sud_game.xml b/common/src/main/res/layout/dialog_live_sud_game.xml index 3dbc47e2e..338a4ed55 100644 --- a/common/src/main/res/layout/dialog_live_sud_game.xml +++ b/common/src/main/res/layout/dialog_live_sud_game.xml @@ -32,21 +32,21 @@ android:layout_width="30dp" android:layout_height="30dp" android:layout_marginEnd="14dp" - android:src="@mipmap/icon_sud_history_live" /> + android:src="@mipmap/icon_sud_history_live_new" /> Px@gh@m}RCr$HoeOXk)fs^Q|LlE*1caalSC=g47UXvQV@#Ipc94mMHa2|QyAqS5F{0C>gicE9=Fd+(hA zfcl?GqJk`3Z*tIqK;RBpmVb(f4>}x<&XOcGJK%;~2)G~!1pGMX{4GS>5DJC%S>R_l zOOt{2dcC9)-b6$n08mGk%IN~Io*C{${;jCl9k z20A}Ke>`Js4I*aRRk@ZdhjU&b%kq@M!os)hs7KPE^YZdCT`t#ZK@cWHqftBRlrm*F z91e&?BI_$FD<3T>DIpWla!LyHefQnhOOm8_7-M8vSgu4WXC!k_lB8XXv2np*@SxSY zS_Yk;pWmA?_7P+3s&wh_EJH#BS(d*=#6h7@h(?;GlO@ojMvWRE2*Ue_*v9k|(>Md? zypl0CJQxh_G}{c*paX%x09lp`8Dkw*ZG(kqhQbfGgXyL8-KF;~+Xf%3fadGicBkeQ#C3+83q|0wij5W7nxXGi9lRnxBcHxUR8s8wKt2`R+u-tpJd6 zW*ot&tgM6{J$gV@RTZ2)dscCMT21t|x?C>k+O;bjJa|wk%P4R}ESF_@uqcXq<2^qv z=+UD`w~-`i6C(b=YUP_U-=#~JVEXjwaPPhMD*o*kUwjev?c1j~_N}DM%uHCkcrjde z-F5KgmtVs3&p%JYZ^K1#&Wi;>_~GWwn=4~wiVNE7^?F?{mzatwgTUtG>C!sT$B!R}i4!M+$Kx>!njl|){q^v|3ok&I zE?w&Kkt&)oV+I^Ka>Oub&7U2KL~bZ9F0Q!DN{Lk~pU?M4#@J6%5i->`7U*Ngj=`i! zlT3kb)20n9U%tE^WGer;=bnSo(o)lENF6zD6h-mDgrI#s-))Hak5mpnB?~&1y3o|f zym|9r*REYas=#8pz!)36dGqGa_4ym>X!QAfzedD479Y|q*^&VrPhC(%=;fDRhV9$8 zo0jAljb0oIh34v`>-9kU{eE&3?Low@%|guLLy`dzX;oz6Qp zZQAr-t%>zOr~2STtF#r+@ze!L^4z&|;nPn)O-5bR6B$xFH8nL8!{PAyc%Y9k#=53z zCukLPW9ov;xDP(~z%EHvs;F8ZM?#^{4VQr)HEL9Ux7)p&-f*fXvl87*>Y^St8d+9X zSKn4tRJ2EduU+-~{WK3_T&hd68S^flx}ZTAsf*paciW~eE;Hv4Db~0l91f4K15KSE z0DJ)e*QB~M8wE{}J9X-$49)d}5rRxZ?GHcv&{lO3iyQf@D=RB|mXwr~D-!MXdPmnz zn|%iWGFl7hjEoFewrrU)g4CxubLJ%F6EVr>Qti~?AB&3vg)+R>5=rti&pZQr_wG%~%V(j{G~;Oz(qu$I5H{4#nEz2a=;y{%$Ak$J zpnLc3itj=%$<3)Q^e;knv;IYrq;WW6#E6a_kB7qNH(GdGEs`akL_hY}W3Xz~s+Lw4 z4VfIOs;U}55>1h9LjlGXp&H|%@j#P%^Tr#$lNb8`*=L_sbaFC5fn?h)%W_u&J<#QH z?MOwxbG!z|0^RUla@sFkxKMErSq%mx3z+iLC{dQ>LF7c5if|_aeg6D;pr2VuCdd~qT!4)mH!6b} zv-xAerZQw%euY4X5ivhqERJ|qhaI1}RtBk^DO0AvsZ*y6M_A%LU-f$wlIr-FF-8j~ z?W}8)mPK{#*s-HxVYF>)|MD0L{LY#+3%>g5D_cOzvRq0MeW-R(Pmgp0O>dE4Jo)64 zFmmL`q+v9a3Q-i{wbxz)8eJxvREa)J5`D6ENkpe~1Fg;L=-IO;v}@PSmL+vmW<^B> z95`^m7RdCH)HvcP0!=d`jfakteZ@BCZwdi1I&sEmQ)uOGlYmZ##v6rX$9)=TTUAGO zbv4lEOp{XV08V9`IdcYR-Ud1F(=FAh4m&$T8uZXqs($_Y+1f$TsFh-RsX zXK0IgN0QgOcW+pnar{##%k6gWM8swfWzoy++qW+)S+bRW!1C_|MUXlqi1y>IrJ`8Kuu1#yus>SiHEXxnJ$aI5v>f-e2 z)9}O-PXO7>6z^NJW=&dyR@KI@!r|}|4Rinz|I{24Xc|)&GiT0JR$5V_G%c|h z6AFd?rhujuSheDP0025$>ClYkA;^OV4_55qSn7gCeOmaam4H6M7`us9YSm40^!a?R z*G@Zl*bYZfEbwGL-hTV-N@Q9e`q!%qeT**ML90XWH$+kVIq|3i-IUXINs{~b@2@N= z(FmwSZPfgX2U|{6kF8W5$eWABjXh0e~JxJGglFktFBl=E8yn^(Uz| zrY>3w=!A=fNN4-~{`s_~F&WSVdFargKy#7x9b6)H(TYGX2!%rP;x2!qhSKg|f*{a- zL04IUP3q#VyY7Pd^XJ!t9M8Il_lz{|48N5m>F&b9LRvvlmtrou_jqf$+vhYT44vuDq)^C_EE7kbbXO{WF%};99EufG0&f6Ssot_hiQv@-PH8nMPqA32gv9c5H5~fP_Zv;V@W>jC>-I!D@Pu0sSL{XfcsE&p}tNZmA zGscD*wL%g-INh(S(UbQNA3mI4R#sM%s6B>2Qz0WpjL7kLJhXs3CsCnS$n|fks;c^L z*|OyuBkeT|T2&#mEy8Dvv36IgWUKb_1pw$*yMyD`Mj+EYra-H(Y0ssmgfZy*Q%Q;`ynhw0Fos&2@6bcm> zh1uABwt=RH4<*w#fPhz2RJ?(RegJ4^$LH6CWzaEuVa_>i3K-MPne4M|RUNS^+cv;c%D^@@;rv z;2Z!PqTMJNV_!&;^qI%wxfqQ`%i|qx(A>2D2cSg@4Z`p{w*UYD07*qoM6N<$f)Dg6 AcmMzZ literal 0 HcmV?d00001 diff --git a/live/src/main/java/com/yunbao/live/activity/LiveActivity.java b/live/src/main/java/com/yunbao/live/activity/LiveActivity.java index d5a616fd5..791dd1829 100644 --- a/live/src/main/java/com/yunbao/live/activity/LiveActivity.java +++ b/live/src/main/java/com/yunbao/live/activity/LiveActivity.java @@ -729,23 +729,38 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL Log.e("ry", "pkUid = " + pkUid + ", pkhead = " + pkhead + ", pkname = " + pkname + ", isLadders = " + isLadders); if (mLiveRyLinkMicPkPresenter != null && mLiveRoomViewHolder != null) { mLiveRyLinkMicPkPresenter.onLinkMicPkStart(pkUid, 1); - Handler handler = new Handler(); - handler.postDelayed(new Runnable() { - @Override - public void run() { - if (mLiveRoomViewHolder != null) { - Log.e("tasdsdg", mLiveUid + "1111" + CommonAppConfig.getInstance().getUid()); - if (!mLiveUid.equals(CommonAppConfig.getInstance().getUid())) { - mLiveRoomViewHolder.setOtherInfo(pkUid, pkhead, pkname); - mLiveRoomViewHolder.initPkRank(isLadders); - } - } - } - }, 4000);//3秒后执行Runnable中的run方法 + pr = new pkRunnable(pkUid, pkhead, pkname, isLadders); + mHandler.postDelayed(pr, 4000);//3秒后执行Runnable中的run方法 } } + public Handler mHandler = new Handler(); + public pkRunnable pr; + public class pkRunnable implements Runnable { + private String pkUid; + private String pkhead; + private String pkname; + private String isLadders; + + public pkRunnable(String pkUid, String pkhead, String pkname, String isLadders) { + this.pkUid = pkUid; + this.pkhead = pkhead; + this.pkname = pkname; + this.isLadders = isLadders; + } + + @Override + public void run() { + if (mLiveRoomViewHolder != null) { + Log.e("tasdsdg", mLiveUid + "1111" + CommonAppConfig.getInstance().getUid()); + if (!mLiveUid.equals(CommonAppConfig.getInstance().getUid())) { + mLiveRoomViewHolder.setOtherInfo(pkUid, pkhead, pkname); + mLiveRoomViewHolder.initPkRank(isLadders); + } + } + } + } /** * 主播与主播PK 所有人收到断开连麦pk的回调 @@ -951,7 +966,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL } String[] data = new String[]{obj.getString("barragetoken")}; SocketRyChatUtil.sendDanmuMessage(mLiveUid, contents, obj.getIntValue("level_fans")); - } else if (code==1001) { + } else if (code == 1001) { DialogUitl.showSimpleDialog(mContext, msg, new DialogUitl.SimpleCallback2() { @Override public void onCancelClick() { @@ -1289,9 +1304,9 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL //粉絲團粉絲團 //不是粉絲 if (LiveAudienceActivity.is_fans != null && LiveAudienceActivity.is_fans.equals("2")) { - bundle.putString(Constants.URL, CommonAppConfig.HOST + "/h5/live/joinFansClub.html" + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&anchorUid=" + uid+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0)); + bundle.putString(Constants.URL, CommonAppConfig.HOST + "/h5/live/joinFansClub.html" + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&anchorUid=" + uid + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0)); } else { - bundle.putString(Constants.URL, CommonAppConfig.HOST + "/h5/live/fansClub.html" + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&anchorUid=" + uid+ "&isZh=" + (WordUtil.isNewZh() ? "1" : 0)); + bundle.putString(Constants.URL, CommonAppConfig.HOST + "/h5/live/fansClub.html" + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&anchorUid=" + uid + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0)); } bundle.putString("liveUid", mLiveUid); bundle.putString("anchorName", mAncherName); @@ -1331,7 +1346,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL @Override public void onError(String error) { Log.e("LiveUserMoreDialog", error); - ToastUtil.show(WordUtil.isNewZh()?"抱歉!出錯了!":"i \\'m sorry! An error occurred"); + ToastUtil.show(WordUtil.isNewZh() ? "抱歉!出錯了!" : "i \\'m sorry! An error occurred"); } }); } else { @@ -1470,7 +1485,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL */ public void openLuckGiftTip() { UserBean u = CommonAppConfig.getInstance().getUserBean(); - String url = CommonAppConfig.HOST + "/h5/Noble/index.html?nickname=" + u.getUserNiceName() + "&usernobId=" + u.getNoble_id() + "&token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&anchorUid=" + mLiveUid + "&anchorName=" + mAncherName+ "&isZh=" + (WordUtil.isNewZh() ? "1" : "0"); + String url = CommonAppConfig.HOST + "/h5/Noble/index.html?nickname=" + u.getUserNiceName() + "&usernobId=" + u.getNoble_id() + "&token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&anchorUid=" + mLiveUid + "&anchorName=" + mAncherName + "&isZh=" + (WordUtil.isNewZh() ? "1" : "0"); startActivity(new Intent(this, ZhuangBanActivity.class).putExtra("url", url).putExtra("title", "")); } diff --git a/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java b/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java index 934bcb316..e5b9736b6 100644 --- a/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java +++ b/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java @@ -392,7 +392,12 @@ public class LiveAudienceActivity extends LiveActivity { mStream = mLiveBean.getStream(); mAncherName = mLiveBean.getUserNiceName(); mAncherIcon = mLiveBean.getAvatar(); + if (pr != null) { + mHandler.removeCallbacks(pr); + pr = null; + } manager.onAdd(mLiveBean, mLiveType, mLiveTypeVal, mLiveSDK); + //加载完页面后再后台静默下载礼物svga downloadAllGift(); over(); @@ -824,7 +829,7 @@ public class LiveAudienceActivity extends LiveActivity { if (manager != null && !StringUtil.isEmpty(is_fans)) { if (is_fans.equals("-2")) { manager.setAttention(0); - if (mLiveRoomViewHolder!=null){ + if (mLiveRoomViewHolder != null) { mLiveRoomViewHolder.setFansGroup("0"); } 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 e12f547e0..437dfdf5e 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java @@ -1237,6 +1237,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis if (LivePushTxViewHolder.mTRTCCloud != null || LivePushRyViewHolder.rtcRoom != null) { fans_btn.setVisibility(View.GONE); } + mPkRankTopIcon.setVisibility(View.GONE); goto_room_view = (LinearLayout) findViewById(R.id.goto_room_view); goto_room_view.setVisibility(View.GONE); avatarOther = (ImageView) findViewById(R.id.avatarOther); @@ -1817,6 +1818,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis mAnchorLayout.setBackgroundResource(R.drawable.bg_live_ico); mGoodNumberIcon.setVisibility(View.GONE); mAnchorSay.setVisibility(View.INVISIBLE); + showAnchorSayAndCallAnchor(); } /** @@ -2488,7 +2490,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis } } - public void initRankPKInfo(String mLiveUid,String pkUid) { + public void initRankPKInfo(String mLiveUid, String pkUid) { LiveNetManager.get(mContext) .getRandomPk(mLiveUid, pkUid, new com.yunbao.common.http.base.HttpCallback() { @Override @@ -2843,12 +2845,14 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis Log.e("LiveRoomViewHolder", "closePkTwo: 隐藏PK信息" + goto_room_view.getVisibility()); mPkRankTopIcon.setVisibility(View.GONE); lt_pk_line.setVisibility(View.GONE); + pkHandler = false; pkUid = ""; goto_room_view.setVisibility(View.GONE); livePKUserListBean = new LivePKUserListBean(); mRedVal.setVisibility(View.GONE); mBlueVal.setVisibility(View.GONE); mPkRankTopIcon.setVisibility(View.GONE); + showAnchorSayAndCallAnchor(); } /** @@ -4916,7 +4920,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis hideAnchorSayAndCallAnchor(); break; case LIVE_PK_END: - showAnchorSayAndCallAnchor(); + //showAnchorSayAndCallAnchor(); break; case LIVE_FONT_SIZE: int fount = event.getNums(); @@ -5508,7 +5512,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis public void showAnchorSayAndCallAnchor() { isHinde = false; - if (mAnchorSay.getVisibility() == View.GONE && + if (mAnchorSay.getVisibility() != View.VISIBLE && sayModel != null && sayModel.getLivePreview() != null && sayModel.getLivePreview().getIsShow() == 1 ) { 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 6f8dc6ea3..25f08274a 100644 --- a/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java +++ b/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java @@ -817,6 +817,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe Log.e("直播间接口调用排查", "onRemove---------------"); LiveNetManager.get(mContext).cancelLive(); liveHandler.removeCallbacks(sendFIm); + pkInfo=null; linkMicPkStartHandler.removeCallbacks(linkMicPkStartRunnable); LiveHttpUtil.cancel(LiveHttpConsts.CHECK_LIVE); LiveHttpUtil.cancel(LiveHttpConsts.ENTER_ROOM); @@ -1552,7 +1553,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe linkMicPkStartRunnable = () -> { if (mLiveRoomViewHolder != null) { Log.e("tasdsdg", liveID + "1111" + CommonAppConfig.getInstance().getUid()); - if (!liveID.equals(CommonAppConfig.getInstance().getUid())) { + if (!liveID.equals(CommonAppConfig.getInstance().getUid()) && pkInfo != null && pkInfo.containsKey("pkuid") && pkInfo.containsKey("pkuimg") && pkInfo.containsKey("pkuname")) { mLiveRoomViewHolder.setOtherInfo(mPkUid, mPkhead, mPkname); mLiveRoomViewHolder.initPkRank(mIsLadders); } @@ -1620,7 +1621,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe public void onLinkMicPkEnd(String winUid) { if (mLiveRyLinkMicPkPresenter != null) { mLiveRyLinkMicPkPresenter.onLinkMicPkEnd(winUid); - mLiveRoomViewHolder.setDelOtherInfo(); + //mLiveRoomViewHolder.setDelOtherInfo(); } } diff --git a/main/src/main/java/com/yunbao/main/activity/MainActivity.java b/main/src/main/java/com/yunbao/main/activity/MainActivity.java index 670e7d49f..4655f2172 100644 --- a/main/src/main/java/com/yunbao/main/activity/MainActivity.java +++ b/main/src/main/java/com/yunbao/main/activity/MainActivity.java @@ -192,7 +192,7 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene private View floatRedPacket; - private View floatWarOrder; + private View floatWarOrder;//战令浮窗 private List startListNotifyList = new ArrayList<>(); diff --git a/main/src/main/java/com/yunbao/main/adapter/BattlePassRewardAdapter.java b/main/src/main/java/com/yunbao/main/adapter/BattlePassRewardAdapter.java index f862fb108..55d18c65c 100644 --- a/main/src/main/java/com/yunbao/main/adapter/BattlePassRewardAdapter.java +++ b/main/src/main/java/com/yunbao/main/adapter/BattlePassRewardAdapter.java @@ -12,6 +12,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageView; +import android.widget.LinearLayout; import android.widget.TextView; import androidx.annotation.NonNull; @@ -49,7 +50,7 @@ public class BattlePassRewardAdapter extends RecyclerView.Adapter> mList = new ArrayList<>(); private int userLevel; private BattlePassUserInfoBean userType; - private String quintessenceSpendMoney,enjoySpendMoney; + private String quintessenceSpendMoney, enjoySpendMoney; private OnItemClickListener onItemClickListener; public void setList(List> mList) { @@ -89,11 +90,11 @@ public class BattlePassRewardAdapter extends RecyclerView.Adapter data; @@ -137,6 +142,15 @@ public class BattlePassRewardAdapter extends RecyclerView.Adapter { + view.setVisibility(View.VISIBLE); + switch (reward.getSendGiftType()) { + case 0: + view.setImageResource(R.mipmap.diamond); + break; + case 1: + view.setImageResource(R.mipmap.gold_coin); + break; + default: + view.setVisibility(View.GONE); + } + }), tab1TopMoneyIcon, tab2TopMoneyIcon, tab3TopMoneyIcon); + getAllView(((reward, view) -> { + view.setText(String.valueOf(reward.getSendRewardNeedcoin())); + if (reward.getSendGiftType() == 999) { + view.setText(reward.getSendRewardRestrictTime() + (WordUtil.isNewZh() ? "天" : "Day")); + if (reward.getSendRewardRestrictTime().equals("0")) { + view.setText(WordUtil.isNewZh()?"永久":"Forever"); + } + } + }), tab1TopMoney, tab2TopMoney, tab3TopMoney); } private void getReward(LiveBattlePassRewardsBean.LiveBattlePassReward reward) { @@ -232,9 +267,9 @@ public class BattlePassRewardAdapter extends RecyclerView.Adapter - - + android:layout_height="match_parent"> + + + + + + + + + - \ No newline at end of file diff --git a/main/src/main/res/layout/item_battlepass_reward_type_top.xml b/main/src/main/res/layout/item_battlepass_reward_type_top.xml index 851781b05..b653ef356 100644 --- a/main/src/main/res/layout/item_battlepass_reward_type_top.xml +++ b/main/src/main/res/layout/item_battlepass_reward_type_top.xml @@ -44,9 +44,9 @@ android:layout_height="7dp" android:layout_marginBottom="70dp" android:background="@drawable/bg_text_battlepass_reward_point" + app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@+id/reward_lv" - app:layout_constraintStart_toStartOf="@+id/reward_lv" - app:layout_constraintBottom_toBottomOf="parent" /> + app:layout_constraintStart_toStartOf="@+id/reward_lv" /> + + + + + + + + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="@+id/tab_1_bg"/> + + @@ -152,23 +188,55 @@ android:id="@+id/tab_2" android:layout_width="0dp" android:layout_height="0dp" + android:layout_margin="12dp" + android:layout_marginBottom="14dp" android:src="@mipmap/ic_integral" app:layout_constraintBottom_toBottomOf="@id/tab_2_bg" - android:layout_marginBottom="14dp" - android:layout_margin="12dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/tab_2_bg" /> + + + + + + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="@+id/tab_2_bg" /> + + + + + app:layout_constraintTop_toTopOf="@id/tab_3_bg" /> + + + + + + + + + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="@+id/tab_3_bg" + /> + + + + Py0x=BPqRCr#MT}!NWSy8TaZrj~K+6Mzef{qL$dqSKkJvN#+Xc8GPFvJ-Nh%qF- zh{2ekVkC;9Mo2&t62haqAt2p=q!Dpo!rWh-J2b%-GS|8w`* zdp&B^fYuc|quOEy<+qV0zGVJ^GIq7qHy^md|^hmGkyvAw=?c#pOMX&33yMC1mzU$o3 zkIIqda+ssbv5d#s8#a!Kabtcv8KX_iYYrJ>`nd4h*}r-ZQIsIr>I;+B}%wE6IW z;vPI__tEdAosi?jmD*+H{o3C;)@+}9#yCvHplbH7f4IL`C%tshDflzIDtf=GYpj-b zJ4JrLnj7-sqbVPI=GpO`9D*v%RjouVu`P&o?+tp3IWuoQv@<1dR)_n|ZNYsl4|Tc7 zyk5g9_1_C5WDROx*Xxu^SQmt+?Orh9u?4td`*ZyPV#&;Rtf`LATSr8jLztqA?mecJa0x&#en4TjF7_Nv>Z@K9`G z;}!a}*_b`T!66<5)NXB76}D*OccoZ%OHHv?!X0_dC*t$*fq0*59`$dU-#z65S8ryN zkbwF+j3vTTKnx3ihjrbLbw!u1m{qh7=T+YM%-hFz#PN)whOn1AUK3gh7!zut zI$il;7!<2vi5Z5xeOs44Uhgmj4j0Cu)gQD_l`gIh3S%}fjH#GAUg7uvB^)R%48oyq zhl9$T5P})qSEZ<-j_@4G#O1;34&x>Nn+kA|*FC(Ew~l{Qr3r7rmH>PMU=~(gu#KT* zz#X=tyTT0%oD?Im346EbgTb*i&lcS+XknV128E8|Jri5(0OCozkOh{zg^zrycMM_QU?a!4pETlx1n*h5nJU4z@ zD1&zarXUa%{T~rp8+Wdz;yDkghtI(P;vsBkTf=U z#R9+-NTm=x<2f6fFKUjLNeaz}yBQilbV2&3wFP+^Jc#+40%AOPM)md*(Y()t{!V_# z)2_8>E+ZYDEt!o|`+?#`eOaT^Lyg}^kKT=J}R$%WHumVM_xPSz#cn(}D8 z{CA6|X+F@r19**MUF=Tb!WaucOV~_&HI8liy~!Kq7$`k1O6Pyn5ww1oI>>QD8=|p; zzi$))O(Ab>&lLDq*^!3oS#zVGr4yCpV-gbCHpY@sJ$$!iZ*fXF{=5gW zKg{e%XzoZ;^@N&jHm6$1RS=Uc$xYnX*=S?Lzwyb~M&NjNG;KsTQyBG(mJNY5J$trI zRu@2tJB_`4kXT-&Jr5%~99pCQwx062Wa}YjBtB#y37OAKZZl zOR(AAOJp_#voQ|D>%hMi>{h%LF>ANbz*?MdAHQez+JR(`Z3)(y$Mu`iP&RYPIe;-H zxtL+7QCTyHLnkhV6UlE;N9=Hh7yL;~SWF zgILqD$T63LQMCmuvhxNKSL_TjV)=+Dz+35*iCqmbOEn<74w0*kJocsEC$Jakr zvnRC>U6ezAZ9sj;TkprS37$9n50C8tM)!)6Helh6lqvunz_oE{v@Kwavt~e%dL|5t z$?>M7QB?r`_?~G!lGL^3;A_A3jMiS33oaS!@}1^K35JVd0e|;m4YaYmbv_n}A>V+U z0R4rb@2q|uTiA9T&Kq=CI>ixVEza!YH`Ztf_BHPeB%k!2+JKT@b z5+*^>BY8Xnk1VmC{_Vz4*S>D7LUdpIYuiTfPs}7eYWur;+A@X)9u6fAv7G?xyhMdW zW{d!&xzR$vbjOnJyi$+XZTv;?$Zel`Jl1Ia9)&$;p1g2Sywcq=?g1hV;1VIIVhOB- zN|M~==cr)a5=)GIFRX7V**MkSMy|H|#@GIGJ~$)m48%b~oG0({)>Rec?BaEWE6cP1 zvgp}PzQv;Y_TyP@x+9}>j3*UGCVU97=bm`3&(UIS1H-$1D}%8-4#J{ZEu|<2UD@Qx zhioXw$g)Q0cQ9gxv2C9bMCN)+n+dq$Vz^m(jO&rlMb&`s|CuJzDMCO%fChEudXtIC6g z$1}WEsQ|z{l_v3o+@8~o9%54PZZp=Fp zZr9gc{p;`M1Y+(Sm3Q*mjlZ{1Wcbpb&6nqpHw7v~w2%QWCTW9Hw zF`!Kdu*dGgjmyB!a<8*xbw7e^ch^t04f2n6>&<$7zFA?niIIym^F=&%QzTNy8lkWA z#-$#M;&$w7uU<;I4_Pwd6Axecy;&tz17oP+J~A z2d#nNgBA7hFnEhy^mGCpeC;+;qQA|&U9ReFqW1W}=GunI+WybE030&=N!RSL&D`9K zn>^xARL_l@n(ijRrROjgbMqQ5q6CGQ4=-mRAfL$zCngvVcF7m$wUnaa#yWO#ZyJ`2 zz}A7qX^xy{$WO;JzVhMup*iH2hR8$C=^H_}Tar?6+uEHUA%Qg{ri2Wv zW9L!0ZivDrW5WYy)U1S3=2e44c#f+Q%Ndz|h6kV<%1)JvspmX_Io0$%76ze zy_Gv{8R?3S=RY)m^6`s&Q>J{6OZ=J_$%WzLh+P@{Spqvy>%N4>~FH(6Oid2Kr+l%nG-$R$CZYY#kLRv~iLn~4DE zfGpM@tlL9jYT=HfZBo$UcoJlI^J@5e<*DaSNatq4Jm3$#&<1?c~BP#-dS0XfX`9&cxW4<5* zGu$?!v+SCOO!Hb)`PmRRWGv&MtV9g_6Q>%i^ulZh6@v&IgqOzOe`G%K=zH=fGUVsR zlq+Ip*XS%HB9PlKP^~FNOeYsywkJ3|ZLB?`3Al^!0xOV{r{=0N4wLL%s1mR+j3;5K zc^J1=bh!`3$cqe<6B)V^7!FkZ`-waVY9OKTMRm{&oVYd`0Tqzh)o5GC0)@aHRSj>4 z@W;9#U-;mB+Zgiumm!a7tLC0@`Y{s901`>^l(lK)0=W)B042C{tMv&7uIS++lwvgx z{IP^w^@iguC}|h!xX`Y2_7muf#}OwtGlWG*I~)Os!=UBl$%0Bw+QmZ&*{ok2WkJ-y zhQliHFnJULkOWg;02D^=r~ILW8}}C8LO*L2#*B^FHvWv2)Mv$H0CO+>@%*ueugaH1 zHfd3r7UhQ8uNA!%ijgt;C<{<*&zdZHZlH}KRDn2=qkT5hrG&7 zC1uh=$ae298s=w`y~GwpV@fGxIbQS&48r_v6Du3Z;pKi>+;4qFUV|}MYCUAcF%QlB z5*VBQxHs~1;hC zSL#SVFd1Y*rOG*0383sy6n8}MzLe-6pqZtCjH`on0CEP_i^yBC-mfj#6LrA0<{N;Y z^F?Sx+C^3sVA_2kX&fg91X6u0i=gw2j1mg;$$E$^GrWS9Rpc=s%0PF8e9MVMSR?oc z4^>J*i~hgxd-GWt@==-c--j(x^1+?7qHwaU_~Mbqu?zQG(R-=A2>^FU1uKD7Kq1Eh#(! z*E|{Gw8AwFy2>}4>e?XaB;vLZjl(#(nxZtCNj>~8`KuxFR&!UZa*SAGbr|q+%(Ta7 zv3UQ(tZS|A*?Hrte83E`M^hNyaN*3{n&;)x%)mJ%QCjS*EpCo0gj41op$h*PtG&S} z)JA8j?a`zLaQ=%Hf}c&YbS-=tV~i~^Ho{}>f?*Dn7z8p;c_Z@$V%NmSwtbFa^iaKb zxaGMI%%{gyJ}DP@3YM9BI<(kme!FWN_vP^o?!~P{EwD1n5KtTuHJ&D32g0GfSDsP* z&9=0W$B;!{s<-sUiU6~Ry4+Nf@Eb$loDhZQWhakeB6G!!04HzOn_1#D#pryK}_HAhpen$Hq3NfrdA+g7Vm~z^*e`=I$ViB9K?%5Z9F@ zwolNl*B|5TbVPfc+(kGE7S=PtcrsJ=ES@GY;r%_tEfFGE>Hjf{Dcf;}42d*@nDP}E zLbhN>`aWRl+SlT-%8(vOL=u@vW!91JD1?eD@=f_bOA2=;1kNq@!H9 zha0$pZugoHx0F0-2@~4v2xqAt;(erVj(6CFkW1GI*-l5`l)}(?+Mh>sXvis}5>nTz zR6HyZDaq%csQZq^uosn#ZSLQM2$MZ-D-3e7zpev$y-q()YnC@<p@=Cmt%PotzPX^if-P6PbR=F{Ea?pG? z5GK{=4H3Q}7eZ#dgYTi#`GO%Ex2NF#Qlidb@!J*Hi{PykZY2Kp&V6Xf`pq0CbBG>B zJE}m4E9!!?UA;5~H>GEZHg~Ziyx#U0Oq8bts)#|Y5N0-qH-_-Q3a-4>g~gAb{f+s{ z<09{st2~u9j%u^!9ytzY+uY->!}Ytr;b3J%ZVXl2W-mebxqh&_zGFhx6s1w5nC5|! zMBKEg_g;Weyp0SEId9127=DVTgZU;e1?QP>dAQHobO*Jk5$|s4z6_Q&*G1&#r^qWzF5dQhVU9zxkzhDL)C2MDwXSfn@v?yxI?~Iow^j7M7u2Gc zWzix3c#Eucoi)FJPBgx?*}LeSV3yNWb>I&MIE%qaNF3GG2<+rPox12S&6IcZmWlrU zU)S8IPipU34mpFA&HkA2g&c~3#~}kS;wUZAF|(JykKTx~#;^ab{Or8QABo5tCVPv-nOncr z;d%~#%KzlqvAW`Te~=Znk#(KV?_MkIH=T|5PE51w!<6TLl+%b{p%O&OalGkMt0ycjGImszc^gEeLj9Go1~UW!>NyaWvj1MJ1KYTe{9QWeX33 z5Q}vvh58(Q(YFs{ea^-ZeHLZi$voy&xvXfur}hCsY%6ymg~W8{DffL8^7&tzKl193 zUzkIFW{UjunDP_$-WDxV_heZY*>;NhOOnH?t8XQ|QGj68`h^-;s{S4rdp9r>7xcnm zmpfq+2-4LmUQ$@on|!ADkLVZKoFNM58lqoPx|%Sl8*RCr#cTuaQZNl~u;&dCf>hueaXpew`5*$_4aaBU!QF$P(IcLt>rY=wQQ}y=upQC)6|Nq~w z-|p(F>bg8t{g3ZFGw)nPWQxowGRBZOrVQD9#_&P-93rCcKFnthnRCjpwdnVo<^WBg zZ-@+jrt9ka`T-p}w~aew*zeQ#r0?nTPP=aDzCPD|jWrME#dz>VpX=}T{E!QN*S%pK zsf{#N;Mr zV}Vi_%;drN+Gh4K##m#%Gb5Obq_f| zuM9ez{#!%jcBseKE>k}7nkUA0bGQolQ0-G~Xv{OxbisHIb_Cz;G%+7dn=#(Z0nEZW z`In2#;|OinpBL=LnJz<)W6CA878})hFD4M5*I5>fTio#z4&jnOov%TY@jMh18?b#e zrNDmlXYfds$$1s3yP4C^p?{XLhQMOHJx?VJg@R%w{dCH@^@J_54MXdkM?bkt`MuY^ zX*_Er{>$g*zte%>18X}`?F@kyJ)I&K$bDx4AYXhp)bx;v1Or0z7L|p9^#?Cbve>zj zHni9fOsKTDc{P>E9c)iKMzCc_Bj!rsYc2(;f0N=oBwt`cP36-q(po24h79AeADVl| zA;0;{Zyw(r-~PKW(Py^!uE|`H8C|xGPLvQBG4FX3G`~pKQ^M$};>+ zlm9YR?Xa@evMYvEqyvU`~>I$s8w`-Ae>CDyB5)l_FQIQ3-I(mk_w zZUUTY`^i9uQetZ{-%ph$uE&U#t^=rUSy&XkK>aljuGbifyr;1 zgXf3B*t081u<=2C7knT>YIu-%&vHpu!lajTCe2}bNT6d?{W4K)b3wVxoyC4lSwIiy zR^D8~qxF5z-SR?~xKgv-7BRAx#X3uV74Tp{25y&WjzecQ(Xyy>ypYe0=I8#_1#Fsf5z{6{ zQdHkGRf?R*ScUXV^HwMg<#36F6*P!A$_KM-NX4({kOpW0Aar0v=hWbIW9?4nj}bF` z*+CJV|Gw{iGH8N>$_Q2*vSNH529*Q4rbORx*pvPo1Kyu@b_REL0Ftfy%})hX8NTq$ zr8pyD9#pt$zAP#R+H>vQHdz1$rYk)Q>g&QcgQ+{{P?Z5_l%-y7mfVMPdbeRv=D(3( zng1daSkSD7>RH^UE=vys?R~eVJ#$m9C(GysTx;OX!|5vQ){NL9Z36SDSh^|WmI?Ti z^Uece4YF1%vM)RXe&zUTGQIQl6kxT0rPKjfzDp2$qX~`qyUjyA#gMJk)TII$}|!-)4L!^Y_9GlQaPS8aP?LCpgGtL zoB$PGudSWB1|A^+TR6E}hZbaTZmjz;Zv^}zLL_^oA&cW1AE#;(f$*%c+lU4l?vwgo zbgI`{USsOuI^H=2xKyx6dm1ob!M^!a@+7X-x?Z@tEf!r8?Q4JuiVPvl^p?e9v^{SP zUb6-}Ppi`Y?$)N9z~<~a`lNHC-W+vd zR0*BG2zC~9xPl(WcTcu)vGf#hH2T9`xH^FNC=zd@@~${hnBEEznMf}|-jr5en+O09 zfg{S6@a@Sr#?W~g4m8Kt|7za323%Nx03tZI+2tB|2E^)ECfg!zO7KyZ@?oAM5V+ zY`&6|-ULjaP6Q%fV-mGQydHHzdb7i z`Q|P=J$?RS65(E|kz<4Bd#&d3Dj%q}aXP>DQWHSiRPktM&y+?uUE=uKM?4SK&p{mo zrA>rlX#+iCyp{V9^u!qcK6elW13lCME0(sPEFtoi$!(aTI%n+Zh04?k%Cv$Bg9T6& zJsrg`@V=n<3Pw=tPD&Cyx}i-;g{+{7@~21kNvH2)6@fya$~SGzK%fM9=p$nv3!eQ+ z%%`X^E`5$KAgNZ;}x_YrS0g{D;y|mcS;-~LvQXpf!MrzL$KtS~_AUP;b zB1eJpn84}xv{0mQMQ^SEAl$;k^Rb}tysvl7mEHvA>}c*_&Tenlo-qwNw<(AT_%G*k zbI2e&Dg}ud__j(L z_F~My9yFHu>IdeNbI7j`k-LSUkm#vRgw6riNsU0-Q@*Z()~*K4OT9YfZe~Gz_N14S zvUp*~WO<-=+&q{-hS$br4Hx+xOqX|mWaAtorr?2<;T&sTs8;9#r6JL4oGGU3th<;q z9?o@da%CLLY@6$NtarxfPF4+_;*SEl=n4MH2j*{#DesdZKfYF?0kfkpZxyGMbMJ*J zab87`LQo!Px!~4^1Bc=?<2)`qjtJE?JEgld%5J@CP_iJ{-THk#I0~m%`>i#K@-w&l z)cvQM$)O8<^7G#TVNkpbyT5ui>`rM5xM-Z~*watWUwq^u-;yamLYdCOyp8k3N#pf$ zKec0HtxKjA{?{UJEtdN_en`jx=aGy;doX9~r%D4s5Jv4V#sJg!Yk)=^0++nRmtc|Y6)%4I&*n?ywmcqBo}~Eiwbp z+*I65Q=YVDd6JyvOPAjSumD=<7`2mY-{g|KM&F0~*@J)~?vq-EosaCb{iETK4kS!t z$OCZ=_Jn}e*r$ZpKEC+g`DXl(Vic1)!+jWHo!7C>q zLkxRgd8&aXvMNyA_*%daT9~7JmctIBHy7fT(q=G1p8bpYvb*=>%Odik(yqgt$M2+h zrP+Uwa=z+vi*5< z?DiolQCQger8cdn{JdFua}FSw_Lc3df&Tbc1Rwx#M#67IBG}_r+68LV*3)Q3wTYwe z%6{JjkGWs?6jb0yQzB4vXVR-njbEBwSk%A33hx`IU=?eYEHA#dc4y^VtW)&rnLnLR z$dHf9lpmy{gEjBL6Qf(0y994+y9BtPnE!h463Gh(*sSL^iWHbdZvx}iUubc)|C;0!4X#-LRv z$nw3?I856uygh&F-ShEr$fx8Yj{(?7jF$wHk>U+)BiS;_b|R`pLyb^pl8*DIZf4?& zCliV^4x6C*aqSTcTA7AyC{P8Yn~mH=&OV-vm%*$Thb|GQ_Q*V41@?=d=J^A4V?*IR zZ1oy0Z7kx2?A$CFL$w-d{@EI4n$$P-%%99Bjzc~=F7o~CrGnA%bP3lf9Du_8BKXXv zI>lGOSA`gjPR?)R21hASG?XmqjZS(J&bqDAer#YbG6uZ#TK8;y-r}AJ}zZdQT zh3Q0yLGB?l0ZgB17VS5AgZtCX)fB5!G%h_{f#*AShNuZb_8?0FW>?t{^?&z{%&|Io~>l z{Go{a5D{rahR(WkpO#G-p?$Ivffip_?t${j|Iw{Mx=Cn4+nHOQ4>t~smPk+ZcBGfF zS|N*XC-UjU?L}8;zrnCKui1l>bkZ8ZHwu`;jj#G|u8Q7o6kmF(kBR9ajgDr;j;3+@0C4PaP>qV@CP%6_|H0yh@}b0cp}&ed zpD=xg_X@+r|3~b4(fW$W6z%%C@5}4vMgCkwUMd&4S1`MqMD55*)i9Wvhq)c#63#0q zInnOj^RpZt{=5_@3fb!p^XYbhjq6Ah(Z!$!=Hw0EXvn-?yrnAwI7jtrXCCfvFF?oX z$$1|71Tzy%(ElyJe;o3wL*#{1G)qw%|OPbiIF`J+)r4nT=*IdvF1VtJM#Ab zGxh$~)4wxcd~e7b=aAP+%n~uxRXz10VE6l^_EMlE1gS z9IL0_!?pi?#fc&Pqci6b`A}p95%MfVYej4M&I!pw{!ahlPqT`0IWDA>0VXq>Y-*r? z8925`K5`gB+d|qbbYjJd)cs#f{Pdp>y=^}F^4s#Wcb}J+Kl+Hg>Nw<8$COuIhCFtN z{5(Nv5K#$(feCM+QBrU6c^Sd)s4q(L-~i9NExnVi=A8ZAs64?@q&s$M*1PfEDdMIv z_HL}1|CB8@6E%6)DGJ(7