From e08ff945fb2948dde8994dfecf5844a89fb87730 Mon Sep 17 00:00:00 2001 From: FongMi Date: Fri, 20 Oct 2023 11:37:17 +0800 Subject: [PATCH] Clean code --- .../java/com/fongmi/android/tv/player/ExoUtil.java | 2 +- .../java/com/fongmi/android/tv/player/IjkUtil.java | 2 +- .../java/com/fongmi/android/tv/player/Players.java | 2 +- .../main/java/com/fongmi/android/tv/utils/Sniffer.java | 6 +++--- .../main/java/com/fongmi/android/tv/utils/UrlUtil.java | 10 ++++++---- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java b/app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java index 62d8645ca..7c3e79f67 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java +++ b/app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java @@ -117,7 +117,7 @@ public class ExoUtil { } private static MediaSource getSource(Map headers, String url, String format, List subs, Drm drm, int errorCode) { - Uri uri = Uri.parse(UrlUtil.fixUrl(url)); + Uri uri = UrlUtil.uri(url); String mimeType = getMimeType(format, errorCode); if (uri.getUserInfo() != null) headers.put(HttpHeaders.AUTHORIZATION, Util.basic(uri)); return new DefaultMediaSourceFactory(getDataSourceFactory(headers), getExtractorsFactory()).createMediaSource(getMediaItem(uri, mimeType, subs, drm)); diff --git a/app/src/main/java/com/fongmi/android/tv/player/IjkUtil.java b/app/src/main/java/com/fongmi/android/tv/player/IjkUtil.java index 2cac67fa0..4461eb76a 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/IjkUtil.java +++ b/app/src/main/java/com/fongmi/android/tv/player/IjkUtil.java @@ -24,7 +24,7 @@ public class IjkUtil { } public static MediaSource getSource(Map headers, String url) { - Uri uri = Uri.parse(UrlUtil.fixUrl(url)); + Uri uri = UrlUtil.uri(url); boolean m3u8Ad = Sniffer.getRegex(uri).size() > 0; if (m3u8Ad) uri = Uri.parse(Server.get().getAddress().concat("/m3u8?url=").concat(URLEncoder.encode(uri.toString()))); return new MediaSource(Players.checkUa(headers), uri); diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java index ea0bbd914..ee657b7b2 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/Players.java +++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java @@ -492,7 +492,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic } private boolean isIllegal(String url) { - Uri uri = Uri.parse(UrlUtil.fixUrl(url)); + Uri uri = UrlUtil.uri(url); String host = Util.host(uri); String scheme = Util.scheme(uri); if (scheme.equals("data")) return false; 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 88206ed2c..fc65b8d00 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 @@ -42,14 +42,14 @@ public class Sniffer { public static boolean isVideoFormat(String url, Map headers) { Logger.t(TAG).d(url); - if (matchOrContain(url)) return true; + 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 url.matches(RULE); } - private static boolean matchOrContain(String url) { - List items = getRegex(Uri.parse(url)); + private static boolean containOrMatch(String url) { + List items = getRegex(UrlUtil.uri(url)); for (String regex : items) if (url.contains(regex)) return true; for (String regex : items) if (url.matches(regex)) return true; return false; diff --git a/app/src/main/java/com/fongmi/android/tv/utils/UrlUtil.java b/app/src/main/java/com/fongmi/android/tv/utils/UrlUtil.java index ac2f0535f..509786780 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/UrlUtil.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/UrlUtil.java @@ -1,5 +1,7 @@ package com.fongmi.android.tv.utils; +import android.net.Uri; + import androidx.media3.common.util.UriUtil; import com.fongmi.android.tv.server.Server; @@ -8,6 +10,10 @@ import com.google.common.net.HttpHeaders; public class UrlUtil { + public static Uri uri(String url) { + return Uri.parse(url.trim().replace("\\", "")); + } + public static String checkClan(String url) { if (url.contains("/localhost/")) url = url.replace("/localhost/", "/"); if (url.startsWith("clan")) url = url.replace("clan", "file"); @@ -28,10 +34,6 @@ public class UrlUtil { return url; } - public static String fixUrl(String url) { - return url.trim().replace("\\", ""); - } - public static String fixHeader(String key) { if (key.equalsIgnoreCase(HttpHeaders.USER_AGENT)) return HttpHeaders.USER_AGENT; if (key.equalsIgnoreCase(HttpHeaders.REFERER)) return HttpHeaders.REFERER;