pull/605/head
jhengazuji 4 months ago
parent 62e7630d35
commit bd050b8490
  1. 10
      app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java
  2. 15
      app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java
  3. 4
      app/src/main/java/com/fongmi/android/tv/bean/Live.java
  4. 1
      app/src/main/java/com/fongmi/android/tv/bean/Site.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<String, Live> 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() {

@ -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<String, Site> 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<Site> getSites() {

@ -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());

@ -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;

Loading…
Cancel
Save