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 0a8197057..4cb20aef1 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 @@ -179,7 +179,7 @@ public class LiveConfig { private void initLive(JsonObject object) { String spider = Json.safeString(object, "spider"); - BaseLoader.get().parseJar(spider); + BaseLoader.get().parseJar(spider, false); for (JsonElement element : Json.safeListElement(object, "lives")) { Live live = Live.objectFrom(element); if (lives.contains(live)) continue; 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 f5418625c..229311d4f 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 @@ -167,8 +167,7 @@ public class VodConfig { return; } String spider = Json.safeString(object, "spider"); - BaseLoader.get().parseJar(spider); - BaseLoader.get().setRecent(spider); + BaseLoader.get().parseJar(spider, true); for (JsonElement element : Json.safeListElement(object, "sites")) { Site site = Site.objectFrom(element); if (sites.contains(site)) continue; diff --git a/app/src/main/java/com/fongmi/android/tv/api/loader/BaseLoader.java b/app/src/main/java/com/fongmi/android/tv/api/loader/BaseLoader.java index 7e8836cf8..c4c8eb153 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/loader/BaseLoader.java +++ b/app/src/main/java/com/fongmi/android/tv/api/loader/BaseLoader.java @@ -1,5 +1,7 @@ package com.fongmi.android.tv.api.loader; +import android.text.TextUtils; + import com.fongmi.android.tv.api.config.LiveConfig; import com.fongmi.android.tv.api.config.VodConfig; import com.fongmi.android.tv.bean.Live; @@ -80,12 +82,10 @@ public class BaseLoader { } } - public void parseJar(String jar) { + public void parseJar(String jar, boolean recent) { + if (TextUtils.isEmpty(jar)) return; jarLoader.parseJar(Util.md5(jar), jar); - } - - public void setRecent(String jar) { - jarLoader.setRecent(Util.md5(jar)); + if (recent) jarLoader.setRecent(Util.md5(jar)); } public DexClassLoader dex(String jar) { diff --git a/app/src/main/java/com/fongmi/android/tv/api/loader/JarLoader.java b/app/src/main/java/com/fongmi/android/tv/api/loader/JarLoader.java index 0bd9c4101..8cbef7f44 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/loader/JarLoader.java +++ b/app/src/main/java/com/fongmi/android/tv/api/loader/JarLoader.java @@ -142,7 +142,7 @@ public class JarLoader { public Object[] proxyInvoke(Map params) { try { - Method method = methods.get(Util.md5(recent)); + Method method = methods.get(recent); if (method == null) return null; return (Object[]) method.invoke(null, params); } catch (Throwable e) {