From 942067fdedc25d4b2a3247cfbeed7f3631605bfd Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 13 Apr 2023 10:06:38 +0800 Subject: [PATCH] [mobile] fix home reload --- .../tv/ui/presenter/HistoryPresenter.java | 6 +-- .../android/tv/ui/adapter/HistoryAdapter.java | 6 +-- .../android/tv/ui/fragment/TypeFragment.java | 37 +++++++------------ .../android/tv/ui/fragment/VodFragment.java | 8 +++- 4 files changed, 25 insertions(+), 32 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HistoryPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HistoryPresenter.java index b7b37cad2..271f9df96 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HistoryPresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HistoryPresenter.java @@ -64,11 +64,11 @@ public class HistoryPresenter extends Presenter { ViewHolder holder = (ViewHolder) viewHolder; setClickListener(holder.view, item); holder.binding.name.setText(item.getVodName()); - holder.binding.site.setVisibility(View.VISIBLE); - holder.binding.site.setText(ApiConfig.getSiteName(item.getSiteKey())); - holder.binding.remark.setText(ResUtil.getString(R.string.vod_last, item.getVodRemarks())); + holder.binding.site.setText(item.getSiteName()); + holder.binding.site.setVisibility(item.getSiteVisible()); holder.binding.remark.setVisibility(delete ? View.GONE : View.VISIBLE); holder.binding.delete.setVisibility(!delete ? View.GONE : View.VISIBLE); + holder.binding.remark.setText(ResUtil.getString(R.string.vod_last, item.getVodRemarks())); ImgUtil.loadHistory(item.getVodPic(), holder.binding.image); } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java index 2c2a1935e..8a0a3ec93 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java @@ -90,11 +90,11 @@ public class HistoryAdapter extends RecyclerView.Adapter(); mExtends = new HashMap<>(); @@ -110,6 +109,15 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac getVideo(getTypeId(), "1"); } + private void getVideo(String typeId, String page) { + if (isFolder()) mTypeIds.add(typeId); + if (isFolder()) mBinding.recycler.scrollToPosition(0); + if (page.equals("1")) mAdapter.clear(); + if (page.equals("1") && !mBinding.swipeLayout.isRefreshing()) mBinding.progressLayout.showProgress(); + if (isHome() && page.equals("1")) setAdapter(getParent().getResult()); + else mViewModel.categoryContent(ApiConfig.get().getHome().getKey(), typeId, page, true, mExtends); + } + private void setAdapter(Result result) { int size = result.getList().size(); mBinding.progressLayout.showContent(isFolder(), size); @@ -124,14 +132,6 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac getVideo(getTypeId(), String.valueOf(mScroller.addPage())); } - private void getVideo(String typeId, String page) { - if (isFolder()) mTypeIds.add(typeId); - if (isFolder()) mBinding.recycler.scrollToPosition(0); - if (page.equals("1")) mAdapter.clear(); - if (page.equals("1") && !mBinding.swipeLayout.isRefreshing()) mBinding.progressLayout.showProgress(); - mViewModel.categoryContent(ApiConfig.get().getHome().getKey(), typeId, page, true, mExtends); - } - private void refresh(int num) { String typeId = mTypeIds.get(mTypeIds.size() - num); mTypeIds = mTypeIds.subList(0, mTypeIds.size() - num); @@ -143,11 +143,6 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac onRefresh(); } - @Subscribe(threadMode = ThreadMode.MAIN) - public void onResult(Result result) { - if (isHome()) setAdapter(result); - } - @Override public void onRefresh() { if (isFolder()) refresh(1); @@ -179,10 +174,4 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac refresh(2); return false; } - - @Override - public void onDestroyView() { - super.onDestroyView(); - EventBus.getDefault().unregister(this); - } } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java index 8490c5582..30769e978 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java @@ -62,6 +62,7 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal private TypeAdapter mAdapter; private Runnable mRunnable; private List mHots; + private Result mResult; public static VodFragment newInstance() { return new VodFragment(); @@ -119,7 +120,7 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal private void setViewModel() { mViewModel = new ViewModelProvider(this).get(SiteViewModel.class); - mViewModel.result.observe(getViewLifecycleOwner(), this::setAdapter); + mViewModel.result.observe(getViewLifecycleOwner(), result -> setAdapter(mResult = result)); } private void initHot() { @@ -153,7 +154,6 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal mAdapter.addAll(handle(result)); mBinding.pager.getAdapter().notifyDataSetChanged(); for (Class item : mAdapter.getTypes()) if (result.getFilters().containsKey(item.getTypeId())) item.setFilters(result.getFilters().get(item.getTypeId())); - EventBus.getDefault().post(result); setFabVisible(0); hideProgress(); checkRetry(); @@ -227,6 +227,10 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal mBinding.pager.setAdapter(new PageAdapter(getChildFragmentManager())); } + public Result getResult() { + return mResult; + } + @Subscribe(threadMode = ThreadMode.MAIN) public void onRefreshEvent(RefreshEvent event) { switch (event.getType()) {