From 6f165ca7cae83197028372d4cc6dd39a454cddd7 Mon Sep 17 00:00:00 2001 From: FongMi Date: Tue, 11 Jul 2023 23:03:50 +0800 Subject: [PATCH] Try to fix bug --- .../android/tv/model/SiteViewModel.java | 1 + .../android/tv/player/source/Source.java | 28 +++++++++++-------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java b/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java index 3eac5127d..f337b056b 100644 --- a/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java +++ b/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java @@ -156,6 +156,7 @@ public class SiteViewModel extends ViewModel { SpiderDebug.log(body); Result result = Result.fromJson(body); if (result.getFlag().isEmpty()) result.setFlag(flag); + result.setUrl(Source.getUrl(result.getUrl())); return result; } else if (key.equals("push_agent")) { Result result = new Result(); diff --git a/app/src/main/java/com/fongmi/android/tv/player/source/Source.java b/app/src/main/java/com/fongmi/android/tv/player/source/Source.java index 8853e888d..389db8974 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/source/Source.java +++ b/app/src/main/java/com/fongmi/android/tv/player/source/Source.java @@ -8,6 +8,10 @@ public class Source { return uri.getScheme() == null ? "" : uri.getScheme().toLowerCase(); } + private static String getHost(Uri uri) { + return uri.getHost() == null ? "" : uri.getHost(); + } + private static boolean isHttp(Uri uri) { return getScheme(uri).startsWith("http"); } @@ -24,30 +28,30 @@ public class Source { return getScheme(uri).startsWith("tvbus"); } - private static boolean isYoutube(Uri uri) { - return uri.getHost().contains("youtube.com"); + private static boolean isJianPian(Uri uri) { + return getScheme(uri).equals("tvbox-xg"); } - private static boolean isBiliBili(Uri uri) { - return uri.getHost().equals("live.bilibili.com"); + private static boolean isYoutube(Uri uri) { + return getHost(uri).contains("youtube.com"); } - private static boolean isJianPian(Uri uri) { - return getScheme(uri).equals("tvbox-xg"); + private static boolean isBiliBili(Uri uri) { + return getHost(uri).equals("live.bilibili.com"); } public static String getUrl(String url) throws Exception { Uri uri = Uri.parse(url); if (isHttp(uri)) { if (isYoutube(uri)) return Youtube.get().fetch(url); - else if (isBiliBili(uri)) return BiliBili.get().fetch(url); - else return url; + if (isBiliBili(uri)) return BiliBili.get().fetch(url); + return url; } else { if (isForce(uri)) return Force.get().fetch(url); - else if (isZLive(uri)) return ZLive.get().fetch(url); - else if (isTVBus(uri)) return TVBus.get().fetch(url); - else if (isJianPian(uri)) return JianPian.get().fetch(url); - else return url; + if (isZLive(uri)) return ZLive.get().fetch(url); + if (isTVBus(uri)) return TVBus.get().fetch(url); + if (isJianPian(uri)) return JianPian.get().fetch(url); + return url; } }