XaQu1T>2$qk#k2IPc2183~
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
JPDHLkV1mi
From 6316f9489eff339cf1c0eba36be3122b1e29b926 Mon Sep 17 00:00:00 2001
From: 18401019693
Date: Mon, 29 Aug 2022 13:24:51 +0800
Subject: [PATCH 09/17] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=20=E5=BF=83?=
=?UTF-8?q?=E6=84=BF=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../live/activity/LiveAudienceActivity.java | 3 +++
.../com/yunbao/live/bean/WishlistItemModel.java | 4 ++++
.../yunbao/live/views/LiveRoomViewHolder.java | 17 +++++++++--------
.../yunbao/live/views/PortraitLiveManager.java | 2 +-
4 files changed, 17 insertions(+), 9 deletions(-)
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..d73238318 100644
--- a/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java
+++ b/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java
@@ -417,6 +417,8 @@ public class LiveAudienceActivity extends LiveActivity {
} else if (Micing == 2) {
manager.micIngTypeTwo(mLiveBean, mLiveType, mLiveTypeVal);
} else {
+ manager.exitLiveRoom();
+ manager.onRemove();
super.onBackPressed();
}
@@ -437,6 +439,7 @@ public class LiveAudienceActivity extends LiveActivity {
@Override
protected void onDestroy() {
super.onDestroy();
+
Bus.getOff(this);
L.e("LiveAudienceActivity-------onDestroy------->");
}
diff --git a/live/src/main/java/com/yunbao/live/bean/WishlistItemModel.java b/live/src/main/java/com/yunbao/live/bean/WishlistItemModel.java
index 2ff070c13..676fd1e4e 100644
--- a/live/src/main/java/com/yunbao/live/bean/WishlistItemModel.java
+++ b/live/src/main/java/com/yunbao/live/bean/WishlistItemModel.java
@@ -115,4 +115,8 @@ public class WishlistItemModel extends BaseModel {
this.wishlistProgress = wishlistProgress;
return this;
}
+
+ public String getWishlistNumP() {
+ return wishlistProgress + "/" + wishlistNum;
+ }
}
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 95d865260..c22a101fa 100644
--- a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java
+++ b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java
@@ -855,8 +855,8 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
ViewClicksAntiShake.clicksAntiShake(wishListLayout, () -> startActivity(new Intent(mContext, ZhuangBanActivity.class).putExtra("url", "")));
//打招呼消息
fastMsgRecyclerView = (RecyclerView) findViewById(R.id.room_fast_msg);
- fastMsgRecyclerView.setLayoutManager(new LinearLayoutManager(mContext,LinearLayoutManager.HORIZONTAL,false));
- fastMessageRecyclerViewAdapter=new LiveRoomFastMessageRecyclerViewAdapter(mContext);
+ fastMsgRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
+ fastMessageRecyclerViewAdapter = new LiveRoomFastMessageRecyclerViewAdapter(mContext);
fastMsgRecyclerView.setAdapter(fastMessageRecyclerViewAdapter);
fastMessageRecyclerViewAdapter.setMessageListener(msg -> {
//点击的消息发送出去
@@ -1053,7 +1053,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
ImageView wishPic = wish.findViewById(R.id.wish_pic);
TextView wishIndex = wish.findViewById(R.id.wish_index);
ImgLoader.display(mContext, wishlist.get(i).getWishlistIcon(), wishPic);
- wishIndex.setText((i + 1) + "/" + wishlist.size());
+ wishIndex.setText(wishlist.get(i).getWishlistNumP());
wishListFlipper.addView(wish);
}
wishListFlipper.startFlipping();
@@ -1415,7 +1415,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
private void setGuardIcon(LiveUserGiftBean guard) {
if (guard != null) {
- nowGuardUser=guard;
+ nowGuardUser = guard;
ImgLoader.displayAvatar(mContext, guard.getAvatar(), userGuard);
gift_svga.setVisibility(View.VISIBLE);
}
@@ -1494,7 +1494,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
} else if (i == R.id.ft_hot_add) {
((LiveActivity) mContext).openHotListWindow(1);
} else if (i == R.id.user_guard) {
- // ((LiveActivity) mContext).openUserMoreListWindow(2, true);
+ // ((LiveActivity) mContext).openUserMoreListWindow(2, true);
((LiveActivity) mContext).openGuardListWindow();
}
@@ -1775,7 +1775,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
}
room_hot.setText(formatBigNum.formatBigNum(bean.getLiveChatBean().getHot_num()));
LiveUserGiftBean chatBean = bean.getUserBean();
- if(chatBean!=null&&nowGuardUser!=null) {
+ if (chatBean != null && nowGuardUser != null) {
LiveUserGiftBean tmp = null;
if (chatBean.getGuardType() != 0 && chatBean.getGuardType() > nowGuardUser.getGuardType()) {
tmp = chatBean;
@@ -1788,10 +1788,11 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
/**
* 用户离开房间
+ *
* @param bean 用户
*/
- public void onExitRoom(UserBean bean){
- // getGuardInfo();
+ public void onExitRoom(UserBean bean) {
+ // getGuardInfo();
}
/**
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 7ceb67d56..430a1f6c9 100644
--- a/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java
+++ b/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java
@@ -1259,7 +1259,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
mEnd = true;
//断开socket
- if (mSocketRyClient != null) {
+ if (mSocketRyClient != null) {
mSocketRyClient.disConnect();
}
mSocketRyClient = null;
From 4c074264fb1349be7059cdf482b067b1672d3aa5 Mon Sep 17 00:00:00 2001
From: 18401019693
Date: Mon, 29 Aug 2022 13:44:03 +0800
Subject: [PATCH 10/17] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=20=E5=BF=83?=
=?UTF-8?q?=E6=84=BF=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/yunbao/live/activity/LiveAudienceActivity.java | 2 +-
.../src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java | 2 --
2 files changed, 1 insertion(+), 3 deletions(-)
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 d73238318..be020fe84 100644
--- a/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java
+++ b/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java
@@ -704,7 +704,7 @@ public class LiveAudienceActivity extends LiveActivity {
bundle.putString(Constants.LIVE_UID, mLiveUid);
fragment4Audience.setArguments(bundle);
if (mContext instanceof LiveAudienceActivity) {
- fragment4Audience.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveWishListDialogFragmentAudience");
+ fragment4Audience.show(((LiveAudienceActivity) mContext).getSupportFragmentManager(), "LiveWishListDialogFragment4Audience");
}
break;
case OPEN_PARAMETERS:
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 c22a101fa..77311ccca 100644
--- a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java
+++ b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java
@@ -851,8 +851,6 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
}
});
loadWishlistData();
- //打开活动窗口
- ViewClicksAntiShake.clicksAntiShake(wishListLayout, () -> startActivity(new Intent(mContext, ZhuangBanActivity.class).putExtra("url", "")));
//打招呼消息
fastMsgRecyclerView = (RecyclerView) findViewById(R.id.room_fast_msg);
fastMsgRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
From e2cd64ec0f9248d94e32628f69685fb695dcaeec Mon Sep 17 00:00:00 2001
From: 18401019693
Date: Mon, 29 Aug 2022 13:51:13 +0800
Subject: [PATCH 11/17] =?UTF-8?q?=E8=83=8C=E6=99=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
common/src/main/res/drawable/bg_live_tota.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/common/src/main/res/drawable/bg_live_tota.xml b/common/src/main/res/drawable/bg_live_tota.xml
index 97920b7a7..c56735473 100644
--- a/common/src/main/res/drawable/bg_live_tota.xml
+++ b/common/src/main/res/drawable/bg_live_tota.xml
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file
From 639b3c09bfa3375fefdfca36da87557069b95db1 Mon Sep 17 00:00:00 2001
From: zlzw <583819556@qq.com>
Date: Mon, 29 Aug 2022 13:57:54 +0800
Subject: [PATCH 12/17] =?UTF-8?q?add:=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
---
.../yunbao/live/activity/LiveActivity.java | 13 ++
.../com/yunbao/live/adapter/GuardAdapter.java | 16 +-
.../dialog/LiveNewGuardBuyDialogFragment.java | 1 +
.../LiveNewGuardListDialogFragment.java | 206 ++++++++++++++++++
.../dialog/LiveUserMoreDialogFragment.java | 2 +-
.../yunbao/live/views/LiveRoomViewHolder.java | 4 +-
.../main/res/drawable/guardian_img_two.png | Bin 0 -> 233692 bytes
.../res/drawable/guardian_img_wings_p.png | Bin 0 -> 226773 bytes
.../src/main/res/layout/dialog_guard_list.xml | 5 +-
.../main/res/layout/dialog_new_guard_list.xml | 200 +++++++++++++++++
live/src/main/res/layout/guard_list.xml | 8 +-
live/src/main/res/layout/view_live_room.xml | 2 -
12 files changed, 443 insertions(+), 14 deletions(-)
create mode 100644 live/src/main/java/com/yunbao/live/dialog/LiveNewGuardListDialogFragment.java
create mode 100644 live/src/main/res/drawable/guardian_img_two.png
create mode 100644 live/src/main/res/drawable/guardian_img_wings_p.png
create mode 100644 live/src/main/res/layout/dialog_new_guard_list.xml
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 4d5515766..71e5326b5 100644
--- a/live/src/main/java/com/yunbao/live/activity/LiveActivity.java
+++ b/live/src/main/java/com/yunbao/live/activity/LiveActivity.java
@@ -56,6 +56,7 @@ import com.yunbao.live.dialog.LiveGuardDialogFragment;
import com.yunbao.live.dialog.LiveInputDialogFragment;
import com.yunbao.live.dialog.LiveMoreDialogFragment;
import com.yunbao.live.dialog.LiveNewGuardBuyDialogFragment;
+import com.yunbao.live.dialog.LiveNewGuardListDialogFragment;
import com.yunbao.live.dialog.LiveRedPackListDialogFragment;
import com.yunbao.live.dialog.LiveRedPackSendDialogFragment;
import com.yunbao.live.dialog.LiveShareDialogFragment;
@@ -1251,6 +1252,18 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
fragment.setArguments(bundle);
fragment.show(getSupportFragmentManager(), "LiveGuardDialogFragment");
}
+ /**
+ * 守护列表弹窗
+ */
+ public void openNewGuardListWindow() {
+ LiveNewGuardListDialogFragment fragment = new LiveNewGuardListDialogFragment();
+ fragment.setLiveGuardInfo(mLiveGuardInfo);
+ Bundle bundle = new Bundle();
+ bundle.putString(Constants.LIVE_UID, mLiveUid);
+ bundle.putBoolean(Constants.ANCHOR, mIsAnchor);
+ fragment.setArguments(bundle);
+ fragment.show(getSupportFragmentManager(), "LiveGuardDialogFragment");
+ }
/**
* 打開粉絲團
diff --git a/live/src/main/java/com/yunbao/live/adapter/GuardAdapter.java b/live/src/main/java/com/yunbao/live/adapter/GuardAdapter.java
index c9c4a57f8..119bb244c 100644
--- a/live/src/main/java/com/yunbao/live/adapter/GuardAdapter.java
+++ b/live/src/main/java/com/yunbao/live/adapter/GuardAdapter.java
@@ -2,9 +2,11 @@ package com.yunbao.live.adapter;
import android.content.Context;
import android.graphics.drawable.Drawable;
+
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
+
import android.text.Html;
import android.view.View;
import android.view.ViewGroup;
@@ -35,9 +37,11 @@ public class GuardAdapter extends RefreshAdapter {
private Drawable mGuardDrawable0;
private Drawable mGuardDrawable1;
private Drawable mGuardDrawable2;
+ private boolean isShowTitle;
- public GuardAdapter(Context context, boolean dialog) {
+ public GuardAdapter(Context context, boolean dialog, boolean isShowTitle) {
super(context);
+ this.isShowTitle = isShowTitle;
mDialog = dialog;
mVotesName = CommonAppConfig.getInstance().getVotesName();
mWeekContributeString = WordUtil.getString(R.string.guard_week_con);
@@ -46,9 +50,15 @@ public class GuardAdapter extends RefreshAdapter {
mGuardDrawable2 = ContextCompat.getDrawable(context, R.mipmap.icon_guard_type_2);
}
+ public GuardAdapter(Context context, boolean dialog) {
+ this(context, dialog, true);
+ }
@Override
public int getItemViewType(int position) {
+ if(!isShowTitle){
+ return NORMAL;
+ }
if (position == 0) {
return HEAD;
}
@@ -105,7 +115,7 @@ public class GuardAdapter extends RefreshAdapter {
if (levelBean != null) {
ImgLoader.display(mContext, levelBean.getThumb(), mLevel);
}
- mVotes.setText(Html.fromHtml( " " + bean.getContribute() + " " + mVotesName));
+ mVotes.setText(Html.fromHtml(" " + bean.getContribute() + " " + mVotesName));
}
}
@@ -142,7 +152,7 @@ public class GuardAdapter extends RefreshAdapter {
mIcon.setImageDrawable(mGuardDrawable0);
} else if (bean.getType() == Constants.GUARD_TYPE_MONTH) {
mIcon.setImageDrawable(mGuardDrawable1);
- } else if (bean.getType() == Constants.GUARD_TYPE_YEAR){
+ } else if (bean.getType() == Constants.GUARD_TYPE_YEAR) {
mIcon.setImageDrawable(mGuardDrawable2);
}
}
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 0cbce77cf..856f4312f 100644
--- a/live/src/main/java/com/yunbao/live/dialog/LiveNewGuardBuyDialogFragment.java
+++ b/live/src/main/java/com/yunbao/live/dialog/LiveNewGuardBuyDialogFragment.java
@@ -8,6 +8,7 @@ import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
+import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.Nullable;
diff --git a/live/src/main/java/com/yunbao/live/dialog/LiveNewGuardListDialogFragment.java b/live/src/main/java/com/yunbao/live/dialog/LiveNewGuardListDialogFragment.java
new file mode 100644
index 000000000..5697ab537
--- /dev/null
+++ b/live/src/main/java/com/yunbao/live/dialog/LiveNewGuardListDialogFragment.java
@@ -0,0 +1,206 @@
+package com.yunbao.live.dialog;
+
+import android.graphics.Color;
+import android.os.Bundle;
+import android.text.Html;
+import android.view.Gravity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.constraintlayout.widget.ConstraintLayout;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.recyclerview.widget.LinearLayoutManager;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.opensource.svgaplayer.SVGAImageView;
+import com.yunbao.common.CommonAppConfig;
+import com.yunbao.common.Constants;
+import com.yunbao.common.adapter.RefreshAdapter;
+import com.yunbao.common.bean.IMLoginModel;
+import com.yunbao.common.bean.LevelBean;
+import com.yunbao.common.custom.CommonRefreshView;
+import com.yunbao.common.dialog.AbsDialogFragment;
+import com.yunbao.common.glide.ImgLoader;
+import com.yunbao.common.http.HttpCallback;
+import com.yunbao.common.manager.IMLoginManager;
+import com.yunbao.common.utils.CommonIconUtil;
+import com.yunbao.common.utils.DpUtil;
+import com.yunbao.common.utils.WordUtil;
+import com.yunbao.live.R;
+import com.yunbao.live.activity.LiveActivity;
+import com.yunbao.live.adapter.GuardAdapter;
+import com.yunbao.live.bean.GuardUserBean;
+import com.yunbao.live.bean.LiveGuardInfo;
+import com.yunbao.live.http.LiveHttpUtil;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class LiveNewGuardListDialogFragment extends AbsDialogFragment implements View.OnClickListener {
+ private ImageView guardIcon, userSex, userLevel;
+ private ConstraintLayout mRootLayout;
+ private CommonRefreshView mRefreshView;
+ private TextView mBtnBuy, userName, userGuard,tip1, tip2;
+ private SVGAImageView giftSvga;
+ private LinearLayout userLayout;
+
+ private GuardAdapter mGuardAdapter;
+ private LiveGuardInfo mLiveGuardInfo;
+ private String mLiveUid;
+ private boolean mIsAnchor;//是否是主播
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.dialog_new_guard_list;
+ }
+
+ @Override
+ protected int getDialogStyle() {
+ return R.style.dialog2;
+ }
+
+ @Override
+ protected boolean canCancel() {
+ return true;
+ }
+
+ public void setLiveGuardInfo(LiveGuardInfo info) {
+ mLiveGuardInfo = info;
+ }
+
+ @Override
+ protected void setWindowAttributes(Window window) {
+ window.setWindowAnimations(R.style.bottomToTopAnim);
+ 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(@Nullable Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+ Bundle bundle = getArguments();
+ if (bundle == null) {
+ return;
+ }
+ mIsAnchor = bundle.getBoolean(Constants.ANCHOR, false);
+ mLiveUid = bundle.getString(Constants.LIVE_UID);
+ guardIcon = mRootView.findViewById(R.id.guard_imageView);
+ mRootLayout = mRootView.findViewById(R.id.guard_constraintLayout);
+ mBtnBuy = mRootView.findViewById(R.id.guard_btn_buy);
+ giftSvga = mRootView.findViewById(R.id.gift_svga);
+ mRefreshView = mRootView.findViewById(R.id.refreshView);
+ userName = mRootView.findViewById(R.id.list_guard_list_user_name);
+ userGuard = mRootView.findViewById(R.id.list_guard_list_user_guard);
+ userLevel = mRootView.findViewById(R.id.list_guard_list_user_level);
+ userSex = mRootView.findViewById(R.id.list_guard_list_user_sex);
+ userLayout = mRootView.findViewById(R.id.guard_linearLayout);
+ tip1 = mRootView.findViewById(R.id.guard_tip1);
+ tip2 = mRootView.findViewById(R.id.guard_tip2);
+ mBtnBuy.setOnClickListener(this);
+ mBtnBuy.setEnabled(true);
+ mBtnBuy.setText(R.string.guard_buy_2);
+ initView();
+ }
+
+ private void initView() {
+ mRefreshView.setEmptyLayoutId(mIsAnchor ? R.layout.view_no_data_guard_anc : R.layout.view_no_data_guard_aud);
+ mRefreshView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false));
+ mRefreshView.setDataHelper(new CommonRefreshView.DataHelper() {
+ @Override
+ public RefreshAdapter getAdapter() {
+ if (mGuardAdapter == null) {
+ mGuardAdapter = new GuardAdapter(mContext, true, false);
+ }
+ return mGuardAdapter;
+ }
+
+ @Override
+ public void loadData(int p, HttpCallback callback) {
+ LiveHttpUtil.getGuardList(mLiveUid, p, callback);
+ }
+
+ @Override
+ public List processData(String[] info) {
+ List list = JSON.parseArray(Arrays.toString(info), GuardUserBean.class);
+ if (list.isEmpty()) {
+ userLayout.setVisibility(View.INVISIBLE);
+ }else {
+ GuardUserBean bean = list.get(0);
+ giftSvga.setImageResource(R.drawable.guardian_img_wings_p);
+ ImgLoader.display(mContext, bean.getAvatar(), guardIcon);
+ guardIcon.setVisibility(View.VISIBLE);
+ userName.setText(bean.getUserNiceName());
+ String guardString = WordUtil.getString(R.string.guard_week_con);
+ userGuard.setText(guardString + " " + bean.getContribute());
+ userSex.setImageResource(CommonIconUtil.getSexIcon(bean.getSex()));
+ LevelBean levelBean = CommonAppConfig.getInstance().getLevel(bean.getLevel());
+ if (levelBean != null) {
+ ImgLoader.display(mContext, levelBean.getThumb(), userLevel);
+ }
+ }
+ if (mLiveGuardInfo != null) {
+ int guardType = mLiveGuardInfo.getMyGuardType();
+ if (guardType == Constants.GUARD_TYPE_NONE) {
+ tip1.setText(R.string.guard_tip_0);
+ } else if (guardType == Constants.GUARD_TYPE_DAY) {
+ tip1.setText(WordUtil.getString(R.string.guard_tip_day) + mLiveGuardInfo.getMyGuardEndTime());
+ mBtnBuy.setText(R.string.guard_buy_3);
+ } else if (guardType == Constants.GUARD_TYPE_MONTH) {
+ tip1.setText(WordUtil.getString(R.string.guard_tip_1) + mLiveGuardInfo.getMyGuardEndTime());
+ mBtnBuy.setText(R.string.guard_buy_3);
+ } else if (guardType == Constants.GUARD_TYPE_YEAR) {
+ tip1.setText(WordUtil.getString(R.string.guard_tip_2) + mLiveGuardInfo.getMyGuardEndTime());
+ mBtnBuy.setText(R.string.guard_buy_3);
+ }
+ }
+ return list;
+ }
+
+ @Override
+ public void onRefreshSuccess(List list, int listCount) {
+
+ }
+
+ @Override
+ public void onRefreshFailure() {
+
+ }
+
+ @Override
+ public void onLoadMoreSuccess(List loadItemList, int loadItemCount) {
+
+ }
+
+ @Override
+ public void onLoadMoreFailure() {
+
+ }
+ });
+ System.out.println(">>>>>>>>>>>>>设置数据");
+ mRefreshView.initData();
+ }
+
+ @Override
+ public void onClick(View view) {
+ dismiss();
+ ((LiveActivity) mContext).openNewBuyGuardWindow();
+ }
+
+ @Override
+ public int show(@NonNull FragmentTransaction transaction, @Nullable String tag) {
+ int show = super.show(transaction, tag);
+ initView();
+ return show;
+ }
+}
diff --git a/live/src/main/java/com/yunbao/live/dialog/LiveUserMoreDialogFragment.java b/live/src/main/java/com/yunbao/live/dialog/LiveUserMoreDialogFragment.java
index 70a5a88c0..cd3755697 100644
--- a/live/src/main/java/com/yunbao/live/dialog/LiveUserMoreDialogFragment.java
+++ b/live/src/main/java/com/yunbao/live/dialog/LiveUserMoreDialogFragment.java
@@ -143,7 +143,7 @@ public class LiveUserMoreDialogFragment extends AbsDialogFragment implements Vie
((LiveActivity) mContext).openLuckGiftTip();
} else if (Tips.equals("2")) {
dismiss();
- ((LiveActivity) mContext).openGuardListWindow();
+ ((LiveActivity) mContext).openNewGuardListWindow();
} else if (Tips.equals("3")) {
dismiss();
((LiveActivity) mContext).openFansWindow();
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 3b0c951dc..ff6d434fb 100644
--- a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java
+++ b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java
@@ -1501,7 +1501,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
//直播间 粉丝排行榜
openMedalRankWindow();
} else if (i == R.id.btn_guard) {
- ((LiveActivity) mContext).openGuardListWindow();
+ ((LiveActivity) mContext).openNewGuardListWindow();
} else if (i == R.id.btn_red_pack) {
((LiveActivity) mContext).openRedPackListWindow();
@@ -1521,7 +1521,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
((LiveActivity) mContext).openHotListWindow(1);
} else if (i == R.id.user_guard) {
// ((LiveActivity) mContext).openUserMoreListWindow(2, true);
- ((LiveActivity) mContext).openGuardListWindow();
+ ((LiveActivity) mContext).openNewGuardListWindow();
}
}
diff --git a/live/src/main/res/drawable/guardian_img_two.png b/live/src/main/res/drawable/guardian_img_two.png
new file mode 100644
index 0000000000000000000000000000000000000000..e596bc84c1898e23ed2f2aee7e6bc0111c02b405
GIT binary patch
literal 233692
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