diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java index 2f5f53be3..03e682fd7 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java @@ -129,10 +129,10 @@ public class LiveConfig { try { OkHttp.cancel(TAG); Server.get().start(); - String text = Decoder.getJson(UrlUtil.convert(config.getUrl()), TAG); - if (Json.isObj(text)) checkJson(id, config, callback, Json.parse(text).getAsJsonObject()); - else parseText(id, config, callback, text); - if (taskId.get() == id) config.update(); + String json = Decoder.getJson(UrlUtil.convert(config.getUrl()), TAG); + if (Json.isObj(json)) checkJson(id, config, callback, Json.parse(json).getAsJsonObject()); + else parseText(id, config, callback, json); + if (taskId.get() == id && config.equals(this.config)) config.update(); } catch (Throwable e) { e.printStackTrace(); if (isCanceled(e)) return; diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java index d7a8c7c5f..30b4d92eb 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java @@ -116,7 +116,7 @@ public class VodConfig { Server.get().start(); String json = Decoder.getJson(UrlUtil.convert(config.getUrl()), TAG); checkJson(id, config, callback, Json.parse(json).getAsJsonObject()); - if (taskId.get() == id) config.update(); + if (taskId.get() == id && config.equals(this.config)) config.update(); } catch (Throwable e) { e.printStackTrace(); if (isCanceled(e)) return; diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/WallConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/WallConfig.java index 3ed4a9c4e..a81065f3b 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/WallConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/WallConfig.java @@ -87,7 +87,7 @@ public class WallConfig { try { OkHttp.cancel(TAG); download(id, config.getUrl(), callback); - if (taskId.get() == id) config.update(); + if (taskId.get() == id && config.equals(this.config)) config.update(); } catch (Throwable e) { e.printStackTrace(); if (isCanceled(e)) return;