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 376268959..5d2cdb310 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 @@ -174,9 +174,9 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick items.add(Group.create(ResUtil.getString(R.string.keep))); for (Group group : home.getGroups()) (group.isHidden() ? mHides : items).add(group); mGroupAdapter.setItems(items, null); + setPosition(LiveConfig.get().find(items)); mControl.home.setText(home.getName()); - LiveConfig.get().setKeep(items); - setPosition(LiveConfig.get().getKeep(items)); + Notify.dismiss(); } private void setPosition(int[] position) { @@ -464,6 +464,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick public void setLive(Live item) { getPlayerView().hideController(); LiveConfig.get().setHome(item); + Notify.progress(this); mHides.clear(); getLive(); } diff --git a/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java b/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java index 15bfea12f..0028aebf0 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java @@ -108,11 +108,7 @@ public class LiveConfig { if (!lives.contains(live)) lives.add(live); } - public void setKeep(Group group, Channel channel) { - if (!group.isHidden()) Prefers.putKeep(home.getName() + AppDatabase.SYMBOL + group.getName() + AppDatabase.SYMBOL + channel.getName()); - } - - public void setKeep(List items) { + private void setKeep(List items) { List key = new ArrayList<>(); for (Keep keep : Keep.getLive()) key.add(keep.getKey()); for (Group group : items) { @@ -125,7 +121,7 @@ public class LiveConfig { } } - public int[] getKeep(List items) { + private int[] getKeep(List items) { String[] splits = Prefers.getKeep().split(AppDatabase.SYMBOL); if (!home.getName().equals(splits[0])) return new int[]{1, 0}; for (int i = 0; i < items.size(); i++) { @@ -138,6 +134,15 @@ public class LiveConfig { return new int[]{1, 0}; } + public void setKeep(Group group, Channel channel) { + if (!group.isHidden()) Prefers.putKeep(home.getName() + AppDatabase.SYMBOL + group.getName() + AppDatabase.SYMBOL + channel.getName()); + } + + 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));