From ea3c69c6a67d4ed22d265344e1f83f312699026b Mon Sep 17 00:00:00 2001 From: FongMi Date: Sat, 12 Nov 2022 18:42:33 +0800 Subject: [PATCH] Fix bug --- .../main/java/com/fongmi/android/tv/api/LiveConfig.java | 3 +-- app/src/main/java/com/fongmi/android/tv/bean/Live.java | 7 +++++-- 2 files changed, 6 insertions(+), 4 deletions(-) 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 d1fa907e7..350c57fa9 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 @@ -101,12 +101,11 @@ public class LiveConfig { public void parse(JsonObject object) { if (!object.has("lives")) return; - for (JsonElement element : Json.safeListElement(object, "lives")) parse(Live.objectFrom(element)); + for (JsonElement element : Json.safeListElement(object, "lives")) parse(Live.objectFrom(element).check()); if (home == null) setHome(lives.isEmpty() ? new Live() : lives.get(0)); } private void parse(Live live) { - if (live.isProxy()) live = new Live(live.getChannels().get(0).getName(), live.getChannels().get(0).getUrls().get(0).split("ext=")[1]); if (live.getName().equals(config.getHome())) setHome(live); if (!lives.contains(live)) lives.add(live); } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Live.java b/app/src/main/java/com/fongmi/android/tv/bean/Live.java index 7948c15f5..5fd996adb 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Live.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Live.java @@ -103,8 +103,11 @@ public class Live { return (isActivated() ? "√ " : "").concat(getName()); } - public boolean isProxy() { - return getGroup().equals("redirect") && getChannels().size() > 0 && getChannels().get(0).getUrls().size() > 0 && getChannels().get(0).getUrls().get(0).startsWith("proxy"); + public Live check() { + boolean proxy = getGroup().equals("redirect") && getChannels().size() > 0 && getChannels().get(0).getUrls().size() > 0 && getChannels().get(0).getUrls().get(0).startsWith("proxy"); + if (proxy) this.url = getChannels().get(0).getUrls().get(0).split("ext=")[1]; + if (proxy) this.name = getChannels().get(0).getName(); + return this; } public Group find(Group item) {