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 f1f83a081..62d8645ca 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 @@ -41,6 +41,7 @@ import com.fongmi.android.tv.bean.Drm; import com.fongmi.android.tv.bean.Result; import com.fongmi.android.tv.bean.Sub; import com.fongmi.android.tv.utils.Sniffer; +import com.fongmi.android.tv.utils.UrlUtil; import com.github.catvod.net.OkHttp; import com.github.catvod.utils.Path; import com.github.catvod.utils.Util; @@ -116,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(Util.fixUrl(url)); + Uri uri = Uri.parse(UrlUtil.fixUrl(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 5c45de70a..2cac67fa0 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 @@ -6,8 +6,7 @@ import com.fongmi.android.tv.bean.Channel; import com.fongmi.android.tv.bean.Result; import com.fongmi.android.tv.server.Server; import com.fongmi.android.tv.utils.Sniffer; -import com.fongmi.android.tv.utils.Utils; -import com.github.catvod.utils.Util; +import com.fongmi.android.tv.utils.UrlUtil; import java.net.URLEncoder; import java.util.Map; @@ -25,7 +24,7 @@ public class IjkUtil { } public static MediaSource getSource(Map headers, String url) { - Uri uri = Uri.parse(Util.fixUrl(url)); + Uri uri = Uri.parse(UrlUtil.fixUrl(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/ParseJob.java b/app/src/main/java/com/fongmi/android/tv/player/ParseJob.java index fab82d449..e36faa1a7 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/ParseJob.java +++ b/app/src/main/java/com/fongmi/android/tv/player/ParseJob.java @@ -10,7 +10,6 @@ import com.fongmi.android.tv.ui.custom.CustomWebView; import com.fongmi.android.tv.utils.UrlUtil; import com.github.catvod.net.OkHttp; import com.github.catvod.utils.Json; -import com.github.catvod.utils.Util; import com.google.common.net.HttpHeaders; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -183,7 +182,7 @@ public class ParseJob implements ParseCallback { private Map getHeader(JsonObject object) { Map headers = new HashMap<>(); - for (String key : object.keySet()) if (key.equalsIgnoreCase(HttpHeaders.USER_AGENT) || key.equalsIgnoreCase(HttpHeaders.REFERER)) headers.put(Util.fixHeader(key), object.get(key).getAsString()); + for (String key : object.keySet()) if (key.equalsIgnoreCase(HttpHeaders.USER_AGENT) || key.equalsIgnoreCase(HttpHeaders.REFERER)) headers.put(UrlUtil.fixHeader(key), object.get(key).getAsString()); if (headers.isEmpty()) return parse.getHeaders(); return headers; } 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 ce8d4211c..ea0bbd914 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 @@ -30,6 +30,7 @@ import com.fongmi.android.tv.impl.ParseCallback; import com.fongmi.android.tv.impl.SessionCallback; import com.fongmi.android.tv.utils.Notify; import com.fongmi.android.tv.utils.ResUtil; +import com.fongmi.android.tv.utils.UrlUtil; import com.fongmi.android.tv.utils.Utils; import com.github.catvod.utils.Path; import com.github.catvod.utils.Util; @@ -491,7 +492,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic } private boolean isIllegal(String url) { - Uri uri = Uri.parse(Util.fixUrl(url)); + Uri uri = Uri.parse(UrlUtil.fixUrl(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/ImgUtil.java b/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java index 687e28ca9..6b9727fd5 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java @@ -81,7 +81,7 @@ public class ImgUtil { private static void addHeader(LazyHeaders.Builder builder, String header) { Map map = Json.toMap(JsonParser.parseString(header)); - for (Map.Entry entry : map.entrySet()) builder.addHeader(Util.fixHeader(entry.getKey()), entry.getValue()); + for (Map.Entry entry : map.entrySet()) builder.addHeader(UrlUtil.fixHeader(entry.getKey()), entry.getValue()); } public static byte[] resize(byte[] bytes) { 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 e4f6431ea..ac2f0535f 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 @@ -4,6 +4,7 @@ import androidx.media3.common.util.UriUtil; import com.fongmi.android.tv.server.Server; import com.github.catvod.utils.Util; +import com.google.common.net.HttpHeaders; public class UrlUtil { @@ -27,4 +28,14 @@ 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; + if (key.equalsIgnoreCase(HttpHeaders.COOKIE)) return HttpHeaders.COOKIE; + return key; + } } diff --git a/catvod/src/main/java/com/github/catvod/utils/Util.java b/catvod/src/main/java/com/github/catvod/utils/Util.java index 685374b77..05ad77d77 100644 --- a/catvod/src/main/java/com/github/catvod/utils/Util.java +++ b/catvod/src/main/java/com/github/catvod/utils/Util.java @@ -7,7 +7,6 @@ import android.text.TextUtils; import android.util.Base64; import com.github.catvod.Init; -import com.google.common.net.HttpHeaders; import java.io.File; import java.io.FileInputStream; @@ -132,15 +131,4 @@ public class Util { return ""; } } - - 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; - if (key.equalsIgnoreCase(HttpHeaders.COOKIE)) return HttpHeaders.COOKIE; - return key; - } }