From f531fd4d0ef5d06cf35ff265e6ddd3ec42fffe45 Mon Sep 17 00:00:00 2001 From: 18401019693 Date: Mon, 19 Sep 2022 16:22:57 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9A=90=E8=BA=AB=E6=A6=9C=E5=8D=95=E7=9A=84?= =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/http/live/LiveNetManager.java | 11 +++- common/src/main/res/values/strings.xml | 1 + config.gradle | 4 +- .../yunbao/live/activity/LiveActivity.java | 60 +++++++++++++++---- .../live/adapter/UserMoreInfoAdapter.java | 2 + .../dialog/LiveUserMoreDialogFragment.java | 26 +++----- .../main/res/layout/item_user_more_info.xml | 2 + .../yunbao/main/adapter/MainListAdapter.java | 8 +++ 8 files changed, 81 insertions(+), 33 deletions(-) diff --git a/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java b/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java index 46fae1840..fdbeabb9a 100644 --- a/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java +++ b/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java @@ -1,7 +1,9 @@ package com.yunbao.common.http.live; import android.content.Context; +import android.text.TextUtils; +import com.yunbao.common.R; import com.yunbao.common.bean.ActiveModel; import com.yunbao.common.bean.BaseModel; import com.yunbao.common.bean.LiveInfoModel; @@ -199,8 +201,13 @@ public class LiveNetManager { .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(listResponseModel -> { - if (callback != null) - callback.onSuccess(listResponseModel.getData().getInfo()); + if (callback != null) { + if (TextUtils.equals(String.valueOf(listResponseModel.getData().getCode()), "0")) { + callback.onSuccess(listResponseModel.getData().getInfo()); + } else { + callback.onError(mContext.getString(R.string.try_again_later)); + } + } }, throwable -> { if (callback != null) callback.onError(throwable.getMessage()); diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index 54809f669..737d08c8d 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -906,5 +906,6 @@ 昭告天下! 昭告天下! %s 向所有人推薦了主播 %s , 一眼萬年情之所鐘! 昭告天下! %s 向所有人推薦了主播 %s , 灼灼風華一瞥驚鴻! + 數據加載失敗,請稍後再試 diff --git a/config.gradle b/config.gradle index 28880e074..fd3615516 100644 --- a/config.gradle +++ b/config.gradle @@ -10,9 +10,9 @@ ext { manifestPlaceholders = [ //正式 - serverHost : "https://napi.yaoulive.com", +// serverHost : "https://napi.yaoulive.com", //測試 -// serverHost : "https://ceshi.yaoulive.com", + serverHost : "https://ceshi.yaoulive.com", //腾讯地图 txMapAppKey : "EOZBZ-ASLCU-4XPV3-BDCHZ-4E3Q7-H4BWB", 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 ad6bd8159..39d4900a0 100644 --- a/live/src/main/java/com/yunbao/live/activity/LiveActivity.java +++ b/live/src/main/java/com/yunbao/live/activity/LiveActivity.java @@ -17,16 +17,19 @@ import androidx.fragment.app.DialogFragment; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.blankj.utilcode.util.GsonUtils; import com.yunbao.common.CommonAppConfig; import com.yunbao.common.Constants; import com.yunbao.common.activity.AbsActivity; import com.yunbao.common.activity.WebViewActivity; import com.yunbao.common.bean.ConfigBean; import com.yunbao.common.bean.LiveGiftBean; +import com.yunbao.common.bean.NobleRankHideUserListModel; import com.yunbao.common.bean.UserBean; import com.yunbao.common.event.CoinChangeEvent; import com.yunbao.common.event.FollowEvent; import com.yunbao.common.http.HttpCallback; +import com.yunbao.common.http.live.LiveNetManager; import com.yunbao.common.interfaces.KeyBoardHeightChangeListener; import com.yunbao.common.utils.KeyBoardHeightUtil2; import com.yunbao.common.utils.L; @@ -87,6 +90,7 @@ import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; +import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; @@ -137,7 +141,9 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL private LiveChatRoomDialogFragment mLiveChatRoomDialogFragment;//私信聊天窗口 protected LiveGuardInfo mLiveGuardInfo; private HashSet mDialogFragmentSet; -// public static boolean isRy = true; + // public static boolean isRy = true; + private List outRankHide = new ArrayList<>(); + private boolean outRankHideFirst = true; @Override protected void main() { @@ -1230,16 +1236,48 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL * 打开观看列表弹窗 */ public void openUserMoreListWindow(int i, boolean isOnly) { - LiveUserMoreDialogFragment fragment = new LiveUserMoreDialogFragment(); - fragment.setLiveGuardInfo(mLiveGuardInfo); - Bundle bundle = new Bundle(); - bundle.putString(Constants.LIVE_UID, mLiveUid); - bundle.putString(Constants.STREAM, mStream); - bundle.putString("By", i + ""); - bundle.putBoolean("only", isOnly); - fragment.setArguments(bundle); - fragment.show(getSupportFragmentManager(), "LiveUserMoreDialogFragment"); - LiveUserMoreDialogFragment.activity = this; + + if (outRankHideFirst) { + //获取隐身的用户的ID + LiveNetManager.get(mContext) + .getNobleRankHideUserList(new com.yunbao.common.http.base.HttpCallback() { + @Override + public void onSuccess(NobleRankHideUserListModel data) { + outRankHide = data.getOutRankHide(); + LiveUserMoreDialogFragment fragment = new LiveUserMoreDialogFragment(); + fragment.setLiveGuardInfo(mLiveGuardInfo); + Bundle bundle = new Bundle(); + bundle.putString(Constants.LIVE_UID, mLiveUid); + bundle.putString(Constants.STREAM, mStream); + bundle.putString("By", i + ""); + bundle.putBoolean("only", isOnly); + bundle.putString("outRankHide", GsonUtils.toJson(outRankHide)); + fragment.setArguments(bundle); + fragment.show(getSupportFragmentManager(), "LiveUserMoreDialogFragment"); + LiveUserMoreDialogFragment.activity = (LiveActivity) mContext; + outRankHideFirst = false; + } + + @Override + public void onError(String error) { + Log.e("LiveUserMoreDialog", error); + } + }); + } else { + LiveUserMoreDialogFragment fragment = new LiveUserMoreDialogFragment(); + fragment.setLiveGuardInfo(mLiveGuardInfo); + Bundle bundle = new Bundle(); + bundle.putString(Constants.LIVE_UID, mLiveUid); + bundle.putString(Constants.STREAM, mStream); + bundle.putString("By", i + ""); + bundle.putBoolean("only", isOnly); + bundle.putString("outRankHide", GsonUtils.toJson(outRankHide)); + fragment.setArguments(bundle); + fragment.show(getSupportFragmentManager(), "LiveUserMoreDialogFragment"); + LiveUserMoreDialogFragment.activity = this; + } + + } /** diff --git a/live/src/main/java/com/yunbao/live/adapter/UserMoreInfoAdapter.java b/live/src/main/java/com/yunbao/live/adapter/UserMoreInfoAdapter.java index db40c03e0..651789e1c 100644 --- a/live/src/main/java/com/yunbao/live/adapter/UserMoreInfoAdapter.java +++ b/live/src/main/java/com/yunbao/live/adapter/UserMoreInfoAdapter.java @@ -246,9 +246,11 @@ public class UserMoreInfoAdapter extends RefreshAdapter { if (bean.isHide() && (type.equals("5") || type.equals("4"))) { mName.setText(R.string.mystery_man); ImgLoader.display(mContext, R.mipmap.hide, mAvatar); + itemView.findViewById(R.id.state).setVisibility(View.GONE); } else { ImgLoader.display(mContext, bean.getAvatar(), mAvatar); mName.setText(bean.getUserNiceName()); + itemView.findViewById(R.id.state).setVisibility(View.VISIBLE); } if (bean.getDress() != null && bean.getDress().getAvatar_frame() != null) { gift_svga.setVisibility(View.VISIBLE); 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 4b002d076..3fc530a41 100644 --- a/live/src/main/java/com/yunbao/live/dialog/LiveUserMoreDialogFragment.java +++ b/live/src/main/java/com/yunbao/live/dialog/LiveUserMoreDialogFragment.java @@ -20,17 +20,17 @@ import androidx.recyclerview.widget.LinearLayoutManager; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.blankj.utilcode.util.GsonUtils; +import com.google.gson.reflect.TypeToken; import com.yunbao.common.Constants; import com.yunbao.common.adapter.RefreshAdapter; import com.yunbao.common.bean.LiveUserRankBean; -import com.yunbao.common.bean.NobleRankHideUserListModel; import com.yunbao.common.bean.UserBean; import com.yunbao.common.bean.UserRankModel; import com.yunbao.common.custom.CommonRefreshView; import com.yunbao.common.dialog.AbsDialogFragment; import com.yunbao.common.http.API; import com.yunbao.common.http.HttpCallback; -import com.yunbao.common.http.live.LiveNetManager; import com.yunbao.common.utils.DpUtil; import com.yunbao.live.R; import com.yunbao.live.activity.LiveActivity; @@ -111,6 +111,12 @@ public class LiveUserMoreDialogFragment extends AbsDialogFragment implements Vie mLiveUid = bundle.getString(Constants.LIVE_UID); stream = bundle.getString(Constants.STREAM); isOnly = bundle.getBoolean("only", false); + String outRankHideString = bundle.getString("outRankHide"); + outRankHide = GsonUtils.fromJson(outRankHideString, new TypeToken>(){}.getType()); + if (userMoreInfoAdapter != null) { + + userMoreInfoAdapter.setHide(outRankHide); + } title = mRootView.findViewById(R.id.title); tabs = mRootView.findViewById(R.id.tabs); audience_btn = mRootView.findViewById(R.id.audience_btn); @@ -312,23 +318,7 @@ public class LiveUserMoreDialogFragment extends AbsDialogFragment implements Vie tabs.setVisibility(View.GONE); title.setVisibility(View.GONE); } - //获取隐身的用户的ID - LiveNetManager.get(mContext) - .getNobleRankHideUserList(new com.yunbao.common.http.base.HttpCallback() { - @Override - public void onSuccess(NobleRankHideUserListModel data) { - outRankHide = data.getOutRankHide(); - if (userMoreInfoAdapter != null) { - userMoreInfoAdapter.setHide(outRankHide); - } - } - - @Override - public void onError(String error) { - Log.e("LiveUserMoreDialog", error); - } - }); } @Override diff --git a/live/src/main/res/layout/item_user_more_info.xml b/live/src/main/res/layout/item_user_more_info.xml index 35c967b37..2e378d483 100644 --- a/live/src/main/res/layout/item_user_more_info.xml +++ b/live/src/main/res/layout/item_user_more_info.xml @@ -84,6 +84,7 @@ @@ -111,6 +112,7 @@ { if (bean.isHide()) { mName1.setText(R.string.mystery_man); ImgLoader.display(mContext, R.mipmap.hide, mAvatar1); + mSex1.setVisibility(View.GONE); } else { ImgLoader.display(mContext, bean.getAvatarThumb(), mAvatar1); mName1.setText(bean.getUserNiceName()); + mSex1.setVisibility(View.VISIBLE); } mVotes1.setText(bean.getTotalCoinFormat()); @@ -381,9 +383,11 @@ public class MainListAdapter extends RefreshAdapter { if (bean.isHide()) { mName2.setText(R.string.mystery_man); ImgLoader.display(mContext, R.mipmap.hide, mAvatar2); + mSex2.setVisibility(View.GONE); } else { ImgLoader.display(mContext, bean.getAvatarThumb(), mAvatar2); mName2.setText(bean.getUserNiceName()); + mSex2.setVisibility(View.VISIBLE); } mVotes2.setText(bean.getTotalCoinFormat() + " "); mSex2.setImageResource(CommonIconUtil.getSexIcon(bean.getSex())); @@ -454,9 +458,11 @@ public class MainListAdapter extends RefreshAdapter { if (bean.isHide()) { mName3.setText(R.string.mystery_man); ImgLoader.display(mContext, R.mipmap.hide, mAvatar3); + mSex3.setVisibility(View.GONE); } else { ImgLoader.display(mContext, bean.getAvatarThumb(), mAvatar3); mName3.setText(bean.getUserNiceName()); + mSex3.setVisibility(View.VISIBLE); } mVotes3.setText(bean.getTotalCoinFormat() + " "); mSex3.setImageResource(CommonIconUtil.getSexIcon(bean.getSex())); @@ -552,9 +558,11 @@ public class MainListAdapter extends RefreshAdapter { if (bean.isHide()) { mName.setText(R.string.mystery_man); ImgLoader.display(mContext, R.mipmap.hide, mAvatar); + mSex.setVisibility(View.GONE); } else { ImgLoader.display(mContext, bean.getAvatarThumb(), mAvatar); mName.setText(bean.getUserNiceName()); + mSex.setVisibility(View.VISIBLE); }