From 6a2d8f4f3528afe7d4f9628632531758a3e92672 Mon Sep 17 00:00:00 2001 From: jhengazuki Date: Sat, 20 Sep 2025 02:04:15 +0800 Subject: [PATCH] Add crash detect --- app/src/leanback/res/values/styles.xml | 8 +++----- .../com/fongmi/android/tv/api/loader/JarLoader.java | 12 +++++++++--- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/app/src/leanback/res/values/styles.xml b/app/src/leanback/res/values/styles.xml index 837d72c5e..cb25966a5 100644 --- a/app/src/leanback/res/values/styles.xml +++ b/app/src/leanback/res/values/styles.xml @@ -1,9 +1,9 @@ @@ -26,11 +24,11 @@ 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 490ef702a..58f72ca44 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 @@ -8,6 +8,7 @@ import com.github.catvod.crawler.Spider; import com.github.catvod.crawler.SpiderNull; import com.github.catvod.net.OkHttp; import com.github.catvod.utils.Path; +import com.github.catvod.utils.Prefers; import com.github.catvod.utils.Util; import org.json.JSONObject; @@ -113,16 +114,21 @@ public class JarLoader { } public Spider getSpider(String key, String api, String ext, String jar) { + String jaKey = Util.md5(jar); + String spKey = jaKey + key; + String crash = "crash_" + spKey; + if (Prefers.getBoolean(crash)) return new SpiderNull(); + if (spiders.containsKey(spKey)) return spiders.get(spKey); try { - String jaKey = Util.md5(jar); - String spKey = jaKey + key; - if (spiders.containsKey(spKey)) return spiders.get(spKey); + Prefers.put(crash, true); if (!loaders.containsKey(jaKey)) parseJar(jaKey, jar); Spider spider = (Spider) loaders.get(jaKey).loadClass("com.github.catvod.spider." + api.split("csp_")[1]).newInstance(); spider.init(App.get(), ext); spiders.put(spKey, spider); + Prefers.put(crash, false); return spider; } catch (Throwable e) { + Prefers.put(crash, false); e.printStackTrace(); return new SpiderNull(); }