From 2afd29928182b03a021a4f1005d3be783d88458f Mon Sep 17 00:00:00 2001 From: jhengazuki Date: Thu, 6 Nov 2025 19:21:15 +0800 Subject: [PATCH] Clean code --- .../android/tv/api/loader/JsLoader.java | 5 +++- chaquo/src/main/AndroidManifest.xml | 13 +-------- .../main/java/com/fongmi/chaquo/Loader.java | 6 ++-- .../main/java/com/fongmi/chaquo/Startup.java | 28 ------------------- quickjs/src/main/AndroidManifest.xml | 13 +-------- .../main/java/com/fongmi/quickjs/Startup.java | 27 ------------------ .../com/fongmi/quickjs/crawler/Loader.java | 16 +++++++++++ .../com/fongmi/quickjs/crawler/Spider.java | 4 +-- 8 files changed, 27 insertions(+), 85 deletions(-) delete mode 100644 chaquo/src/main/java/com/fongmi/chaquo/Startup.java delete mode 100644 quickjs/src/main/java/com/fongmi/quickjs/Startup.java create mode 100644 quickjs/src/main/java/com/fongmi/quickjs/crawler/Loader.java diff --git a/app/src/main/java/com/fongmi/android/tv/api/loader/JsLoader.java b/app/src/main/java/com/fongmi/android/tv/api/loader/JsLoader.java index 3d69259c7..bc13db93c 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/loader/JsLoader.java +++ b/app/src/main/java/com/fongmi/android/tv/api/loader/JsLoader.java @@ -1,6 +1,7 @@ package com.fongmi.android.tv.api.loader; import com.fongmi.android.tv.App; +import com.fongmi.quickjs.crawler.Loader; import com.github.catvod.crawler.Spider; import com.github.catvod.crawler.SpiderNull; @@ -11,9 +12,11 @@ public class JsLoader { private final ConcurrentHashMap spiders; private String recent; + private Loader loader; public JsLoader() { spiders = new ConcurrentHashMap<>(); + loader = new Loader(); } public void clear() { @@ -28,7 +31,7 @@ public class JsLoader { public Spider getSpider(String key, String api, String ext, String jar) { try { if (spiders.containsKey(key)) return spiders.get(key); - Spider spider = new com.fongmi.quickjs.crawler.Spider(key, api, BaseLoader.get().dex(jar)); + Spider spider = loader.spider(key, api, BaseLoader.get().dex(jar)); spider.init(App.get(), ext); spiders.put(key, spider); return spider; diff --git a/chaquo/src/main/AndroidManifest.xml b/chaquo/src/main/AndroidManifest.xml index 7cdc2a9b4..568741e54 100644 --- a/chaquo/src/main/AndroidManifest.xml +++ b/chaquo/src/main/AndroidManifest.xml @@ -1,13 +1,2 @@ - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/chaquo/src/main/java/com/fongmi/chaquo/Loader.java b/chaquo/src/main/java/com/fongmi/chaquo/Loader.java index 2c83318c8..69167c718 100644 --- a/chaquo/src/main/java/com/fongmi/chaquo/Loader.java +++ b/chaquo/src/main/java/com/fongmi/chaquo/Loader.java @@ -1,9 +1,9 @@ package com.fongmi.chaquo; -import androidx.annotation.Keep; - import com.chaquo.python.PyObject; import com.chaquo.python.Python; +import com.chaquo.python.android.AndroidPlatform; +import com.github.catvod.Init; import com.github.catvod.utils.Path; public class Loader { @@ -11,10 +11,10 @@ public class Loader { private final PyObject app; public Loader() { + if (!Python.isStarted()) Python.start(new AndroidPlatform(Init.context())); app = Python.getInstance().getModule("app"); } - @Keep public Spider spider(String api) { PyObject obj = app.callAttr("spider", Path.py().getAbsolutePath(), api); return new Spider(app, obj, api); diff --git a/chaquo/src/main/java/com/fongmi/chaquo/Startup.java b/chaquo/src/main/java/com/fongmi/chaquo/Startup.java deleted file mode 100644 index 9fd6907ab..000000000 --- a/chaquo/src/main/java/com/fongmi/chaquo/Startup.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.fongmi.chaquo; - -import android.content.Context; - -import androidx.annotation.NonNull; -import androidx.startup.Initializer; - -import com.chaquo.python.Python; -import com.chaquo.python.android.AndroidPlatform; - -import java.util.Collections; -import java.util.List; - -public class Startup implements Initializer { - - @NonNull - @Override - public Void create(@NonNull Context context) { - Python.start(new AndroidPlatform(context)); - return null; - } - - @NonNull - @Override - public List>> dependencies() { - return Collections.emptyList(); - } -} diff --git a/quickjs/src/main/AndroidManifest.xml b/quickjs/src/main/AndroidManifest.xml index b20a76a01..568741e54 100644 --- a/quickjs/src/main/AndroidManifest.xml +++ b/quickjs/src/main/AndroidManifest.xml @@ -1,13 +1,2 @@ - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/quickjs/src/main/java/com/fongmi/quickjs/Startup.java b/quickjs/src/main/java/com/fongmi/quickjs/Startup.java deleted file mode 100644 index 84f374b4c..000000000 --- a/quickjs/src/main/java/com/fongmi/quickjs/Startup.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.fongmi.quickjs; - -import android.content.Context; - -import androidx.annotation.NonNull; -import androidx.startup.Initializer; - -import com.whl.quickjs.android.QuickJSLoader; - -import java.util.Collections; -import java.util.List; - -public class Startup implements Initializer { - - @NonNull - @Override - public Void create(@NonNull Context context) { - QuickJSLoader.init(); - return null; - } - - @NonNull - @Override - public List>> dependencies() { - return Collections.emptyList(); - } -} diff --git a/quickjs/src/main/java/com/fongmi/quickjs/crawler/Loader.java b/quickjs/src/main/java/com/fongmi/quickjs/crawler/Loader.java new file mode 100644 index 000000000..78f15cbe0 --- /dev/null +++ b/quickjs/src/main/java/com/fongmi/quickjs/crawler/Loader.java @@ -0,0 +1,16 @@ +package com.fongmi.quickjs.crawler; + +import com.whl.quickjs.android.QuickJSLoader; + +import dalvik.system.DexClassLoader; + +public class Loader { + + public Loader() { + QuickJSLoader.init(); + } + + public Spider spider(String key, String api, DexClassLoader dex) { + return new Spider(key, api, dex); + } +} diff --git a/quickjs/src/main/java/com/fongmi/quickjs/crawler/Spider.java b/quickjs/src/main/java/com/fongmi/quickjs/crawler/Spider.java index 4e06ecde6..c07784825 100644 --- a/quickjs/src/main/java/com/fongmi/quickjs/crawler/Spider.java +++ b/quickjs/src/main/java/com/fongmi/quickjs/crawler/Spider.java @@ -42,12 +42,11 @@ public class Spider extends com.github.catvod.crawler.Spider { private final String api; private boolean cat; - public Spider(String key, String api, DexClassLoader dex) throws Exception { + public Spider(String key, String api, DexClassLoader dex) { this.executor = Executors.newSingleThreadExecutor(); this.key = key; this.api = api; this.dex = dex; - initializeJS(); } private Future submit(Callable callable) { @@ -60,6 +59,7 @@ public class Spider extends com.github.catvod.crawler.Spider { @Override public void init(Context context, String extend) throws Exception { + initializeJS(); if (cat) call("init", submit(() -> cfg(extend)).get()); else call("init", Json.isObj(extend) ? ctx.parse(extend) : extend); }