From 8627ba6efc194bd171cf247eea30151755036bd8 Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 20 Jun 2024 17:07:20 +0800 Subject: [PATCH] Clean code --- .../android/tv/ui/activity/LiveActivity.java | 5 +++-- .../android/tv/api/config/LiveConfig.java | 19 +++++++------------ .../com/fongmi/android/tv/bean/Channel.java | 1 + .../android/tv/ui/activity/LiveActivity.java | 5 +++-- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index b912579b8..0c8a02d6f 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -254,6 +254,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick List items = new ArrayList<>(); items.add(Group.create(R.string.keep)); for (Group group : live.getGroups()) (group.isHidden() ? mHides : items).add(group); + LiveConfig.get().setKeep(items); mGroupAdapter.setItems(items, null); setPosition(LiveConfig.get().find(items)); } @@ -284,8 +285,8 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick private void setPosition(int[] position) { if (position[0] == -1) return; - if (mGroupAdapter.size() == 1) return; - if (position[0] >= mGroupAdapter.size()) return; + int size = mGroupAdapter.size(); + if (size == 1 || position[0] >= size) return; mGroup = (Group) mGroupAdapter.get(position[0]); mBinding.group.setSelectedPosition(position[0]); mGroup.setPosition(position[1]); diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java index 20079dfe7..48a7f4f1e 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java @@ -164,7 +164,12 @@ public class LiveConfig { parseConfig(object, null); } - private void setKeep(List items) { + public void setKeep(Channel channel) { + if (home == null || channel.getGroup().isHidden() || channel.getUrls().isEmpty()) return; + Setting.putKeep(home.getName() + AppDatabase.SYMBOL + channel.getGroup().getName() + AppDatabase.SYMBOL + channel.getName() + AppDatabase.SYMBOL + channel.getCurrent()); + } + + public void setKeep(List items) { List key = new ArrayList<>(); for (Keep keep : Keep.getLive()) key.add(keep.getKey()); for (Group group : items) { @@ -177,7 +182,7 @@ public class LiveConfig { } } - private int[] getKeep(List items) { + public int[] find(List items) { String[] splits = Setting.getKeep().split(AppDatabase.SYMBOL); if (splits.length < 4 || !getHome().getName().equals(splits[0])) return new int[]{1, 0}; for (int i = 0; i < items.size(); i++) { @@ -191,16 +196,6 @@ public class LiveConfig { return new int[]{1, 0}; } - public void setKeep(Channel channel) { - if (home == null || channel.getGroup().isHidden() || channel.getUrls().isEmpty()) return; - Setting.putKeep(home.getName() + AppDatabase.SYMBOL + channel.getGroup().getName() + AppDatabase.SYMBOL + channel.getName() + AppDatabase.SYMBOL + channel.getCurrent()); - } - - public int[] find(List items) { - setKeep(items); - return getKeep(items); - } - public int[] find(String number, List items) { for (int i = 0; i < items.size(); i++) { int j = items.get(i).find(Integer.parseInt(number)); diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Channel.java b/app/src/main/java/com/fongmi/android/tv/bean/Channel.java index 156d038fa..ef641e885 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Channel.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Channel.java @@ -354,6 +354,7 @@ public class Channel { setLogo(item.getLogo()); setName(item.getName()); setUrls(item.getUrls()); + setData(item.getData()); setDrm(item.getDrm()); setEpg(item.getEpg()); setUa(item.getUa()); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index e44a9aec5..e6ad13e06 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -278,6 +278,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List items.add(Group.create(R.string.keep)); for (Group group : live.getGroups()) (group.isHidden() ? mHides : items).add(group); mGroupAdapter.addAll(items); + LiveConfig.get().setKeep(items); setPosition(LiveConfig.get().find(items)); } @@ -307,8 +308,8 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List private void setPosition(int[] position) { if (position[0] == -1) return; - if (mGroupAdapter.getItemCount() == 1) return; - if (position[0] >= mGroupAdapter.getItemCount()) return; + int size = mGroupAdapter.getItemCount(); + if (size == 1 || position[0] >= size) return; mGroup = mGroupAdapter.get(position[0]); mGroup.setPosition(position[1]); onItemClick(mGroup);