From 1373b5323cd42470d4b58a9a841e4fcd499e5f04 Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 5 Feb 2024 14:42:54 +0800 Subject: [PATCH] Clean code --- .../android/tv/ui/custom/CustomWebView.java | 8 ++++---- .../com/fongmi/android/tv/utils/Sniffer.java | 16 ++-------------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java index fd6a6c36f..e6d050a4e 100644 --- a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java +++ b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java @@ -109,7 +109,7 @@ public class CustomWebView extends WebView { if (TextUtils.isEmpty(host) || VodConfig.get().getAds().contains(host)) return empty; if (url.contains("challenges.cloudflare.com/cdn-cgi")) App.post(() -> showDialog()); if (detect && url.contains("player/?url=")) onParseAdd(headers, url); - else if (isVideoFormat(headers, url)) interrupt(headers, url); + else if (isVideoFormat(url)) interrupt(headers, url); return super.shouldInterceptRequest(view, request); } @@ -166,15 +166,15 @@ public class CustomWebView extends WebView { } } - private boolean isVideoFormat(Map headers, String url) { + private boolean isVideoFormat(String url) { try { Logger.t(TAG).d(url); Site site = VodConfig.get().getSite(key); Spider spider = VodConfig.get().getSpider(site); if (spider.manualVideoCheck()) return spider.isVideoFormat(url); - return Sniffer.isVideoFormat(url, headers); + return Sniffer.isVideoFormat(url); } catch (Exception ignored) { - return Sniffer.isVideoFormat(url, headers); + return Sniffer.isVideoFormat(url); } } diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java b/app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java index 4c2721b6c..0eb3a0d68 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java @@ -9,9 +9,7 @@ import com.github.catvod.utils.Json; import com.github.catvod.utils.Util; import java.util.Arrays; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -39,23 +37,13 @@ public class Sniffer { } public static boolean isVideoFormat(String url) { - return isVideoFormat(url, new HashMap<>()); - } - - public static boolean isVideoFormat(String url, Map headers) { - if (containOrMatch(url)) return true; - if (headers.containsKey("Accept") && headers.get("Accept").startsWith("image")) return false; - if (url.contains("url=http") || url.contains("v=http") || url.contains(".css") || url.contains(".html")) return false; - return SNIFFER.matcher(url).find(); - } - - private static boolean containOrMatch(String url) { Rule rule = getRule(UrlUtil.uri(url)); for (String exclude : rule.getExclude()) if (url.contains(exclude)) return false; for (String exclude : rule.getExclude()) if (Pattern.compile(exclude).matcher(url).find()) return false; for (String regex : rule.getRegex()) if (url.contains(regex)) return true; for (String regex : rule.getRegex()) if (Pattern.compile(regex).matcher(url).find()) return true; - return false; + if (url.contains("url=http") || url.contains("v=http") || url.contains(".css") || url.contains(".html")) return false; + return SNIFFER.matcher(url).find(); } public static Rule getRule(Uri uri) {