diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java index 2a7eb108e..cb6a3089f 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java @@ -42,6 +42,7 @@ public class CollectActivity extends BaseActivity { private ActivityCollectBinding mBinding; private ArrayObjectAdapter mAdapter; private SiteViewModel mViewModel; + private List mSites; private View mOldView; public static void start(Activity activity, String keyword) { @@ -77,6 +78,7 @@ public class CollectActivity extends BaseActivity { setRecyclerView(); setViewModel(); saveKeyword(); + setSites(); setPager(); search(); } @@ -121,22 +123,21 @@ public class CollectActivity extends BaseActivity { Setting.putKeyword(App.gson().toJson(items)); } - private void setPager() { - mBinding.pager.setAdapter(new PageAdapter(getSupportFragmentManager())); + private void setSites() { + mSites = VodConfig.get().getSites().stream().filter(Site::isSearchable).collect(Collectors.toList()); } - private List getSites() { - return VodConfig.get().getSites().stream().filter(Site::isSearchable).collect(Collectors.toList()); + private void setPager() { + mBinding.pager.setAdapter(new PageAdapter(getSupportFragmentManager())); } private void search() { mViewModel.stopSearch(); - List sites = getSites(); - if (sites.isEmpty()) return; + if (mSites.isEmpty()) return; mAdapter.add(Collect.all()); mBinding.pager.getAdapter().notifyDataSetChanged(); mBinding.result.setText(getString(R.string.collect_result, getKeyword())); - mViewModel.searchContent(sites, getKeyword(), false); + mViewModel.searchContent(mSites, getKeyword(), false); } private void onChildSelected(@Nullable RecyclerView.ViewHolder child) { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java index e3af54bf9..f31b8b676 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java @@ -41,7 +41,7 @@ public class CollectFragment extends BaseFragment implements MenuProvider, Colle private SearchAdapter mSearchAdapter; private CustomScroller mScroller; private SiteViewModel mViewModel; - private List sites; + private List mSites; public static CollectFragment newInstance(String keyword) { Bundle args = new Bundle(); @@ -97,14 +97,14 @@ public class CollectFragment extends BaseFragment implements MenuProvider, Colle } private void setSites() { - sites = VodConfig.get().getSites().stream().filter(Site::isSearchable).collect(Collectors.toList()); + mSites = VodConfig.get().getSites().stream().filter(Site::isSearchable).collect(Collectors.toList()); } private void setWidth() { int width = 0; int space = ResUtil.dp2px(48); int maxWidth = ResUtil.getScreenWidth() / (getCount() + 1) - ResUtil.dp2px(40); - for (Site site : sites) width = Math.max(width, ResUtil.getTextWidth(site.getName(), 14)); + for (Site site : mSites) width = Math.max(width, ResUtil.getTextWidth(site.getName(), 14)); int contentWidth = width + space; int minWidth = ResUtil.dp2px(120); int finalWidth = Math.max(minWidth, Math.min(contentWidth, maxWidth)); @@ -115,7 +115,8 @@ public class CollectFragment extends BaseFragment implements MenuProvider, Colle private void search() { mViewModel.stopSearch(); - if (!sites.isEmpty()) mCollectAdapter.setItems(List.of(Collect.all()), () -> mViewModel.searchContent(sites, getKeyword(), false)); + if (mSites.isEmpty()) return; + mCollectAdapter.setItems(List.of(Collect.all()), () -> mViewModel.searchContent(mSites, getKeyword(), false)); } private int getCount() {