Fix live config bug

pull/137/head
FongMi 3 years ago
parent 80e2593e7b
commit 94ea48d422
  1. 6
      app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java
  2. 9
      app/src/main/java/com/fongmi/android/tv/bean/Config.java
  3. 2
      app/src/main/java/com/fongmi/android/tv/server/process/ActionRequestProcess.java

@ -192,8 +192,10 @@ public class ApiConfig {
}
private void initLive(JsonObject object) {
boolean load = object.has("lives") && LiveConfig.get().isSame(config.getUrl());
if (load) LiveConfig.get().clear().config(Config.find(config, 1).update()).parse(object);
boolean live = object.has("lives");
boolean same = LiveConfig.get().isSame(config.getUrl());
if (live) Config.find(config, 1).update();
if (live && same) LiveConfig.get().clear().config(Config.find(config, 1)).parse(object);
else LiveConfig.get().load();
}

@ -37,7 +37,8 @@ public class Config {
private String parse;
public static List<Config> arrayFrom(String str) {
Type listType = new TypeToken<List<Config>>() {}.getType();
Type listType = new TypeToken<List<Config>>() {
}.getType();
List<Config> items = new Gson().fromJson(str, listType);
return items == null ? Collections.emptyList() : items;
}
@ -148,6 +149,10 @@ public class Config {
return this;
}
public boolean isEmpty() {
return TextUtils.isEmpty(getUrl());
}
public String getDesc() {
if (!TextUtils.isEmpty(getName())) return getName();
if (!TextUtils.isEmpty(getUrl())) return getUrl();
@ -210,11 +215,13 @@ public class Config {
}
public Config insert() {
if (isEmpty()) return this;
setId(Math.toIntExact(AppDatabase.get().getConfigDao().insert(this)));
return this;
}
public Config update() {
if (isEmpty()) return this;
setTime(System.currentTimeMillis());
AppDatabase.get().getConfigDao().update(this);
return this;

@ -149,7 +149,7 @@ public class ActionRequestProcess implements RequestProcess {
List<Config> configs = Config.arrayFrom(params.get("configs"));
List<Keep> targets = Keep.arrayFrom(params.get("targets"));
boolean replace = Objects.equals(params.get("mode"), "1");
if (ApiConfig.getUrl() == null && configs.size() > 0) {
if (ApiConfig.getUrl().isEmpty() && configs.size() > 0) {
ApiConfig.load(Config.find(configs.get(0), 0), getCallback(configs, targets));
} else {
if (replace) Keep.deleteAll();

Loading…
Cancel
Save