From 4a888215cd4d15d3ce51a56618adcbb977bbc9b8 Mon Sep 17 00:00:00 2001 From: FongMi Date: Wed, 17 Aug 2022 01:18:24 +0800 Subject: [PATCH] Clean code --- .../android/tv/ui/activity/HomeActivity.java | 2 +- .../android/tv/ui/activity/SearchActivity.java | 2 +- .../android/tv/ui/activity/SettingActivity.java | 6 +++--- .../android/tv/ui/fragment/VodFragment.java | 4 ++-- .../android/tv/ui/presenter/SitePresenter.java | 2 +- app/src/leanback/res/layout/adapter_parse.xml | 14 ++++++++++++++ .../java/com/fongmi/android/tv/api/ApiConfig.java | 3 ++- .../java/com/fongmi/android/tv/bean/Parse.java | 10 ++++++++++ .../java/com/fongmi/android/tv/bean/Site.java | 15 ++++++++------- 9 files changed, 42 insertions(+), 16 deletions(-) create mode 100644 app/src/leanback/res/layout/adapter_parse.xml diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java index 43dcf1846..8683a2fef 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java @@ -133,7 +133,7 @@ public class HomeActivity extends BaseActivity implements VodPresenter.OnClickLi List rows = new ArrayList<>(); for (List items : Lists.partition(result.getList(), 5)) { ArrayObjectAdapter adapter = new ArrayObjectAdapter(new VodPresenter(this)); - adapter.addAll(0, items); + adapter.setItems(items, null); rows.add(new ListRow(adapter)); } mAdapter.addAll(mAdapter.size(), rows); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java index ff0362bd8..1d1b6e244 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java @@ -178,7 +178,7 @@ public class SearchActivity extends BaseActivity implements VodPresenter.OnClick private void addVideo(Result result) { ArrayObjectAdapter adapter = new ArrayObjectAdapter(new VodPresenter(this)); - adapter.addAll(0, result.getList()); + adapter.setItems(result.getList(), null); mAdapter.add(result.getList().get(0).getSite().getName()); mAdapter.add(new ListRow(adapter)); mBinding.progressLayout.showContent(); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java index e9b407f66..5ddb2a3db 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java @@ -116,10 +116,10 @@ public class SettingActivity extends BaseActivity implements ConfigDialog.Callba } public void setSite(ArrayObjectAdapter adapter, Site item) { - ApiConfig.get().setHome(item); - mBinding.home.setText(item.getName()); - for (int i = 0; i < adapter.size(); i++) ((Site) adapter.get(i)).setHome(item); + for (int i = 0; i < adapter.size(); i++) ((Site) adapter.get(i)).setActivated(item); adapter.notifyArrayItemRangeChanged(0, adapter.size()); + mBinding.home.setText(item.getName()); + ApiConfig.get().setHome(item); RefreshEvent.video(); Notify.dismiss(); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java index 3acfd9e07..2cc4b6957 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java @@ -134,7 +134,7 @@ public class VodFragment extends Fragment implements CustomScroller.Callback, Vo List rows = new ArrayList<>(); for (List part : Lists.partition(items, 5)) { mLast = new ArrayObjectAdapter(new VodPresenter(this)); - mLast.addAll(0, part); + mLast.setItems(part, null); rows.add(new ListRow(mLast)); } mAdapter.addAll(mAdapter.size(), rows); @@ -146,7 +146,7 @@ public class VodFragment extends Fragment implements CustomScroller.Callback, Vo FilterPresenter presenter = new FilterPresenter(filter.getKey()); ArrayObjectAdapter adapter = new ArrayObjectAdapter(presenter); presenter.setOnClickListener((key, item) -> setClick(adapter, key, item)); - adapter.addAll(0, filter.getValue()); + adapter.setItems(filter.getValue(), null); rows.add(new ListRow(adapter)); } mAdapter.addAll(0, rows); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/SitePresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/SitePresenter.java index c2fc2bb78..ba1bc8227 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/SitePresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/SitePresenter.java @@ -31,7 +31,7 @@ public class SitePresenter extends Presenter { Site item = (Site) object; ViewHolder holder = (ViewHolder) viewHolder; setOnClickListener(holder, view -> mListener.onItemClick(item)); - holder.binding.text.setText((item.isHome() ? "√ " : "").concat(item.getName())); + holder.binding.text.setText((item.isActivated() ? "√ " : "").concat(item.getName())); } @Override diff --git a/app/src/leanback/res/layout/adapter_parse.xml b/app/src/leanback/res/layout/adapter_parse.xml new file mode 100644 index 000000000..cec5335d9 --- /dev/null +++ b/app/src/leanback/res/layout/adapter_parse.xml @@ -0,0 +1,14 @@ + + \ No newline at end of file diff --git a/app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java b/app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java index 9db8cea83..9a0cb8d84 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java @@ -203,7 +203,7 @@ public class ApiConfig { public void setHome(Site home) { this.home = home; - this.home.setHome(true); + this.home.setActivated(true); Prefers.putHome(home.getKey()); } @@ -213,6 +213,7 @@ public class ApiConfig { public void setParse(Parse parse) { this.parse = parse; + this.parse.setActivated(true); Prefers.putParse(parse.getName()); } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Parse.java b/app/src/main/java/com/fongmi/android/tv/bean/Parse.java index fae5aa8ab..6105b06d8 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Parse.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Parse.java @@ -22,6 +22,8 @@ public class Parse { @SerializedName("ext") private Ext ext; + private boolean activated; + public static Parse objectFrom(JsonElement element) { return new Gson().fromJson(element, Parse.class); } @@ -67,6 +69,14 @@ public class Parse { return ext == null ? new Ext() : ext; } + public boolean isActivated() { + return activated; + } + + public void setActivated(boolean activated) { + this.activated = activated; + } + public boolean hasHeader() { return getExt().getHeader() != null; } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Site.java b/app/src/main/java/com/fongmi/android/tv/bean/Site.java index e46a94880..b3d05194c 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Site.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Site.java @@ -32,7 +32,7 @@ public class Site { @SerializedName("categories") private List categories; - private boolean home; + private boolean activated; public static Site objectFrom(JsonElement element) { return new Gson().fromJson(element, Site.class); @@ -92,16 +92,17 @@ public class Site { return categories == null ? Collections.emptyList() : categories; } - public boolean isHome() { - return home; + + public boolean isActivated() { + return activated; } - public void setHome(boolean home) { - this.home = home; + public void setActivated(boolean activated) { + this.activated = activated; } - public void setHome(Site item) { - this.home = item.equals(this); + public void setActivated(Site item) { + this.activated = item.equals(this); } @Override