From e8fb13a9eb303e2f7fa85517563ab603520a2eee Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 20 Oct 2022 22:24:15 +0800 Subject: [PATCH] Clean code --- .../tv/ui/activity/DetailActivity.java | 30 +++++++------- .../android/tv/ui/adapter/ChannelAdapter.java | 4 +- .../android/tv/ui/adapter/GroupAdapter.java | 4 +- .../tv/ui/adapter/holder/ChannelHolder.java | 6 +-- .../tv/ui/adapter/holder/GroupHolder.java | 6 +-- ...roupPresenter.java => ArrayPresenter.java} | 12 +++--- ...or_live_group.xml => selector_channel.xml} | 2 +- ...or_live_channel.xml => selector_group.xml} | 2 +- ...ape_live_channel.xml => shape_channel.xml} | 0 .../{shape_live_group.xml => shape_group.xml} | 0 .../leanback/res/layout/activity_detail.xml | 2 +- app/src/leanback/res/layout/activity_live.xml | 4 +- app/src/leanback/res/layout/adapter_array.xml | 15 +++++++ ...r_live_channel.xml => adapter_channel.xml} | 2 +- .../leanback/res/layout/adapter_episode.xml | 2 +- app/src/leanback/res/layout/adapter_group.xml | 40 ++++++++++++++----- .../res/layout/adapter_live_group.xml | 33 --------------- app/src/leanback/res/layout/adapter_part.xml | 2 +- 18 files changed, 83 insertions(+), 83 deletions(-) rename app/src/leanback/java/com/fongmi/android/tv/ui/presenter/{GroupPresenter.java => ArrayPresenter.java} (82%) rename app/src/leanback/res/drawable/{selector_live_group.xml => selector_channel.xml} (52%) rename app/src/leanback/res/drawable/{selector_live_channel.xml => selector_group.xml} (51%) rename app/src/leanback/res/drawable/{shape_live_channel.xml => shape_channel.xml} (100%) rename app/src/leanback/res/drawable/{shape_live_group.xml => shape_group.xml} (100%) create mode 100644 app/src/leanback/res/layout/adapter_array.xml rename app/src/leanback/res/layout/{adapter_live_channel.xml => adapter_channel.xml} (95%) delete mode 100644 app/src/leanback/res/layout/adapter_live_group.xml diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index ae917b532..5b551f985 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -43,7 +43,7 @@ import com.fongmi.android.tv.ui.custom.TrackSelectionDialog; import com.fongmi.android.tv.ui.custom.dialog.DescDialog; import com.fongmi.android.tv.ui.presenter.EpisodePresenter; import com.fongmi.android.tv.ui.presenter.FlagPresenter; -import com.fongmi.android.tv.ui.presenter.GroupPresenter; +import com.fongmi.android.tv.ui.presenter.ArrayPresenter; import com.fongmi.android.tv.ui.presenter.ParsePresenter; import com.fongmi.android.tv.ui.presenter.PartPresenter; import com.fongmi.android.tv.utils.Clock; @@ -66,13 +66,13 @@ import java.util.List; import okhttp3.Call; import okhttp3.Response; -public class DetailActivity extends BaseActivity implements CustomKeyDown.Listener, GroupPresenter.OnClickListener, Clock.Callback { +public class DetailActivity extends BaseActivity implements CustomKeyDown.Listener, ArrayPresenter.OnClickListener, Clock.Callback { private ActivityDetailBinding mBinding; private ViewControllerBottomBinding mControl; private ViewGroup.LayoutParams mFrameParams; private ArrayObjectAdapter mFlagAdapter; - private ArrayObjectAdapter mGroupAdapter; + private ArrayObjectAdapter mArrayAdapter; private ArrayObjectAdapter mEpisodeAdapter; private ArrayObjectAdapter mParseAdapter; private ArrayObjectAdapter mPartAdapter; @@ -170,7 +170,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDown.Listen if (mFlagAdapter.size() > 0) setFlagActivated((Vod.Flag) mFlagAdapter.get(position)); } }); - mBinding.group.addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() { + mBinding.array.addOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() { @Override public void onChildViewHolderSelected(@NonNull RecyclerView parent, @Nullable RecyclerView.ViewHolder child, int position, int subposition) { if (mEpisodeAdapter.size() > 20 && position > 1) mBinding.episode.setSelectedPosition((position - 2) * 20); @@ -185,9 +185,9 @@ public class DetailActivity extends BaseActivity implements CustomKeyDown.Listen mBinding.episode.setHorizontalSpacing(ResUtil.dp2px(8)); mBinding.episode.setRowHeight(ViewGroup.LayoutParams.WRAP_CONTENT); mBinding.episode.setAdapter(new ItemBridgeAdapter(mEpisodeAdapter = new ArrayObjectAdapter(mEpisodePresenter = new EpisodePresenter(this::setEpisodeActivated)))); - mBinding.group.setHorizontalSpacing(ResUtil.dp2px(8)); - mBinding.group.setRowHeight(ViewGroup.LayoutParams.WRAP_CONTENT); - mBinding.group.setAdapter(new ItemBridgeAdapter(mGroupAdapter = new ArrayObjectAdapter(new GroupPresenter(this)))); + mBinding.array.setHorizontalSpacing(ResUtil.dp2px(8)); + mBinding.array.setRowHeight(ViewGroup.LayoutParams.WRAP_CONTENT); + mBinding.array.setAdapter(new ItemBridgeAdapter(mArrayAdapter = new ArrayObjectAdapter(new ArrayPresenter(this)))); mBinding.part.setHorizontalSpacing(ResUtil.dp2px(8)); mBinding.part.setRowHeight(ViewGroup.LayoutParams.WRAP_CONTENT); mBinding.part.setAdapter(new ItemBridgeAdapter(mPartAdapter = new ArrayObjectAdapter(mPartPresenter = new PartPresenter(item -> CollectActivity.start(this, item))))); @@ -273,7 +273,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDown.Listen if (!flag.isActivated()) continue; mBinding.flag.setSelectedPosition(i); mEpisodeAdapter.setItems(flag.getEpisodes(), null); - setGroup(flag.getEpisodes().size()); + setArray(flag.getEpisodes().size()); seamless(flag); } mFlagAdapter.notifyArrayItemRangeChanged(0, mFlagAdapter.size()); @@ -300,7 +300,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDown.Listen private void reverseEpisode() { for (int i = 0; i < mFlagAdapter.size(); i++) Collections.reverse(((Vod.Flag) mFlagAdapter.get(i)).getEpisodes()); mEpisodeAdapter.setItems(getVodFlag().getEpisodes(), null); - setGroup(mEpisodeAdapter.size()); + setArray(mEpisodeAdapter.size()); } private void setParseActivated(Parse item) { @@ -312,16 +312,16 @@ public class DetailActivity extends BaseActivity implements CustomKeyDown.Listen mParseAdapter.notifyArrayItemRangeChanged(0, mParseAdapter.size()); } - private void setGroup(int size) { + private void setArray(int size) { List items = new ArrayList<>(); items.add(getString(R.string.play_reverse)); items.add(getString(mHistory.getRevPlayText())); - mEpisodePresenter.setNextFocusDown(size > 1 ? R.id.group : R.id.part); - mPartPresenter.setNextFocusUp(size > 1 ? R.id.group : R.id.episode); - mBinding.group.setVisibility(size > 1 ? View.VISIBLE : View.GONE); + mEpisodePresenter.setNextFocusDown(size > 1 ? R.id.array : R.id.part); + mPartPresenter.setNextFocusUp(size > 1 ? R.id.array : R.id.episode); + mBinding.array.setVisibility(size > 1 ? View.VISIBLE : View.GONE); if (mHistory.isRevSort()) for (int i = size + 1; i > 0; i -= 20) items.add((i - 1) + "-" + Math.max(i - 20, 1)); else for (int i = 0; i < size; i += 20) items.add((i + 1) + "-" + Math.min(i + 20, size)); - mGroupAdapter.setItems(items, null); + mArrayAdapter.setItems(items, null); } @Override @@ -468,7 +468,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDown.Listen private boolean hasFlag() { if (mFlagAdapter.size() > 0) return true; mBinding.flag.setVisibility(View.GONE); - mBinding.group.setVisibility(View.GONE); + mBinding.array.setVisibility(View.GONE); mBinding.episode.setVisibility(View.GONE); Notify.show(R.string.error_episode); return false; diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/ChannelAdapter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/ChannelAdapter.java index 5ff2dc4b1..483db5730 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/ChannelAdapter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/ChannelAdapter.java @@ -8,7 +8,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.fongmi.android.tv.bean.Channel; import com.fongmi.android.tv.bean.Group; -import com.fongmi.android.tv.databinding.AdapterLiveChannelBinding; +import com.fongmi.android.tv.databinding.AdapterChannelBinding; import com.fongmi.android.tv.ui.adapter.holder.ChannelHolder; import java.util.ArrayList; @@ -100,7 +100,7 @@ public class ChannelAdapter extends RecyclerView.Adapter { @NonNull @Override public ChannelHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - return new ChannelHolder(this, AdapterLiveChannelBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)); + return new ChannelHolder(this, AdapterChannelBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)); } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/GroupAdapter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/GroupAdapter.java index 7fc9b3f09..f8e8182c8 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/GroupAdapter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/GroupAdapter.java @@ -7,7 +7,7 @@ import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.fongmi.android.tv.bean.Group; -import com.fongmi.android.tv.databinding.AdapterLiveGroupBinding; +import com.fongmi.android.tv.databinding.AdapterGroupBinding; import com.fongmi.android.tv.ui.adapter.holder.GroupHolder; import java.util.ArrayList; @@ -80,7 +80,7 @@ public class GroupAdapter extends RecyclerView.Adapter { @NonNull @Override public GroupHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - return new GroupHolder(this, AdapterLiveGroupBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)); + return new GroupHolder(this, AdapterGroupBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)); } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/holder/ChannelHolder.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/holder/ChannelHolder.java index 7f2f225b5..a4067316f 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/holder/ChannelHolder.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/holder/ChannelHolder.java @@ -6,15 +6,15 @@ import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.fongmi.android.tv.bean.Channel; -import com.fongmi.android.tv.databinding.AdapterLiveChannelBinding; +import com.fongmi.android.tv.databinding.AdapterChannelBinding; import com.fongmi.android.tv.ui.adapter.ChannelAdapter; public class ChannelHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener { - private final AdapterLiveChannelBinding binding; + private final AdapterChannelBinding binding; private final ChannelAdapter adapter; - public ChannelHolder(ChannelAdapter adapter, @NonNull AdapterLiveChannelBinding binding) { + public ChannelHolder(ChannelAdapter adapter, @NonNull AdapterChannelBinding binding) { super(binding.getRoot()); this.binding = binding; this.adapter = adapter; diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/holder/GroupHolder.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/holder/GroupHolder.java index b7df278e8..db5230331 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/holder/GroupHolder.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/holder/GroupHolder.java @@ -5,15 +5,15 @@ import android.view.View; import androidx.recyclerview.widget.RecyclerView; import com.fongmi.android.tv.bean.Group; -import com.fongmi.android.tv.databinding.AdapterLiveGroupBinding; +import com.fongmi.android.tv.databinding.AdapterGroupBinding; import com.fongmi.android.tv.ui.adapter.GroupAdapter; public class GroupHolder extends RecyclerView.ViewHolder implements View.OnClickListener { - private final AdapterLiveGroupBinding binding; + private final AdapterGroupBinding binding; private final GroupAdapter adapter; - public GroupHolder(GroupAdapter adapter, AdapterLiveGroupBinding binding) { + public GroupHolder(GroupAdapter adapter, AdapterGroupBinding binding) { super(binding.getRoot()); this.binding = binding; this.adapter = adapter; diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/GroupPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ArrayPresenter.java similarity index 82% rename from app/src/leanback/java/com/fongmi/android/tv/ui/presenter/GroupPresenter.java rename to app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ArrayPresenter.java index 007e729da..950b9b5b9 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/GroupPresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ArrayPresenter.java @@ -8,17 +8,17 @@ import androidx.annotation.NonNull; import androidx.leanback.widget.Presenter; import com.fongmi.android.tv.R; -import com.fongmi.android.tv.databinding.AdapterGroupBinding; +import com.fongmi.android.tv.databinding.AdapterArrayBinding; import com.fongmi.android.tv.utils.ResUtil; -public class GroupPresenter extends Presenter { +public class ArrayPresenter extends Presenter { private final OnClickListener mListener; private final String backward; private final String forward; private final String reverse; - public GroupPresenter(OnClickListener listener) { + public ArrayPresenter(OnClickListener listener) { this.mListener = listener; this.backward = ResUtil.getString(R.string.play_backward); this.forward = ResUtil.getString(R.string.play_forward); @@ -34,7 +34,7 @@ public class GroupPresenter extends Presenter { @Override public Presenter.ViewHolder onCreateViewHolder(ViewGroup parent) { - return new ViewHolder(AdapterGroupBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)); + return new ViewHolder(AdapterArrayBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)); } @Override @@ -52,9 +52,9 @@ public class GroupPresenter extends Presenter { public static class ViewHolder extends Presenter.ViewHolder { - private final AdapterGroupBinding binding; + private final AdapterArrayBinding binding; - public ViewHolder(@NonNull AdapterGroupBinding binding) { + public ViewHolder(@NonNull AdapterArrayBinding binding) { super(binding.getRoot()); this.binding = binding; } diff --git a/app/src/leanback/res/drawable/selector_live_group.xml b/app/src/leanback/res/drawable/selector_channel.xml similarity index 52% rename from app/src/leanback/res/drawable/selector_live_group.xml rename to app/src/leanback/res/drawable/selector_channel.xml index ee00a4d93..573186658 100644 --- a/app/src/leanback/res/drawable/selector_live_group.xml +++ b/app/src/leanback/res/drawable/selector_channel.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/app/src/leanback/res/drawable/selector_live_channel.xml b/app/src/leanback/res/drawable/selector_group.xml similarity index 51% rename from app/src/leanback/res/drawable/selector_live_channel.xml rename to app/src/leanback/res/drawable/selector_group.xml index 947f817e3..bb9352ec0 100644 --- a/app/src/leanback/res/drawable/selector_live_channel.xml +++ b/app/src/leanback/res/drawable/selector_group.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/app/src/leanback/res/drawable/shape_live_channel.xml b/app/src/leanback/res/drawable/shape_channel.xml similarity index 100% rename from app/src/leanback/res/drawable/shape_live_channel.xml rename to app/src/leanback/res/drawable/shape_channel.xml diff --git a/app/src/leanback/res/drawable/shape_live_group.xml b/app/src/leanback/res/drawable/shape_group.xml similarity index 100% rename from app/src/leanback/res/drawable/shape_live_group.xml rename to app/src/leanback/res/drawable/shape_group.xml diff --git a/app/src/leanback/res/layout/activity_detail.xml b/app/src/leanback/res/layout/activity_detail.xml index c92772efd..ba62c3e81 100644 --- a/app/src/leanback/res/layout/activity_detail.xml +++ b/app/src/leanback/res/layout/activity_detail.xml @@ -223,7 +223,7 @@ android:paddingBottom="8dp" /> + tools:listitem="@layout/adapter_group" /> + tools:listitem="@layout/adapter_channel" /> diff --git a/app/src/leanback/res/layout/adapter_array.xml b/app/src/leanback/res/layout/adapter_array.xml new file mode 100644 index 000000000..94840e351 --- /dev/null +++ b/app/src/leanback/res/layout/adapter_array.xml @@ -0,0 +1,15 @@ + + \ No newline at end of file diff --git a/app/src/leanback/res/layout/adapter_live_channel.xml b/app/src/leanback/res/layout/adapter_channel.xml similarity index 95% rename from app/src/leanback/res/layout/adapter_live_channel.xml rename to app/src/leanback/res/layout/adapter_channel.xml index 3b4215c66..8fc9c8d08 100644 --- a/app/src/leanback/res/layout/adapter_live_channel.xml +++ b/app/src/leanback/res/layout/adapter_channel.xml @@ -3,7 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:background="@drawable/selector_live_channel" + android:background="@drawable/selector_channel" android:focusable="true" android:gravity="center" android:orientation="horizontal" diff --git a/app/src/leanback/res/layout/adapter_episode.xml b/app/src/leanback/res/layout/adapter_episode.xml index a135b9307..b543a916c 100644 --- a/app/src/leanback/res/layout/adapter_episode.xml +++ b/app/src/leanback/res/layout/adapter_episode.xml @@ -10,7 +10,7 @@ android:focusableInTouchMode="true" android:gravity="center" android:nextFocusUp="@id/flag" - android:nextFocusDown="@id/group" + android:nextFocusDown="@id/array" android:singleLine="true" android:textColor="@color/white" android:textSize="16sp" diff --git a/app/src/leanback/res/layout/adapter_group.xml b/app/src/leanback/res/layout/adapter_group.xml index 94840e351..c0afd253c 100644 --- a/app/src/leanback/res/layout/adapter_group.xml +++ b/app/src/leanback/res/layout/adapter_group.xml @@ -1,15 +1,33 @@ - \ No newline at end of file + android:gravity="center_vertical" + android:orientation="horizontal" + android:paddingStart="20dp" + android:paddingTop="12dp" + android:paddingEnd="20dp" + android:paddingBottom="12dp"> + + + + + + \ No newline at end of file diff --git a/app/src/leanback/res/layout/adapter_live_group.xml b/app/src/leanback/res/layout/adapter_live_group.xml deleted file mode 100644 index af4a8a6de..000000000 --- a/app/src/leanback/res/layout/adapter_live_group.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/app/src/leanback/res/layout/adapter_part.xml b/app/src/leanback/res/layout/adapter_part.xml index a16ef744a..196533688 100644 --- a/app/src/leanback/res/layout/adapter_part.xml +++ b/app/src/leanback/res/layout/adapter_part.xml @@ -9,7 +9,7 @@ android:focusable="true" android:focusableInTouchMode="true" android:gravity="center" - android:nextFocusUp="@id/group" + android:nextFocusUp="@id/array" android:singleLine="true" android:textColor="@color/white" android:textSize="16sp"