From 6ba69703e05dfae1b80c7cb95bc5fdd1923cf263 Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 22 Dec 2025 14:31:42 +0800 Subject: [PATCH] Clean code --- .../android/tv/ui/activity/VodActivity.java | 5 +++-- .../tv/ui/presenter/TypePresenter.java | 2 +- .../com/fongmi/android/tv/bean/Class.java | 21 ++++++++----------- .../android/tv/ui/fragment/VodFragment.java | 4 ++-- 4 files changed, 15 insertions(+), 17 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java index f19ddfecb..c08efcc53 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java @@ -132,8 +132,9 @@ public class VodActivity extends BaseActivity implements TypePresenter.OnClickLi } private void updateFilter(Class item) { - if (item.getFilter() == null) return; - getFragment().toggleFilter(item.toggleFilter()); + if (!item.hasFilter()) return; + item.setFilter(!item.getFilter()); + getFragment().toggleFilter(item.getFilter()); mAdapter.notifyArrayItemRangeChanged(0, mAdapter.size()); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/TypePresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/TypePresenter.java index 036d51e3a..f3a089911 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/TypePresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/TypePresenter.java @@ -48,7 +48,7 @@ public class TypePresenter extends Presenter { } private int getIcon(Class item) { - return item.getFilter() == null ? 0 : item.getFilter() ? R.drawable.ic_vod_filter_off : R.drawable.ic_vod_filter_on; + return !item.hasFilter() ? 0 : item.getFilter() ? R.drawable.ic_vod_filter_off : R.drawable.ic_vod_filter_on; } public static class ViewHolder extends Presenter.ViewHolder { diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Class.java b/app/src/main/java/com/fongmi/android/tv/bean/Class.java index 82a248974..395b4b092 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Class.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Class.java @@ -46,7 +46,7 @@ public class Class implements Parcelable, Diffable { @SerializedName("ratio") private float ratio; - private Boolean filter; + private boolean filter; private boolean activated; public Class() { @@ -85,9 +85,7 @@ public class Class implements Parcelable, Diffable { } public void setFilters(List filters) { - if (filters == null || filters.isEmpty()) return; this.filters = filters; - this.setFilter(false); } public int getLand() { @@ -102,11 +100,11 @@ public class Class implements Parcelable, Diffable { return ratio; } - public void setFilter(Boolean filter) { + public void setFilter(boolean filter) { this.filter = filter; } - public Boolean getFilter() { + public boolean getFilter() { return filter; } @@ -118,11 +116,6 @@ public class Class implements Parcelable, Diffable { this.activated = activated; } - public boolean toggleFilter() { - setFilter(!getFilter()); - return getFilter(); - } - public boolean isHome() { return "home".equals(getTypeId()); } @@ -131,6 +124,10 @@ public class Class implements Parcelable, Diffable { return "1".equals(getTypeFlag()); } + public boolean hasFilter() { + return !getFilters().isEmpty(); + } + public void trans() { if (Trans.pass()) return; this.typeName = Trans.s2t(typeName); @@ -169,7 +166,7 @@ public class Class implements Parcelable, Diffable { dest.writeString(this.typeName); dest.writeString(this.typeFlag); dest.writeList(this.filters); - dest.writeValue(this.filter); + dest.writeByte(this.filter ? (byte) 1 : (byte) 0); dest.writeInt(this.land); dest.writeInt(this.circle); dest.writeFloat(this.ratio); @@ -182,7 +179,7 @@ public class Class implements Parcelable, Diffable { this.typeFlag = in.readString(); this.filters = new ArrayList<>(); in.readList(this.filters, Filter.class.getClassLoader()); - this.filter = (Boolean) in.readValue(Boolean.class.getClassLoader()); + this.filter = in.readByte() != 0; this.land = in.readInt(); this.circle = in.readInt(); this.ratio = in.readFloat(); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java index 0267a6a5d..2d782aee8 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java @@ -147,11 +147,11 @@ public class VodFragment extends BaseFragment implements ConfigCallback, SiteCal mBinding.top.setVisibility(View.INVISIBLE); mBinding.link.setVisibility(View.VISIBLE); mBinding.filter.setVisibility(View.GONE); - } else if (!mAdapter.get(position).getFilters().isEmpty()) { + } else if (mAdapter.get(position).hasFilter()) { mBinding.top.setVisibility(View.INVISIBLE); mBinding.link.setVisibility(View.GONE); mBinding.filter.show(); - } else if (position == 0 || mAdapter.get(position).getFilters().isEmpty()) { + } else if (position == 0 || !mAdapter.get(position).hasFilter()) { mBinding.top.setVisibility(View.INVISIBLE); mBinding.filter.setVisibility(View.GONE); mBinding.link.show();