From 9613bf83dc56add3cd7fad31ed2bfc36d22cba7a Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 31 Oct 2022 11:31:05 +0800 Subject: [PATCH] Fix crash bug --- .../fongmi/android/tv/ui/activity/LiveActivity.java | 10 +++++++--- .../android/tv/ui/custom/CustomLiveListView.java | 4 ++-- 2 files changed, 9 insertions(+), 5 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 1269971ff..a1ecd1369 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 @@ -141,7 +141,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick List items = new ArrayList<>(); items.add(Group.create(ResUtil.getString(R.string.keep))); for (Group group : LiveConfig.get().getHome().getGroups()) (group.isHidden() ? mHides : items).add(group); - //items.add(Group.create(ResUtil.getString(R.string.live_setting))); + items.add(Group.create(ResUtil.getString(R.string.live_setting))); mGroupAdapter.setItems(items, null); LiveConfig.get().setKeep(items); setPosition(LiveConfig.get().getKeep(items)); @@ -272,23 +272,27 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick } @Override - public void nextGroup() { + public boolean nextGroup() { int position = mBinding.group.getSelectedPosition() + 1; if (position > mGroupAdapter.size() - 1) position = 0; mGroup = (Group) mGroupAdapter.get(position); mBinding.group.setSelectedPosition(position); + if (mGroup.getChannel().isEmpty()) return nextGroup(); mChannelAdapter.setItems(mGroup.getChannel(), null); mGroup.setPosition(0); + return true; } @Override - public void prevGroup() { + public boolean prevGroup() { int position = mBinding.group.getSelectedPosition() - 1; if (position < 0) position = mGroupAdapter.size() - 1; mGroup = (Group) mGroupAdapter.get(position); mBinding.group.setSelectedPosition(position); + if (mGroup.getChannel().isEmpty()) return prevGroup(); mChannelAdapter.setItems(mGroup.getChannel(), null); mGroup.setPosition(mGroup.getChannel().size() - 1); + return true; } @Override diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLiveListView.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLiveListView.java index d231b4c9d..a6f1b98df 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLiveListView.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomLiveListView.java @@ -60,8 +60,8 @@ public class CustomLiveListView extends VerticalGridView { void setUITimer(); - void nextGroup(); + boolean nextGroup(); - void prevGroup(); + boolean prevGroup(); } }