From 7f7ea43fc84c4fe51ace658f7b9092809d15bbb3 Mon Sep 17 00:00:00 2001 From: FongMi Date: Sat, 14 Jan 2023 19:22:49 +0800 Subject: [PATCH] Fix crash --- .../java/com/fongmi/android/tv/bean/Channel.java | 12 ++++++++---- .../com/fongmi/android/tv/model/LiveViewModel.java | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) 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 8664da069..72710ca34 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 @@ -171,14 +171,18 @@ public class Channel { setLine(getLine() > 0 ? getLine() - 1 : getUrls().size() - 1); } + public String getCurrent() { + return getUrls().get(getLine()); + } + public boolean isOnly() { return getUrls().size() == 1; } public String getLineText() { - String current = getUrls().get(getLine()); - if (current.contains("$")) return current.split("\\$")[1]; - return isOnly() ? "" : ResUtil.getString(R.string.live_line, getLine() + 1); + if (getUrls().size() <= 1) return ""; + if (getCurrent().contains("$")) return getCurrent().split("\\$")[1]; + return ResUtil.getString(R.string.live_line, getLine() + 1); } public Channel setNumber(int number) { @@ -198,7 +202,7 @@ public class Channel { } public String getScheme() { - return Uri.parse(getUrls().get(getLine())).getScheme().toLowerCase(); + return Uri.parse(getCurrent()).getScheme().toLowerCase(); } public boolean isForce() { diff --git a/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java b/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java index fe0638e9f..dea10c794 100644 --- a/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java +++ b/app/src/main/java/com/fongmi/android/tv/model/LiveViewModel.java @@ -34,7 +34,7 @@ public class LiveViewModel extends ViewModel { public void getUrl(Channel item) { execute(() -> { TVBus.get().stop(); - String url = item.getUrls().get(item.getLine()).split("\\$")[0]; + String url = item.getCurrent().split("\\$")[0]; if (item.isForce()) item.setUrl(Force.get().fetch(url)); else if (item.isZLive()) item.setUrl(ZLive.get().fetch(url)); else if (item.isTVBus()) item.setUrl(TVBus.get().fetch(url));