diff --git a/app/src/main/java/com/fongmi/android/tv/api/Decoder.java b/app/src/main/java/com/fongmi/android/tv/api/Decoder.java index 73f0a4986..c52c9ac85 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/Decoder.java +++ b/app/src/main/java/com/fongmi/android/tv/api/Decoder.java @@ -35,16 +35,9 @@ public class Decoder { } private static String fix(String url, String data) { - if (url.startsWith("file") || url.startsWith("assets")) url = UrlUtil.convert(url); + url = UrlUtil.convert(url); Matcher matcher = JS_URI.matcher(data); - while (matcher.find()) { - String ext = matcher.group(0); - String t = ext.replace("\"./", "\"" + UrlUtil.resolve(url, "./")); - t = t.replace("\"../", "\"" + UrlUtil.resolve(url, "../")); - t = t.replace("./", "__JS1__"); - t = t.replace("../", "__JS2__"); - data = data.replace(ext, t); - } + while (matcher.find()) data = replace(url, data, matcher.group()); if (data.contains("../")) data = data.replace("../", UrlUtil.resolve(url, "../")); if (data.contains("./")) data = data.replace("./", UrlUtil.resolve(url, "./")); if (data.contains("__JS1__")) data = data.replace("__JS1__", "./"); @@ -52,6 +45,13 @@ public class Decoder { return data; } + private static String replace(String url, String data, String ext) { + String t = ext.replace("\"./", "\"" + UrlUtil.resolve(url, "./")); + t = t.replace("\"../", "\"" + UrlUtil.resolve(url, "../")); + t = t.replace("./", "__JS1__").replace("../", "__JS2__"); + return data.replace(ext, t); + } + public static String getExt(String ext) { try { return base64(getData(ext.substring(4)));