diff --git a/app/src/main/java/com/github/catvod/spider/YiSo.java b/app/src/main/java/com/github/catvod/spider/YiSo.java index 09a8557c..ea6ca286 100644 --- a/app/src/main/java/com/github/catvod/spider/YiSo.java +++ b/app/src/main/java/com/github/catvod/spider/YiSo.java @@ -1,6 +1,7 @@ package com.github.catvod.spider; import android.content.Context; +import android.os.Build; import android.os.SystemClock; import android.webkit.WebView; import android.webkit.WebViewClient; @@ -38,10 +39,11 @@ public class YiSo extends Spider { @Override public String searchContent(String key, boolean quick) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) return ""; String url = "https://yiso.fun/api/search?name=" + URLEncoder.encode(key) + "&from=ali"; Map result = new HashMap<>(); Misc.loadWebView(url, getWebViewClient(result)); - while (!result.containsKey("json")) SystemClock.sleep(250); + while (!result.containsKey("json")) SystemClock.sleep(50); String json = JsonParser.parseString(Objects.requireNonNull(result.get("json"))).getAsJsonPrimitive().getAsString(); return Result.string(Item.objectFrom(json).getData().getList()); } @@ -50,6 +52,7 @@ public class YiSo extends Spider { return new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) return; view.evaluateJavascript("document.getElementsByTagName('pre')[0].textContent", value -> { if (!value.equals("null")) result.put("json", value); }); diff --git a/app/src/main/java/com/github/catvod/utils/Misc.java b/app/src/main/java/com/github/catvod/utils/Misc.java index 98845566..9af5ffe0 100644 --- a/app/src/main/java/com/github/catvod/utils/Misc.java +++ b/app/src/main/java/com/github/catvod/utils/Misc.java @@ -1,10 +1,12 @@ package com.github.catvod.utils; import android.net.Uri; +import android.os.Build; import android.util.DisplayMetrics; import android.util.TypedValue; import android.view.View; import android.view.ViewGroup; +import android.webkit.ValueCallback; import android.webkit.WebView; import android.webkit.WebViewClient; @@ -151,6 +153,15 @@ public class Misc { return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, getDisplayMetrics()); } + public static void loadUrl(WebView webView, String script) { + loadUrl(webView, script, null); + } + + public static void loadUrl(WebView webView, String script, ValueCallback callback) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) webView.evaluateJavascript(script, callback); + else webView.loadUrl(script); + } + public static void addView(View view, ViewGroup.LayoutParams params) { ViewGroup group = Init.getActivity().getWindow().getDecorView().findViewById(android.R.id.content); group.addView(view, params); diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 7b02def0..dc6f35f0 100644 Binary files a/jar/custom_spider.jar and b/jar/custom_spider.jar differ diff --git a/jar/custom_spider.jar.md5 b/jar/custom_spider.jar.md5 index 3b7a01f9..91bf1eb4 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -efc8d7ab428b7bb8459f6d5614388ee2 +1d6994a4a39ca10ec37a3936e5cad909