diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/EpisodePresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/EpisodePresenter.java index 7c4582067..fd84355bd 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/EpisodePresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/EpisodePresenter.java @@ -6,18 +6,20 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.leanback.widget.Presenter; -import com.fongmi.android.tv.Product; import com.fongmi.android.tv.bean.Episode; import com.fongmi.android.tv.databinding.AdapterEpisodeBinding; +import com.fongmi.android.tv.utils.ResUtil; public class EpisodePresenter extends Presenter { - private final OnClickListener mListener; + private final OnClickListener listener; + private final int maxWidth; private int nextFocusDown; private int nextFocusUp; public EpisodePresenter(OnClickListener listener) { - this.mListener = listener; + this.listener = listener; + this.maxWidth = ResUtil.getScreenWidth() - ResUtil.dp2px(48); } public interface OnClickListener { @@ -41,12 +43,12 @@ public class EpisodePresenter extends Presenter { public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object object) { Episode item = (Episode) object; ViewHolder holder = (ViewHolder) viewHolder; - holder.binding.text.setMaxEms(Product.getEms()); + holder.binding.text.setMaxWidth(maxWidth); holder.binding.text.setNextFocusUpId(nextFocusUp); holder.binding.text.setNextFocusDownId(nextFocusDown); holder.binding.text.setActivated(item.isActivated()); holder.binding.text.setText(item.getDesc().concat(item.getName())); - setOnClickListener(holder, view -> mListener.onItemClick(item)); + setOnClickListener(holder, view -> listener.onItemClick(item)); } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/PartPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/PartPresenter.java index 15c28185a..3848804cd 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/PartPresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/PartPresenter.java @@ -6,16 +6,18 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.leanback.widget.Presenter; -import com.fongmi.android.tv.Product; import com.fongmi.android.tv.databinding.AdapterPartBinding; +import com.fongmi.android.tv.utils.ResUtil; public class PartPresenter extends Presenter { - private final OnClickListener mListener; + private final OnClickListener listener; + private final int maxWidth; private int nextFocusUp; public PartPresenter(OnClickListener listener) { - this.mListener = listener; + this.listener = listener; + this.maxWidth = ResUtil.getScreenWidth() - ResUtil.dp2px(48); } public interface OnClickListener { @@ -36,9 +38,9 @@ public class PartPresenter extends Presenter { String text = object.toString(); ViewHolder holder = (ViewHolder) viewHolder; holder.binding.text.setText(text); - holder.binding.text.setMaxEms(Product.getEms()); + holder.binding.text.setMaxWidth(maxWidth); holder.binding.text.setNextFocusUpId(nextFocusUp); - setOnClickListener(holder, view -> mListener.onItemClick(text)); + setOnClickListener(holder, view -> listener.onItemClick(text)); } @Override diff --git a/app/src/leanback/res/layout/adapter_episode.xml b/app/src/leanback/res/layout/adapter_episode.xml index 92a96bae8..5028a2f70 100644 --- a/app/src/leanback/res/layout/adapter_episode.xml +++ b/app/src/leanback/res/layout/adapter_episode.xml @@ -2,7 +2,7 @@ { @NonNull @Override public BaseEpisodeHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - switch (viewType) { - case ViewType.HORI: - return new EpisodeHoriHolder(AdapterEpisodeHoriBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false), mListener); - case ViewType.VERT: - return new EpisodeVertHolder(AdapterEpisodeVertBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false), mListener); - default: - return new EpisodeGridHolder(AdapterEpisodeGridBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false), mListener); + if (viewType == ViewType.HORI) { + return new EpisodeHoriHolder(AdapterEpisodeHoriBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false), mListener); + } else { + return new EpisodeGridHolder(AdapterEpisodeGridBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false), mListener); } } } \ No newline at end of file diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/base/ViewType.java b/app/src/mobile/java/com/fongmi/android/tv/ui/base/ViewType.java index 3472d491c..e03fc29bb 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/base/ViewType.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/base/ViewType.java @@ -8,7 +8,6 @@ public class ViewType { public static final int GRID = 3; public static final int HORI = 0; - public static final int VERT = 1; public static final int DARK = 0; public static final int LIGHT = 1; diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/holder/EpisodeHoriHolder.java b/app/src/mobile/java/com/fongmi/android/tv/ui/holder/EpisodeHoriHolder.java index 7acdfd452..e1274389d 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/holder/EpisodeHoriHolder.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/holder/EpisodeHoriHolder.java @@ -2,26 +2,28 @@ package com.fongmi.android.tv.ui.holder; import androidx.annotation.NonNull; -import com.fongmi.android.tv.Product; import com.fongmi.android.tv.bean.Episode; import com.fongmi.android.tv.databinding.AdapterEpisodeHoriBinding; import com.fongmi.android.tv.ui.adapter.EpisodeAdapter; import com.fongmi.android.tv.ui.base.BaseEpisodeHolder; +import com.fongmi.android.tv.utils.ResUtil; public class EpisodeHoriHolder extends BaseEpisodeHolder { private final EpisodeAdapter.OnClickListener listener; private final AdapterEpisodeHoriBinding binding; + private final int maxWidth; public EpisodeHoriHolder(@NonNull AdapterEpisodeHoriBinding binding, EpisodeAdapter.OnClickListener listener) { super(binding.getRoot()); this.binding = binding; this.listener = listener; + this.maxWidth = ResUtil.getScreenWidth() - ResUtil.dp2px(32); } @Override public void initView(Episode item) { - binding.text.setMaxEms(Product.getEms()); + binding.text.setMaxWidth(maxWidth); binding.text.setSelected(item.isSelected()); binding.text.setActivated(item.isActivated()); binding.text.setText(item.getDesc().concat(item.getName())); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/holder/EpisodeVertHolder.java b/app/src/mobile/java/com/fongmi/android/tv/ui/holder/EpisodeVertHolder.java deleted file mode 100644 index 06691e744..000000000 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/holder/EpisodeVertHolder.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.fongmi.android.tv.ui.holder; - -import androidx.annotation.NonNull; - -import com.fongmi.android.tv.bean.Episode; -import com.fongmi.android.tv.databinding.AdapterEpisodeVertBinding; -import com.fongmi.android.tv.ui.adapter.EpisodeAdapter; -import com.fongmi.android.tv.ui.base.BaseEpisodeHolder; - -public class EpisodeVertHolder extends BaseEpisodeHolder { - - private final EpisodeAdapter.OnClickListener listener; - private final AdapterEpisodeVertBinding binding; - - public EpisodeVertHolder(@NonNull AdapterEpisodeVertBinding binding, EpisodeAdapter.OnClickListener listener) { - super(binding.getRoot()); - this.binding = binding; - this.listener = listener; - } - - @Override - public void initView(Episode item) { - binding.text.setSelected(item.isActivated()); - binding.text.setActivated(item.isActivated()); - binding.text.setText(item.getDesc().concat(item.getName())); - binding.text.setOnClickListener(v -> listener.onItemClick(item)); - } -} diff --git a/app/src/mobile/res/layout/adapter_episode_vert.xml b/app/src/mobile/res/layout/adapter_episode_vert.xml deleted file mode 100644 index a1bd1b10b..000000000 --- a/app/src/mobile/res/layout/adapter_episode_vert.xml +++ /dev/null @@ -1,12 +0,0 @@ - - \ No newline at end of file