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 52f7ddff4..ac2c414da 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,13 @@ 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() && !getLives().contains(Live.get(config.getHome()))) setHome(config, getLives().get(0), false); 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); } 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 05b9c5704..b3732055b 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,24 +192,19 @@ 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() && !getSites().contains(Site.get(config.getHome()))) setHome(config, getSites().get(0), false); 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); } private void initParse(Config config, JsonObject object) { setParses(Json.safeListElement(object, "parses").stream().map(Parse::objectFrom).distinct().collect(Collectors.toCollection(ArrayList::new))); - if (!getParses().isEmpty() && !getParses().contains(Parse.get(config.getParse()))) setParse(config, getParses().get(0), false); - for (Parse parse : getParses()) { - if (parse.getName().equals(config.getParse())) { - setParse(config, parse, false); - break; - } - } + 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); } public List getSites() {