fongmi
jhengazuki 1 month ago
parent 6cf4b89e59
commit 63a5164c8b
  1. 5
      app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java
  2. 26
      app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java

@ -309,8 +309,9 @@ public class LiveConfig {
private void setHome(Live live, boolean check) { private void setHome(Live live, boolean check) {
home = live; home = live;
home.setActivated(true); home.setActivated(true);
config.home(home.getName()).update(); config.home(home.getName());
for (Live item : getLives()) item.setActivated(home); if (!check) config.update();
getLives().forEach(item -> item.setActivated(home));
if (App.activity() != null && App.activity() instanceof LiveActivity) return; if (App.activity() != null && App.activity() instanceof LiveActivity) return;
if (check) if (home.isBoot() || Setting.isBootLive()) App.post(this::bootLive); if (check) if (home.isBoot() || Setting.isBootLive()) App.post(this::bootLive);
} }

@ -177,7 +177,7 @@ public class VodConfig {
setSites(Json.safeListElement(object, "sites").stream().map(element -> Site.objectFrom(element, spider)).distinct().toList()); setSites(Json.safeListElement(object, "sites").stream().map(element -> Site.objectFrom(element, spider)).distinct().toList());
Map<String, Site> items = Site.findAll().stream().collect(Collectors.toMap(Site::getKey, Function.identity())); Map<String, Site> items = Site.findAll().stream().collect(Collectors.toMap(Site::getKey, Function.identity()));
for (Site site : getSites()) { for (Site site : getSites()) {
if (site.getKey().equals(config.getHome())) setHome(site); if (site.getKey().equals(config.getHome())) setHome(site, false);
Site item = items.get(site.getKey()); Site item = items.get(site.getKey());
if (item != null) site.sync(item); if (item != null) site.sync(item);
} }
@ -187,7 +187,7 @@ public class VodConfig {
setParses(Json.safeListElement(object, "parses").stream().map(Parse::objectFrom).distinct().toList()); setParses(Json.safeListElement(object, "parses").stream().map(Parse::objectFrom).distinct().toList());
for (Parse parse : getParses()) { for (Parse parse : getParses()) {
if (parse.getName().equals(config.getParse()) && parse.getType() > 1) { if (parse.getName().equals(config.getParse()) && parse.getType() > 1) {
setParse(parse); setParse(parse, false);
break; break;
} }
} }
@ -195,8 +195,8 @@ public class VodConfig {
private void initOther(JsonObject object) { private void initOther(JsonObject object) {
if (!parses.isEmpty()) parses.add(0, Parse.god()); if (!parses.isEmpty()) parses.add(0, Parse.god());
if (home == null) setHome(sites.isEmpty() ? new Site() : sites.get(0)); if (home == null) setHome(sites.isEmpty() ? new Site() : sites.get(0), false);
if (parse == null) setParse(parses.isEmpty() ? new Parse() : parses.get(0)); if (parse == null) setParse(parses.isEmpty() ? new Parse() : parses.get(0), false);
setHeaders(Header.arrayFrom(object.getAsJsonArray("headers"))); setHeaders(Header.arrayFrom(object.getAsJsonArray("headers")));
setProxy(Proxy.arrayFrom(object.getAsJsonArray("proxy"))); setProxy(Proxy.arrayFrom(object.getAsJsonArray("proxy")));
setRules(Rule.arrayFrom(object.getAsJsonArray("rules"))); setRules(Rule.arrayFrom(object.getAsJsonArray("rules")));
@ -318,17 +318,27 @@ public class VodConfig {
} }
public void setParse(Parse parse) { public void setParse(Parse parse) {
setParse(parse, true);
}
public void setParse(Parse parse, boolean save) {
this.parse = parse; this.parse = parse;
this.parse.setActivated(true); this.parse.setActivated(true);
config.parse(parse.getName()).save(); config.parse(parse.getName());
for (Parse item : getParses()) item.setActivated(parse); getParses().forEach(item -> item.setActivated(parse));
if (save) config.save();
} }
public void setHome(Site site) { public void setHome(Site site) {
setHome(site, true);
}
public void setHome(Site site, boolean save) {
home = site; home = site;
home.setActivated(true); home.setActivated(true);
config.home(home.getKey()).save(); config.home(home.getKey());
for (Site item : getSites()) item.setActivated(home); getSites().forEach(item -> item.setActivated(home));
if (save) config.save();
} }
private void setWall(String wall) { private void setWall(String wall) {

Loading…
Cancel
Save