From 5f9595246082da0d03653a281ab798e7d6b44a37 Mon Sep 17 00:00:00 2001 From: FongMi Date: Fri, 18 Aug 2023 18:35:34 +0800 Subject: [PATCH] Clean code --- .../android/tv/ui/adapter/EpisodeAdapter.java | 6 +++++- .../android/tv/ui/fragment/EpisodeFragment.java | 17 ++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/EpisodeAdapter.java b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/EpisodeAdapter.java index c67bef75c..3b6bf4184 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/EpisodeAdapter.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/EpisodeAdapter.java @@ -23,9 +23,13 @@ public class EpisodeAdapter extends RecyclerView.Adapter(); + this(listener, viewType, new ArrayList<>()); + } + + public EpisodeAdapter(OnClickListener listener, int viewType, ArrayList items) { this.mListener = listener; this.viewType = viewType; + this.mItems = items; } public interface OnClickListener { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/EpisodeFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/EpisodeFragment.java index 23daeffc5..9da86b5fd 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/EpisodeFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/EpisodeFragment.java @@ -24,12 +24,15 @@ public class EpisodeFragment extends BaseFragment implements EpisodeAdapter.OnCl private FragmentEpisodeBinding mBinding; private SiteViewModel mViewModel; - private EpisodeAdapter mAdapter; private int getSpanCount() { return getArguments().getInt("spanCount"); } + private ArrayList getItems() { + return getArguments().getParcelableArrayList("items"); + } + public static EpisodeFragment newInstance(int spanCount, List items) { Bundle args = new Bundle(); args.putInt("spanCount", spanCount); @@ -48,25 +51,21 @@ public class EpisodeFragment extends BaseFragment implements EpisodeAdapter.OnCl protected void initView() { setRecyclerView(); setViewModel(); - setEpisode(); } private void setRecyclerView() { + EpisodeAdapter adapter; mBinding.recycler.setHasFixedSize(true); mBinding.recycler.setItemAnimator(null); - mBinding.recycler.setAdapter(mAdapter = new EpisodeAdapter(this, ViewType.GRID)); + mBinding.recycler.setLayoutManager(new GridLayoutManager(getContext(), getSpanCount())); + mBinding.recycler.setAdapter(adapter = new EpisodeAdapter(this, ViewType.GRID, getItems())); + mBinding.recycler.scrollToPosition(adapter.getPosition()); } private void setViewModel() { mViewModel = new ViewModelProvider(requireActivity()).get(SiteViewModel.class); } - private void setEpisode() { - mAdapter.addAll(getArguments().getParcelableArrayList("items")); - mBinding.recycler.setLayoutManager(new GridLayoutManager(getContext(), getSpanCount())); - mBinding.recycler.scrollToPosition(mAdapter.getPosition()); - } - @Override public void onItemClick(Vod.Flag.Episode item) { mViewModel.setEpisode(item);