From 25e13dc1b7d24208cf64369f6e5b7b4380bac4c8 Mon Sep 17 00:00:00 2001 From: zlzw <583819556@qq.com> Date: Mon, 29 Aug 2022 16:41:00 +0800 Subject: [PATCH] =?UTF-8?q?update:=E5=AE=88=E6=8A=A4=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=94=B9=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/yunbao/common/Constants.java | 4 + .../yunbao/live/activity/LiveActivity.java | 7 + .../live/activity/LiveAudienceActivity.java | 2 + .../dialog/LiveNewGuardBuyDialogFragment.java | 87 ++++++++++-- .../LiveNewGuardListDialogFragment.java | 1 - .../yunbao/live/views/LiveRoomViewHolder.java | 2 + .../main/res/drawable/bg_new_guard_but.xml | 9 ++ live/src/main/res/drawable/icon_top_up.png | Bin 0 -> 430 bytes .../main/res/layout/dialog_new_guard_buy.xml | 126 ++++++++++++++++-- 9 files changed, 217 insertions(+), 21 deletions(-) create mode 100644 live/src/main/res/drawable/bg_new_guard_but.xml create mode 100644 live/src/main/res/drawable/icon_top_up.png diff --git a/common/src/main/java/com/yunbao/common/Constants.java b/common/src/main/java/com/yunbao/common/Constants.java index 1fc271e19..ab1f75031 100644 --- a/common/src/main/java/com/yunbao/common/Constants.java +++ b/common/src/main/java/com/yunbao/common/Constants.java @@ -24,6 +24,9 @@ public class Constants { public static final String STREAM = "stream"; public static final String LIMIT = "limit"; public static final String UID = "uid"; + public static final String USER_NAME = "userName";//用户名 + public static final String USER_ICON = "userIcon";//用户头像 + public static final String TIP = "tip"; public static final String SHOW_INVITE = "showInvite"; public static final String USER_BEAN = "userBean"; @@ -47,6 +50,7 @@ public class Constants { public static final String LIVE_CLASS_PREFIX = "liveClass_"; public static final String LIVE_ADMIN_ROOM = "liveAdminRoom"; public static final String LIVE_ANCHER_NAME = "ancherName";//主播名 + public static final String LIVE_ANCHER_ICON = "ancherIcon";//主播头像 public static final String HAS_GAME = "hasGame"; public static final String OPEN_FLASH = "openFlash"; public static final String SHARE_QR_CODE_FILE = "shareQrCodeFile.png"; 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 71e5326b5..a688465dd 100644 --- a/live/src/main/java/com/yunbao/live/activity/LiveActivity.java +++ b/live/src/main/java/com/yunbao/live/activity/LiveActivity.java @@ -119,6 +119,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL protected int mSocketUserType;//socket用户类型 30 普通用户 40 管理员 50 主播 60超管 public static String mStream; protected String mAncherName; + protected String mAncherIcon; public static String mLiveUid; protected String mDanmuPrice;//弹幕价格 protected String mCoinName;//钻石名称 @@ -134,6 +135,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL private LiveChatRoomDialogFragment mLiveChatRoomDialogFragment;//私信聊天窗口 protected LiveGuardInfo mLiveGuardInfo; private HashSet mDialogFragmentSet; + private LiveEnterRoomBean userBean;//用户信息 // public static boolean isRy = true; @Override @@ -261,6 +263,9 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL mLiveRoomViewHolder.onEnterRoom(bean); } } + public void setEnterRoomData(LiveEnterRoomBean bean){ + userBean=bean; + } /** @@ -1328,6 +1333,8 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL bundle.putString(Constants.LIVE_UID, mLiveUid); bundle.putString(Constants.LIVE_ANCHER_NAME, mAncherName); bundle.putString(Constants.STREAM, mStream); + bundle.putString(Constants.LIVE_ANCHER_ICON,mAncherIcon); + bundle.putString(Constants.USER_ICON,userBean.getUserBean().getAvatar()); fragment.setArguments(bundle); fragment.show(getSupportFragmentManager(), "LiveGuardBuyDialogFragment"); } 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 f1e61654e..514cb1db4 100644 --- a/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java +++ b/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java @@ -275,6 +275,7 @@ public class LiveAudienceActivity extends LiveActivity { mLiveUid = mLiveBean.getUid(); mStream = mLiveBean.getStream(); mAncherName = liveBean.getUserNiceName(); + mAncherIcon = liveBean.getAvatar(); Log.e("收到socket--->", "mLiveUid--------------------------->" + mLiveUid); //加载当前页面数据 @@ -552,6 +553,7 @@ public class LiveAudienceActivity extends LiveActivity { mLiveUid = liveBean.getUid(); mStream = liveBean.getStream(); mAncherName = liveBean.getUserNiceName(); + mAncherIcon = liveBean.getAvatar(); manager.onAdd(liveBean, mLiveType, mLiveTypeVal, mLiveSDK); } diff --git a/live/src/main/java/com/yunbao/live/dialog/LiveNewGuardBuyDialogFragment.java b/live/src/main/java/com/yunbao/live/dialog/LiveNewGuardBuyDialogFragment.java index 856f4312f..2c2dee4d2 100644 --- a/live/src/main/java/com/yunbao/live/dialog/LiveNewGuardBuyDialogFragment.java +++ b/live/src/main/java/com/yunbao/live/dialog/LiveNewGuardBuyDialogFragment.java @@ -8,7 +8,10 @@ import android.view.Gravity; import android.view.View; import android.view.Window; import android.view.WindowManager; +import android.widget.Button; import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; import android.widget.TextView; import androidx.annotation.Nullable; @@ -17,10 +20,13 @@ import androidx.recyclerview.widget.RecyclerView; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.makeramen.roundedimageview.RoundedImageView; +import com.opensource.svgaplayer.SVGAImageView; import com.yunbao.common.CommonAppConfig; import com.yunbao.common.Constants; import com.yunbao.common.bean.UserBean; import com.yunbao.common.dialog.AbsDialogFragment; +import com.yunbao.common.glide.ImgLoader; import com.yunbao.common.http.HttpCallback; import com.yunbao.common.utils.DialogUitl; import com.yunbao.common.utils.RouteUtil; @@ -49,17 +55,27 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements private RecyclerView mRights;//权益列表 private RecyclerView mBuys;//购买列表 + private RoundedImageView userIcon, userIconOne, userIconTwo; + private SVGAImageView iconCover; private TextView anchorName; + private TextView guardCoin2; + private TextView guardBuy; + private TextView guard_tips; + private Button submit; + private LinearLayout buy2; + private RelativeLayout buy1; private TextView mCoin; private String mCoinName; private TextView mCoinNameTextView; private View mBtnBuy; - private List mRightList=new ArrayList<>();//权限列表 + private List mRightList = new ArrayList<>();//权限列表 private List mBuyList;//商品列表 private long mCoinVal;//余额 private String mLiveUid; private String mStream; private String mAncherName; + private String mAncherIcon; + private String mUserIcon; private LiveGuardInfo mLiveGuardInfo; private GuardBuyBean mTargetBuyBean; @@ -106,11 +122,26 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements mRights = mRootView.findViewById(R.id.guard_rights); mBuys = mRootView.findViewById(R.id.guard_buys); anchorName = mRootView.findViewById(R.id.guard_anchor_name); + userIcon = mRootView.findViewById(R.id.guard_imageView); + userIconOne = mRootView.findViewById(R.id.guard_imageView_one); + userIconTwo = mRootView.findViewById(R.id.guard_imageView_two); + iconCover = mRootView.findViewById(R.id.gift_svga); + guardCoin2 = mRootView.findViewById(R.id.guard_coin2); + guardBuy = mRootView.findViewById(R.id.guard_buy); + submit = mRootView.findViewById(R.id.guard_submit); + buy1 = mRootView.findViewById(R.id.buy1); + buy2 = mRootView.findViewById(R.id.buy2); + guard_tips = mRootView.findViewById(R.id.guard_textView2); + + iconCover.setImageResource(R.drawable.guardian_img_wings); + mBtnBuy.setOnClickListener(this); + submit.setOnClickListener(this); + guardBuy.setOnClickListener(this); mRights.setHasFixedSize(true); mRights.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false)); mBuys.setHasFixedSize(true); - mBuys.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false){ + mBuys.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false) { @Override public boolean canScrollHorizontally() {//购买列表禁止滑动 return false; @@ -128,10 +159,13 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements if (bundle != null) { mLiveUid = bundle.getString(Constants.LIVE_UID); mStream = bundle.getString(Constants.STREAM); - mAncherName=bundle.getString(Constants.LIVE_ANCHER_NAME); + mAncherName = bundle.getString(Constants.LIVE_ANCHER_NAME); + mAncherIcon = bundle.getString(Constants.LIVE_ANCHER_ICON); + mUserIcon = bundle.getString(Constants.USER_ICON); String coinName = WordUtil.getString(R.string.diamond); mCoinName = coinName; - mCoinNameTextView.setText(WordUtil.getString(R.string.guard_my) + coinName + ":"); + // mCoinNameTextView.setText(WordUtil.getString(R.string.guard_my) + coinName + ":"); + mCoinNameTextView.setText("快为您喜欢的主播开通守护吧"); anchorName.setText(String.format("成爲%s的守護", mAncherName)); } LiveHttpUtil.getGuardBuyList(new HttpCallback() { @@ -147,6 +181,7 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements e.printStackTrace(); } mCoin.setText(String.valueOf(mCoinVal)); + guardCoin2.setText(WordUtil.getString(R.string.guard_my) + mCoinName + ":" + mCoinVal); buyItemsAdapter.setItems(mBuyList); mGuardRightAdapter.setList(mRightList); buyItemsAdapter.notifyDataSetChanged(); @@ -158,13 +193,46 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements } } }); + setIcon(); + } + + private void setIcon() { + int guardType = mLiveGuardInfo.getMyGuardType(); + if (guardType == Constants.GUARD_TYPE_NONE) { + iconCover.setBackgroundResource(R.drawable.guardian_img_wings); + buy1.setVisibility(View.VISIBLE); + buy2.setVisibility(View.GONE); + } else { + buy2.setVisibility(View.VISIBLE); + buy1.setVisibility(View.GONE); + userIconOne.setVisibility(View.VISIBLE); + userIconTwo.setVisibility(View.VISIBLE); + iconCover.setImageResource(R.drawable.guardian_img_two); + ImgLoader.display(mContext, mAncherIcon, userIconOne); + ImgLoader.display(mContext, mUserIcon, userIconTwo); + String title = ""; + switch (guardType) { + case Constants.GUARD_TYPE_DAY: + title = "您是當前主播的周守護"; + break; + case Constants.GUARD_TYPE_MONTH: + title = "您是當前主播的月守護"; + break; + case Constants.GUARD_TYPE_YEAR: + title = "您是當前主播的年守護"; + break; + } + anchorName.setText(title); + guard_tips.setText("守護日期截止到:"+ mLiveGuardInfo.getMyGuardEndTime()); + } + } private void refreshList(int index) { if (!mRightList.isEmpty()) { GuardBuyBean guardBuyBean = mBuyList.get(index - 1); - mTargetBuyBean=guardBuyBean; + mTargetBuyBean = guardBuyBean; for (GuardRightBean bean : mRightList) { bean.setChecked(false); } @@ -178,18 +246,15 @@ public class LiveNewGuardBuyDialogFragment extends AbsDialogFragment implements } - @Override public void onClick(View view) { int i = view.getId(); - if (i == R.id.guard_btn_buy) { + if (i == R.id.guard_btn_buy || i == R.id.guard_submit) { clickBuyGuard(); + } else if (i == R.id.guard_buy) { + forwardMyCoin(); } -// else if (i == R.id.coin) { -// forwardMyCoin(); -// -// } } /** diff --git a/live/src/main/java/com/yunbao/live/dialog/LiveNewGuardListDialogFragment.java b/live/src/main/java/com/yunbao/live/dialog/LiveNewGuardListDialogFragment.java index 5697ab537..147f32be2 100644 --- a/live/src/main/java/com/yunbao/live/dialog/LiveNewGuardListDialogFragment.java +++ b/live/src/main/java/com/yunbao/live/dialog/LiveNewGuardListDialogFragment.java @@ -187,7 +187,6 @@ public class LiveNewGuardListDialogFragment extends AbsDialogFragment implements } }); - System.out.println(">>>>>>>>>>>>>设置数据"); mRefreshView.initData(); } 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 ff6d434fb..c826be3c7 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java @@ -1796,6 +1796,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis if (bean == null) { return; } + if (mLiveEnterRoomAnimPresenter != null) { mLiveEnterRoomAnimPresenter.enterRoom(bean); } @@ -1810,6 +1811,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis } setGuardIcon(tmp); } + ((LiveActivity)mContext).setEnterRoomData(bean); } /** diff --git a/live/src/main/res/drawable/bg_new_guard_but.xml b/live/src/main/res/drawable/bg_new_guard_but.xml new file mode 100644 index 000000000..6b46ce82e --- /dev/null +++ b/live/src/main/res/drawable/bg_new_guard_but.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/live/src/main/res/drawable/icon_top_up.png b/live/src/main/res/drawable/icon_top_up.png new file mode 100644 index 0000000000000000000000000000000000000000..32d63b8b0affa456bfaab3ee70ede474081793a7 GIT binary patch literal 430 zcmV;f0a5;mP)Px$Xh}ptR5(wSlr2vKK@f(Yz24EgHmM=F2Eu;;YA}TG(HsN`27^P9V6X&%gJ7#L zDC$VAp@knn5hMgfY9JsGC<5u-^}0*$C=DO|x{`Wn zU-kZ9qjV9IpfWt&WaNPo~`lciU zD%v0^#VT5rNqfP7-`Z-NGh~qK+qg&?qZCmCN+Xu|V#zz!0L32B_7bR5Q^o*GAnuy^ Y1b(WwxHYPZ8UO$Q07*qoM6N<$f(OyB!vFvP literal 0 HcmV?d00001 diff --git a/live/src/main/res/layout/dialog_new_guard_buy.xml b/live/src/main/res/layout/dialog_new_guard_buy.xml index 702310ae3..9e881af6b 100644 --- a/live/src/main/res/layout/dialog_new_guard_buy.xml +++ b/live/src/main/res/layout/dialog_new_guard_buy.xml @@ -118,19 +118,21 @@ + app:layout_constraintStart_toStartOf="parent" + tools:visibility="gone"> + android:textSize="14sp" + android:visibility="gone" /> + + + + + + + + + + + + +