Remove cache

fongmi
jhengazuki 1 month ago
parent 526b3daf25
commit f9162cd143
  1. 30
      app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java

@ -116,39 +116,24 @@ public class VodConfig {
} }
private void loadConfig(Callback callback) { private void loadConfig(Callback callback) {
loadConfig(callback, loadCache(callback));
}
private void loadConfig(Callback callback, boolean silent) {
try { try {
String json = Decoder.getJson(UrlUtil.convert(config.getUrl())); String json = Decoder.getJson(UrlUtil.convert(config.getUrl()));
JsonObject object = Json.parse(json).getAsJsonObject(); JsonObject object = Json.parse(json).getAsJsonObject();
checkJson(object, callback, silent); checkJson(object, callback);
} catch (Throwable e) {
String error = TextUtils.isEmpty(config.getUrl()) ? "" : Notify.getError(R.string.error_config_get, e);
if (!silent) App.post(() -> callback.error(error));
e.printStackTrace();
}
}
private boolean loadCache(Callback callback) {
try {
if (TextUtils.isEmpty(config.getJson())) return false;
parseConfig(Json.parse(config.getJson()).getAsJsonObject(), callback, false);
return true;
} catch (Throwable e) { } catch (Throwable e) {
if (TextUtils.isEmpty(config.getUrl())) App.post(() -> callback.error(""));
else App.post(() -> callback.error(Notify.getError(R.string.error_config_get, e)));
e.printStackTrace(); e.printStackTrace();
return false;
} }
} }
private void checkJson(JsonObject object, Callback callback, boolean silent) { private void checkJson(JsonObject object, Callback callback) {
if (object.has("msg")) { if (object.has("msg")) {
App.post(() -> callback.error(object.get("msg").getAsString())); App.post(() -> callback.error(object.get("msg").getAsString()));
} else if (object.has("urls")) { } else if (object.has("urls")) {
parseDepot(object, callback); parseDepot(object, callback);
} else { } else {
parseConfig(object, callback, silent); parseConfig(object, callback);
} }
} }
@ -161,7 +146,7 @@ public class VodConfig {
loadConfig(callback); loadConfig(callback);
} }
private void parseConfig(JsonObject object, Callback callback, boolean silent) { private void parseConfig(JsonObject object, Callback callback) {
try { try {
initSite(object); initSite(object);
initParse(object); initParse(object);
@ -170,12 +155,11 @@ public class VodConfig {
String notice = Json.safeString(object, "notice"); String notice = Json.safeString(object, "notice");
config.logo(Json.safeString(object, "logo")); config.logo(Json.safeString(object, "logo"));
config.json(object.toString()).update(); config.json(object.toString()).update();
if (silent || future.isCancelled()) return; if (future.isCancelled()) return;
App.post(() -> callback.success(notice)); App.post(() -> callback.success(notice));
App.post(callback::success); App.post(callback::success);
} catch (Throwable e) { } catch (Throwable e) {
e.printStackTrace(); e.printStackTrace();
if (silent) return;
App.post(() -> callback.error(Notify.getError(R.string.error_config_parse, e))); App.post(() -> callback.error(Notify.getError(R.string.error_config_parse, e)));
} }
} }

Loading…
Cancel
Save