From 2a15654304e4cdd44a4818bb90735c5edbe01ac6 Mon Sep 17 00:00:00 2001 From: FongMi Date: Tue, 9 Jan 2024 10:43:06 +0800 Subject: [PATCH] Clean code --- app/src/main/assets/favicon.ico | Bin 0 -> 15406 bytes app/src/main/assets/js/script.js | 2 +- .../com/fongmi/android/tv/api/LiveParser.java | 4 ++-- .../fongmi/android/tv/api/config/VodConfig.java | 4 +--- .../fongmi/android/tv/server/process/Local.java | 2 +- .../com/fongmi/android/tv/utils/UrlUtil.java | 7 +++---- .../fongmi/android/tv/ui/dialog/CastDialog.java | 2 +- .../github/catvod/net/OkhttpInterceptor.java | 2 +- 8 files changed, 10 insertions(+), 13 deletions(-) create mode 100644 app/src/main/assets/favicon.ico diff --git a/app/src/main/assets/favicon.ico b/app/src/main/assets/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..dd17961a2687bc54210bd6aa1a67756cab39ba50 GIT binary patch literal 15406 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 0) return; if (live.getType() == 0) text(live, getText(live.getUrl())); if (live.getType() == 1) json(live, getText(live.getUrl())); - if (live.getType() == 2) proxy(live, getText(UrlUtil.convert(live.getUrl()))); + if (live.getType() == 2) proxy(live, getText(live.getUrl())); } public static void text(Live live, String text) { @@ -114,7 +114,7 @@ public class LiveParser { private static String getText(String url) { if (url.startsWith("file")) return Path.read(url); if (url.startsWith("http")) return OkHttp.string(url); - if (url.startsWith("assets")) return getText(UrlUtil.convert(url)); + if (url.startsWith("assets") || url.startsWith("proxy")) return getText(UrlUtil.convert(url)); if (url.length() > 0 && url.length() % 4 == 0) return getText(new String(Base64.decode(url, Base64.DEFAULT))); return ""; } diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java index d311cd8eb..45cda04c9 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java @@ -215,15 +215,13 @@ public class VodConfig { } private String parseApi(String api) { - if (api.startsWith("http")) return api; if (api.startsWith("file") || api.startsWith("assets")) return UrlUtil.convert(api); return api; } private String parseExt(String ext) { - if (ext.startsWith("http")) return ext; - if (ext.startsWith("img+")) return Decoder.getExt(ext); if (ext.startsWith("file") || ext.startsWith("assets")) return UrlUtil.convert(ext); + if (ext.startsWith("img+")) return Decoder.getExt(ext); return ext; } diff --git a/app/src/main/java/com/fongmi/android/tv/server/process/Local.java b/app/src/main/java/com/fongmi/android/tv/server/process/Local.java index 83ffefbb4..35c20f0fa 100644 --- a/app/src/main/java/com/fongmi/android/tv/server/process/Local.java +++ b/app/src/main/java/com/fongmi/android/tv/server/process/Local.java @@ -42,7 +42,7 @@ public class Local implements Process { private NanoHTTPD.Response getFile(Map headers, String path) { try { - File file = Path.root(path.substring(6)); + File file = Path.root(path.substring(5)); if (file.isDirectory()) return getFolder(file); if (file.isFile()) return getFile(headers, file, NanoHTTPD.getMimeTypeForFile(path)); throw new FileNotFoundException(); 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 ca8aef505..add350c8f 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 @@ -35,11 +35,10 @@ public class UrlUtil { } public static String convert(String url) { - String host = host(url); String scheme = scheme(url); - if ("file".equals(scheme)) return Server.get().getAddress(url); - if ("local".equals(scheme)) return Server.get().getAddress(host); - if ("assets".equals(scheme)) return Server.get().getAddress(url.substring(9)); + if ("local".equals(scheme)) return Server.get().getAddress(host(url)); + if ("assets".equals(scheme)) return url.replace("assets://", Server.get().getAddress("")); + if ("file".equals(scheme)) return url.replace("file://", Server.get().getAddress("file/")); if ("proxy".equals(scheme)) return url.replace("proxy://", Server.get().getAddress("proxy?")); return url; } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java index 9c9a43ef7..1662019d6 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java @@ -76,7 +76,7 @@ public class CastDialog extends BaseDialog implements DeviceAdapter.OnClickListe public CastDialog history(History history) { String id = history.getVodId(); String fd = history.getVodId(); - if (fd.startsWith("/")) fd = Server.get().getAddress() + "/file://" + fd.replace(Path.rootPath(), ""); + if (fd.startsWith("/")) fd = Server.get().getAddress() + "/file/" + fd.replace(Path.rootPath(), ""); if (fd.startsWith("file")) fd = Server.get().getAddress() + "/" + fd.replace(Path.rootPath(), ""); if (fd.contains("127.0.0.1")) fd = fd.replace("127.0.0.1", Util.getIp()); body.add("history", history.toString().replace(id, fd)); diff --git a/catvod/src/main/java/com/github/catvod/net/OkhttpInterceptor.java b/catvod/src/main/java/com/github/catvod/net/OkhttpInterceptor.java index 5884b2d0e..5ec38e10b 100644 --- a/catvod/src/main/java/com/github/catvod/net/OkhttpInterceptor.java +++ b/catvod/src/main/java/com/github/catvod/net/OkhttpInterceptor.java @@ -51,7 +51,7 @@ public class OkhttpInterceptor implements Interceptor { Request request = chain.request(); String url = request.url().toString(); Request.Builder builder = request.newBuilder(); - if (url.contains("/file://")) builder.url(url.replace("+", "%2B")); + if (url.contains("/file/")) builder.url(url.replace("+", "%2B")); if (url.contains("gitcode.net")) builder.addHeader(HttpHeaders.USER_AGENT, Util.CHROME); return builder.build(); }