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

Loading…
Cancel
Save