From d7bc2615d6c5eaf777cd027b77dda2ce6054cd95 Mon Sep 17 00:00:00 2001 From: 18401019693 Date: Wed, 1 Nov 2023 18:09:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E6=92=AD=E7=AB=AF=E4=B8=8D=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E8=BF=9E=E9=BA=A6=E7=9B=B4=E6=8E=A5=E4=B8=8B=E6=92=AD?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=EF=BC=8C=E7=94=A8=E6=88=B7=E7=AB=AF=E5=9B=A0=E4=B8=BA?= =?UTF-8?q?=E4=B8=BB=E6=92=AD=E4=B8=8B=E6=92=AD=E6=B2=A1=E5=85=B3=E8=BF=9E?= =?UTF-8?q?=E9=BA=A6=E5=AF=BC=E8=87=B4=E7=9A=84=E8=BF=9E=E9=BA=A6=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E4=B8=8D=E5=AF=B9=E7=9A=84=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/CustomDrawerPopupAdapter.java | 8 +++- .../com/yunbao/common/http/PDLiveApi.java | 5 +++ .../common/http/main/MainNetManager.java | 25 ++++++++++- .../live/activity/LiveAudienceActivity.java | 8 +++- .../live/utils/LiveExoPlayerManager.java | 19 ++++++-- .../yunbao/live/views/LiveEndViewHolder.java | 8 +++- .../live/views/LivePlayRyViewHolder.java | 26 ++++++----- .../live/views/PortraitLiveManager.java | 2 + .../yunbao/main/activity/MainActivity.java | 6 ++- .../fragment/SearchRecommendFragment.java | 7 ++- .../fragment/SearchResultsItemFragment.java | 45 ++++++++++++------- .../views/SearchRecommendBodyViewHolder.java | 7 ++- 12 files changed, 126 insertions(+), 40 deletions(-) diff --git a/common/src/main/java/com/yunbao/common/adapter/CustomDrawerPopupAdapter.java b/common/src/main/java/com/yunbao/common/adapter/CustomDrawerPopupAdapter.java index abcffeb3a..2ab378200 100644 --- a/common/src/main/java/com/yunbao/common/adapter/CustomDrawerPopupAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/CustomDrawerPopupAdapter.java @@ -24,7 +24,9 @@ import com.yunbao.common.views.RecommendViewHolder; import com.yunbao.common.views.RigtsInterestsViewHolder; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 新侧边栏适配器 @@ -108,9 +110,13 @@ public class CustomDrawerPopupAdapter extends RecyclerView.Adapter { recommendViewHolder.setListener(new RecommendViewHolder.RecommendViewListener() { @Override public void changeOneBatch() { + Map map = new HashMap<>(); + map.put("num", "9"); + map.put("live_recommend", "sidebar"); + map.put("refresh", "1"); //推荐位 MainNetManager.get((Activity) mContext) - .anchorRecommend("9", new com.yunbao.common.http.base.HttpCallback() { + .anchorRecommend(map, new com.yunbao.common.http.base.HttpCallback() { @Override public void onSuccess(AnchorRecommendModel anchorRecommendModel) { diff --git a/common/src/main/java/com/yunbao/common/http/PDLiveApi.java b/common/src/main/java/com/yunbao/common/http/PDLiveApi.java index bc5956876..731a43d1d 100644 --- a/common/src/main/java/com/yunbao/common/http/PDLiveApi.java +++ b/common/src/main/java/com/yunbao/common/http/PDLiveApi.java @@ -168,6 +168,11 @@ public interface PDLiveApi { @Query("num") String num ); + @GET("/api/public/?service=Home.anchorRecommend") + Observable> anchorRecommend( + @QueryMap Map map + ); + /** * 直播间上下滚动列表 * diff --git a/common/src/main/java/com/yunbao/common/http/main/MainNetManager.java b/common/src/main/java/com/yunbao/common/http/main/MainNetManager.java index 793a3ae88..cea6a102a 100644 --- a/common/src/main/java/com/yunbao/common/http/main/MainNetManager.java +++ b/common/src/main/java/com/yunbao/common/http/main/MainNetManager.java @@ -14,7 +14,9 @@ import com.yunbao.common.http.ResponseData; import com.yunbao.common.http.ResponseModel; import com.yunbao.common.http.base.HttpCallback; +import java.util.HashMap; import java.util.List; +import java.util.Map; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.functions.Consumer; @@ -115,6 +117,22 @@ public class MainNetManager { }).isDisposed(); } + public void anchorRecommend(Map map, HttpCallback httpCallback) { + API.get().pdLiveApi(mContext).anchorRecommend(map) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(anchorRecommendModelResponseModel -> { + if (httpCallback != null) { + AnchorRecommendModel model = anchorRecommendModelResponseModel.getData().getInfo(); + httpCallback.onSuccess(model); + } + }, throwable -> { + if (httpCallback != null) { + httpCallback.onError(throwable.getMessage()); + } + }).isDisposed(); + } + /** * 猜你喜欢 * @@ -122,7 +140,11 @@ public class MainNetManager { * @return */ public void anchorRecommendType(String num, HttpCallback httpCallback) { - API.get().pdLiveApi(mContext).anchorRecommend(num, "1") + Map map = new HashMap<>(); + map.put("num", num); + map.put("live_recommend", "slide"); + map.put("type", "1"); + API.get().pdLiveApi(mContext).anchorRecommend(map) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(anchorRecommendModelResponseModel -> { @@ -266,6 +288,7 @@ public class MainNetManager { } }).isDisposed(); } + /** * 获取直播间上下滑动红包集合 */ 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 e8938f074..c50d63b21 100644 --- a/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java +++ b/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java @@ -131,7 +131,9 @@ import org.greenrobot.eventbus.ThreadMode; import java.io.File; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * Created by cxf on 2018/10/10. @@ -1629,10 +1631,12 @@ public class LiveAudienceActivity extends LiveActivity { private List list = new ArrayList<>(); private void getDrawer() { - + Map map = new HashMap<>(); + map.put("num", "9"); + map.put("live_recommend", "sidebar"); //推荐位 MainNetManager.get(mContext) - .anchorRecommend("9", new com.yunbao.common.http.base.HttpCallback() { + .anchorRecommend(map, new com.yunbao.common.http.base.HttpCallback() { @Override public void onSuccess(AnchorRecommendModel anchorRecommendModel) { list.clear(); diff --git a/live/src/main/java/com/yunbao/live/utils/LiveExoPlayerManager.java b/live/src/main/java/com/yunbao/live/utils/LiveExoPlayerManager.java index 839be869d..f207b0997 100644 --- a/live/src/main/java/com/yunbao/live/utils/LiveExoPlayerManager.java +++ b/live/src/main/java/com/yunbao/live/utils/LiveExoPlayerManager.java @@ -433,8 +433,11 @@ public class LiveExoPlayerManager { isSwitchUrl = true; log_buffer_time = System.currentTimeMillis(); mainView.setKeepContentOnPlayerReset(true); - getNextPlayer().setMediaItem(createMediaItem(url)); - getNextPlayer().prepare(); + if (getNextPlayer() != null) { + getNextPlayer().setMediaItem(createMediaItem(url)); + getNextPlayer().prepare(); + } + } private MediaItem createMediaItem(String url) { @@ -445,7 +448,12 @@ public class LiveExoPlayerManager { * 获取当前播放器 */ public ExoPlayer getNowPlayer() { - return status == MODEL_PLAY1 ? player1 : player2; + if (player1 == null && player2 == null) { + return null; + } else { + return status == MODEL_PLAY1 ? player1 : player2; + } + } /** @@ -486,7 +494,10 @@ public class LiveExoPlayerManager { * 开始播放 */ public void play() { - getNowPlayer().play(); + if (getNowPlayer() != null) { + getNowPlayer().play(); + } + } public void replay() { diff --git a/live/src/main/java/com/yunbao/live/views/LiveEndViewHolder.java b/live/src/main/java/com/yunbao/live/views/LiveEndViewHolder.java index 23f69c46e..727b38003 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveEndViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveEndViewHolder.java @@ -48,6 +48,9 @@ import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; +import java.util.HashMap; +import java.util.Map; + import io.rong.imlib.IRongCoreCallback; import io.rong.imlib.IRongCoreEnum; import io.rong.imlib.chatroom.base.RongChatRoomClient; @@ -172,8 +175,11 @@ public class LiveEndViewHolder extends AbsViewHolder implements View.OnClickList * 加载用户猜你喜欢数据 */ private void initDataOfUser() { + Map map = new HashMap<>(); + map.put("num", "3"); + map.put("live_recommend", "sidebar"); MainNetManager.get((Activity) mContext) - .anchorRecommend("3", new HttpCallback() { + .anchorRecommend(map, new HttpCallback() { @Override public void onSuccess(AnchorRecommendModel data) { if (((Activity) mContext).isFinishing()) return; diff --git a/live/src/main/java/com/yunbao/live/views/LivePlayRyViewHolder.java b/live/src/main/java/com/yunbao/live/views/LivePlayRyViewHolder.java index 02e465646..0f8a687ac 100644 --- a/live/src/main/java/com/yunbao/live/views/LivePlayRyViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LivePlayRyViewHolder.java @@ -773,22 +773,26 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder { Log.e("ry", "退出多人房间成功"); new Handler(Looper.getMainLooper()).post(new Runnable() { public void run() { - mPlayer.play(); - Log.e("ry", mPlayer.isPlaying() + "purl" + purl); - if (!mPlayer.isPlaying()) { - mPlayer.switchUrl(purl); - } - ry_view.removeAllViews(); - ry_view.getLayoutParams().height = ViewGroup.LayoutParams.WRAP_CONTENT; - onPrepared(); - rcrtcRoom = null; - MicStatusManager.getInstance().clear(); if (WordUtil.isNewZh()) { ToastUtil.show("已成功退出語音連麥"); } else { ToastUtil.show("You have successfully exited the voice connection"); } - resumePlay(); + if (mPlayer.getNowPlayer() != null) { + mPlayer.play(); + Log.e("ry", mPlayer.isPlaying() + "purl" + purl); + if (!mPlayer.isPlaying()) { + mPlayer.switchUrl(purl); + } + ry_view.removeAllViews(); + ry_view.getLayoutParams().height = ViewGroup.LayoutParams.WRAP_CONTENT; + onPrepared(); + rcrtcRoom = null; + MicStatusManager.getInstance().clear(); + + resumePlay(); + } + if (onMicCallback != null) { onMicCallback.onMikUpdate(); } 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 e5c1448d6..f6360db09 100644 --- a/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java +++ b/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java @@ -1303,6 +1303,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe @Override public void onLiveEnd() { + MicStatusManager.getInstance().clear(); endPlay(); if (!CommonAppConfig.LIVE_ROOM_SCROLL) { if (mViewPager != null) { @@ -1758,6 +1759,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe * 结束观看 */ public void endPlay() { + CommonAppContext.Ingroup = 0; if (mEnd) { return; 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 472fca625..e8ad1b9e5 100644 --- a/main/src/main/java/com/yunbao/main/activity/MainActivity.java +++ b/main/src/main/java/com/yunbao/main/activity/MainActivity.java @@ -135,6 +135,7 @@ import java.io.File; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -588,8 +589,11 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene */ private synchronized void initAnchorRecommendBanner() { if (!isfloatBannernet) return; + Map map = new HashMap<>(); + map.put("num", "10"); + map.put("live_recommend", "quick_look"); MainNetManager.get(mContext) - .anchorRecommend("10", new com.yunbao.common.http.base.HttpCallback() { + .anchorRecommend(map, new com.yunbao.common.http.base.HttpCallback() { @SuppressLint("SetTextI18n") @Override public void onSuccess(AnchorRecommendModel data) { diff --git a/main/src/main/java/com/yunbao/main/fragment/SearchRecommendFragment.java b/main/src/main/java/com/yunbao/main/fragment/SearchRecommendFragment.java index a4c5c4517..01efed50c 100644 --- a/main/src/main/java/com/yunbao/main/fragment/SearchRecommendFragment.java +++ b/main/src/main/java/com/yunbao/main/fragment/SearchRecommendFragment.java @@ -23,6 +23,7 @@ import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -65,9 +66,11 @@ public class SearchRecommendFragment extends BaseFragment { searchRecommendModels.add(model.setHistoryRecordMap(historyRecordMap)); } adapter.addData(searchRecommendModels); - + Map map = new HashMap<>(); + map.put("num", "10"); + map.put("live_recommend", "search"); MainNetManager.get(getActivity()) - .anchorRecommend("10", new HttpCallback() { + .anchorRecommend(map, new HttpCallback() { @Override public void onSuccess(AnchorRecommendModel data) { if (getActivity().isFinishing()) return; diff --git a/main/src/main/java/com/yunbao/main/fragment/SearchResultsItemFragment.java b/main/src/main/java/com/yunbao/main/fragment/SearchResultsItemFragment.java index d4295609c..4d780d079 100644 --- a/main/src/main/java/com/yunbao/main/fragment/SearchResultsItemFragment.java +++ b/main/src/main/java/com/yunbao/main/fragment/SearchResultsItemFragment.java @@ -17,14 +17,16 @@ import com.yunbao.common.fragment.BaseFragment; import com.yunbao.common.http.base.HttpCallback; import com.yunbao.common.http.main.MainNetManager; import com.yunbao.common.utils.ToastUtil; +import com.yunbao.common.utils.WordsTypeUtil; import com.yunbao.common.views.weight.OnRecyclerViewScrollListener; import com.yunbao.main.R; import com.yunbao.main.adapter.SearchRecommendBodyAdapter; import com.yunbao.main.adapter.SearchResultsItemAdapter; -import com.yunbao.common.utils.WordsTypeUtil; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 展示結果的分類頁面 @@ -76,7 +78,7 @@ public class SearchResultsItemFragment extends BaseFragment { searchList.addOnScrollListener(new OnRecyclerViewScrollListener() { @Override public void onBottom() { - if (type>1){ + if (type > 1) { page = page + 1; setSearchKey(searchKey, type); } @@ -93,8 +95,12 @@ public class SearchResultsItemFragment extends BaseFragment { changeBatch.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + Map map = new HashMap<>(); + map.put("num", "10"); + map.put("live_recommend", "search"); + map.put("refresh", "1"); MainNetManager.get(getActivity()) - .anchorRecommend("10", new HttpCallback() { + .anchorRecommend(map, new HttpCallback() { @Override public void onSuccess(AnchorRecommendModel data) { adapter.showData(data.getList()); @@ -107,8 +113,11 @@ public class SearchResultsItemFragment extends BaseFragment { }); } }); + Map map = new HashMap<>(); + map.put("num", "10"); + map.put("live_recommend", "search"); MainNetManager.get(getActivity()) - .anchorRecommend("10", new HttpCallback() { + .anchorRecommend(map, new HttpCallback() { @Override public void onSuccess(AnchorRecommendModel data) { adapter.showData(data.getList()); @@ -117,7 +126,7 @@ public class SearchResultsItemFragment extends BaseFragment { @Override public void onError(String error) { - ToastUtil.show( R.string.net_error); + ToastUtil.show(R.string.net_error); } }); } @@ -142,22 +151,24 @@ public class SearchResultsItemFragment extends BaseFragment { type, page, new HttpCallback>>() { @Override public void onSuccess(List> data) { - if (getActivity()==null||getActivity().isFinishing()) return; + if (getActivity() == null || getActivity().isFinishing()) + return; - if (data.get(0).size() == 0 && data.get(1).size() == 0) { - emptyLayout.setVisibility(View.VISIBLE); - searchList.setVisibility(View.GONE); - } else { - itemAdapter.showData(data, type, searchKey); - searchList.setVisibility(View.VISIBLE); - } + if (data.get(0).size() == 0 && data.get(1).size() == 0) { + emptyLayout.setVisibility(View.VISIBLE); + searchList.setVisibility(View.GONE); + } else { + itemAdapter.showData(data, type, searchKey); + searchList.setVisibility(View.VISIBLE); + } } @Override public void onError(String error) { - if (getActivity()==null||getActivity().isFinishing()) return; + if (getActivity() == null || getActivity().isFinishing()) + return; emptyLayout.setVisibility(View.VISIBLE); searchList.setVisibility(View.GONE); } @@ -169,7 +180,8 @@ public class SearchResultsItemFragment extends BaseFragment { type, page, new HttpCallback>() { @Override public void onSuccess(List data) { - if (getActivity()==null||getActivity().isFinishing()) return; + if (getActivity() == null || getActivity().isFinishing()) + return; List> listList = new ArrayList<>(); listList.add(data); if (page > 1) { @@ -191,7 +203,8 @@ public class SearchResultsItemFragment extends BaseFragment { @Override public void onError(String error) { - if (getActivity()==null||getActivity().isFinishing()) return; + if (getActivity() == null || getActivity().isFinishing()) + return; emptyLayout.setVisibility(View.VISIBLE); searchList.setVisibility(View.GONE); } diff --git a/main/src/main/java/com/yunbao/main/views/SearchRecommendBodyViewHolder.java b/main/src/main/java/com/yunbao/main/views/SearchRecommendBodyViewHolder.java index 07a431e2d..68214455c 100644 --- a/main/src/main/java/com/yunbao/main/views/SearchRecommendBodyViewHolder.java +++ b/main/src/main/java/com/yunbao/main/views/SearchRecommendBodyViewHolder.java @@ -21,6 +21,7 @@ import com.yunbao.main.R; import com.yunbao.main.adapter.SearchRecommendBodyAdapter; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -43,8 +44,12 @@ public class SearchRecommendBodyViewHolder extends RecyclerView.ViewHolder { @Override public void onClick(View v) { // Bus.get().post(new SearchRecommendEvent()); + Map map = new HashMap<>(); + map.put("num", "10"); + map.put("live_recommend", "search"); + map.put("refresh", "1"); MainNetManager.get((Activity) itemView.getContext()) - .anchorRecommend("10", new HttpCallback() { + .anchorRecommend(map, new HttpCallback() { @Override public void onSuccess(AnchorRecommendModel data) { showData(data.getList());