From bd050b849060daaa1b559d6a3cd720aee6e2ba32 Mon Sep 17 00:00:00 2001 From: jhengazuji Date: Sat, 15 Nov 2025 20:41:18 +0800 Subject: [PATCH] Clean code --- .../fongmi/android/tv/api/config/LiveConfig.java | 10 ++++------ .../fongmi/android/tv/api/config/VodConfig.java | 15 +++++++-------- .../java/com/fongmi/android/tv/bean/Live.java | 4 ++-- .../java/com/fongmi/android/tv/bean/Site.java | 1 + 4 files changed, 14 insertions(+), 16 deletions(-) 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 ac2c414da..2f377c420 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 @@ -200,13 +200,11 @@ public class LiveConfig { String spider = Json.safeString(object, "spider"); BaseLoader.get().parseJar(spider, false); setLives(Json.safeListElement(object, "lives").stream().map(element -> Live.objectFrom(element, spider)).distinct().collect(Collectors.toCollection(ArrayList::new))); + if (getLives().isEmpty()) return; Map items = Live.findAll().stream().collect(Collectors.toMap(Live::getName, Function.identity())); - for (Live live : getLives()) { - Live item = items.get(live.getName()); - if (item != null) live.sync(item); - if (live.getName().equals(config.getHome())) setHome(config, live, false); - } - if (home == null && !getLives().isEmpty()) setHome(config, getLives().get(0), false); + for (Live live : getLives()) live.sync(items.get(live.getName())); + int index = getLives().indexOf(Live.get(config.getHome())); + setHome(config, index != -1 ? getLives().get(index) : getLives().get(0), false); } private void bootLive() { diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java index b3732055b..14cd49329 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java @@ -192,19 +192,18 @@ public class VodConfig { String spider = Json.safeString(object, "spider"); BaseLoader.get().parseJar(spider, true); setSites(Json.safeListElement(object, "sites").stream().map(element -> Site.objectFrom(element, spider)).distinct().collect(Collectors.toCollection(ArrayList::new))); + if (getSites().isEmpty()) return; Map items = Site.findAll().stream().collect(Collectors.toMap(Site::getKey, Function.identity())); - for (Site site : getSites()) { - Site item = items.get(site.getKey()); - if (item != null) site.sync(item); - if (site.getKey().equals(config.getHome())) setHome(config, site, false); - } - if (home == null && !getSites().isEmpty()) setHome(config, getSites().get(0), false); + for (Site site : getSites()) site.sync(items.get(site.getKey())); + int index = getSites().indexOf(Site.get(config.getHome())); + setHome(config, index != -1 ? getSites().get(index) : getSites().get(0), false); } private void initParse(Config config, JsonObject object) { setParses(Json.safeListElement(object, "parses").stream().map(Parse::objectFrom).distinct().collect(Collectors.toCollection(ArrayList::new))); - for (Parse parse : getParses()) if (parse.getName().equals(config.getParse())) setParse(config, parse, false); - if (parse == null && !getParses().isEmpty()) setParse(config, getParses().get(0), false); + if (getParses().isEmpty()) return; + int index = getParses().indexOf(Parse.get(config.getParse())); + setParse(config, index != -1 ? getParses().get(index) : getParses().get(0), false); } public List getSites() { 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 23b650eb1..72c3649e6 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 @@ -330,12 +330,12 @@ public class Live { } public Live sync() { - Live item = find(getName()); - if (item != null) sync(item); + sync(find(getName())); return this; } public Live sync(Live item) { + if (item == null) return this; setBoot(item.isBoot()); setPass(item.isPass()); setKeep(item.getKeep()); diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Site.java b/app/src/main/java/com/fongmi/android/tv/bean/Site.java index 5a83694ad..fa22762b8 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Site.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Site.java @@ -301,6 +301,7 @@ public class Site implements Parcelable { } public Site sync(Site item) { + if (item == null) return this; if (getChangeable() != 0) setChangeable(Math.max(1, item.getChangeable())); if (getSearchable() != 0) setSearchable(Math.max(1, item.getSearchable())); return this;