fongmi
jhengazuki 1 month ago
parent f9032e85d7
commit 1655feae05
  1. 15
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java
  2. 9
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java

@ -42,6 +42,7 @@ public class CollectActivity extends BaseActivity {
private ActivityCollectBinding mBinding;
private ArrayObjectAdapter mAdapter;
private SiteViewModel mViewModel;
private List<Site> 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<Site> 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<Site> 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) {

@ -41,7 +41,7 @@ public class CollectFragment extends BaseFragment implements MenuProvider, Colle
private SearchAdapter mSearchAdapter;
private CustomScroller mScroller;
private SiteViewModel mViewModel;
private List<Site> sites;
private List<Site> 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() {

Loading…
Cancel
Save