- drpy搜索结果点击闪退bug修复 (by okjack)

pull/84/head
okjackcaptain 3 years ago
parent 62a3f12577
commit 3739c3b477
  1. 6
      app/src/main/java/com/github/tvbox/osc/js/JSEngine.java
  2. 8
      app/src/main/java/com/github/tvbox/osc/js/JSSpider.java
  3. 1
      app/src/main/java/com/github/tvbox/osc/ui/activity/FastSearchActivity.java
  4. 2
      app/src/main/java/com/github/tvbox/osc/ui/activity/SearchActivity.java

@ -54,6 +54,10 @@ public class JSEngine {
}
}
public ES6Module getModule() {
return module;
}
public Spider getSpider(SourceBean sourceBean) {
if (sourceBean.getExt().length() == 0) return new SpiderNull();
if (quickJS == null) init();
@ -94,7 +98,7 @@ public class JSEngine {
}
module.setModuleUrl(sourceBean.getApi());
module.executeModuleScript(moduleJsStr, moduleName);
JSSpider spider = new JSSpider(module, key);
JSSpider spider = new JSSpider(key);
String extJs = sourceBean.getExt().startsWith("http") ? sourceBean.getExt() : loadExt(sourceBean.getExt());
spider.init(App.getInstance(), extJs);
spiders.put(sourceBean.getKey(), spider);

@ -15,20 +15,18 @@ import java.util.List;
public class JSSpider extends Spider {
public String key;
private ES6Module module;
public JSSpider(ES6Module module, String key) {
this.module = module;
public JSSpider(String key) {
this.key = key;
}
public final String jsEval(String str) {
String jsStr = str.replace("__JS_SPIDER__", "globalThis." + this.key);
if (str.startsWith("__JS_SPIDER__.init")) {
module.executeVoidScript(jsStr, null);
JSEngine.getInstance().getModule().executeVoidScript(jsStr, null);
return "";
}
return module.executeStringScript(jsStr, null);
return JSEngine.getInstance().getModule().executeStringScript(jsStr, null);
}
@Override

@ -25,7 +25,6 @@ import com.github.tvbox.osc.ui.adapter.FastSearchAdapter;
import com.github.tvbox.osc.ui.adapter.SearchWordAdapter;
import com.github.tvbox.osc.util.FastClickCheckUtil;
import com.github.tvbox.osc.util.SearchHelper;
import com.github.tvbox.osc.js.JSEngine;
import com.github.tvbox.osc.viewmodel.SourceViewModel;
import com.google.gson.Gson;
import com.google.gson.JsonArray;

@ -39,7 +39,6 @@ import com.github.tvbox.osc.util.FastClickCheckUtil;
import com.github.tvbox.osc.util.HawkConfig;
import com.github.tvbox.osc.util.LOG;
import com.github.tvbox.osc.util.SearchHelper;
import com.github.tvbox.osc.js.JSEngine;
import com.github.tvbox.osc.viewmodel.SourceViewModel;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
@ -192,7 +191,6 @@ public class SearchActivity extends BaseActivity {
if (video != null) {
try {
if (searchExecutorService != null) {
JSEngine.getInstance().stopAll();
pauseRunnable = searchExecutorService.shutdownNow();
searchExecutorService = null;
}

Loading…
Cancel
Save