From d93e781eedfb1a36ac5def9a15e026a839a1358f Mon Sep 17 00:00:00 2001 From: jhengazuji Date: Mon, 10 Nov 2025 12:29:42 +0800 Subject: [PATCH] Clean code --- .../com/fongmi/android/tv/api/config/LiveConfig.java | 9 +++------ app/src/main/java/com/fongmi/android/tv/bean/Sub.java | 3 +-- .../com/fongmi/android/tv/player/extractor/JianPian.java | 2 +- .../com/fongmi/android/tv/player/extractor/TVBus.java | 5 ++--- .../main/java/com/fongmi/android/tv/utils/UrlUtil.java | 6 +++++- catvod/src/main/java/com/github/catvod/net/OkHttp.java | 4 ++++ 6 files changed, 16 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java index 1bf22037c..86c64b062 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java @@ -28,7 +28,6 @@ import com.github.catvod.net.OkHttp; import com.github.catvod.utils.Json; import com.google.gson.JsonObject; -import java.io.File; import java.io.InterruptedIOException; import java.util.ArrayList; import java.util.Collections; @@ -155,11 +154,9 @@ public class LiveConfig { private String parseName(String url) { Uri uri = Uri.parse(url); - if ("file".equals(uri.getScheme())) return new File(url).getName(); - if (uri.getLastPathSegment() != null) return uri.getLastPathSegment(); - if (uri.getQuery() != null) return uri.getQuery(); - if (uri.getHost() != null) return uri.getHost(); - return url; + String path = UrlUtil.path(uri); + String host = UrlUtil.host(uri); + return !path.isEmpty() ? path : !host.isEmpty() ? host : url; } private void checkJson(JsonObject object, Callback callback) { diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Sub.java b/app/src/main/java/com/fongmi/android/tv/bean/Sub.java index 7a9b236e1..24982064f 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Sub.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Sub.java @@ -28,10 +28,9 @@ public class Sub { private int flag; public static Sub from(String path) { - Uri uri = Uri.parse(path); Sub sub = new Sub(); sub.url = path; - sub.name = uri.getLastPathSegment(); + sub.name = UrlUtil.path(path); sub.flag = C.SELECTION_FLAG_FORCED; sub.format = ExoUtil.getMimeType(sub.name); return sub; diff --git a/app/src/main/java/com/fongmi/android/tv/player/extractor/JianPian.java b/app/src/main/java/com/fongmi/android/tv/player/extractor/JianPian.java index 6742e5a90..ff95a9d12 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/extractor/JianPian.java +++ b/app/src/main/java/com/fongmi/android/tv/player/extractor/JianPian.java @@ -32,7 +32,7 @@ public class JianPian implements Source.Extractor { stop(); check(); start(url); - return "http://127.0.0.1:" + p2p.port + "/" + URLEncoder.encode(Uri.parse(path).getLastPathSegment(), "GBK"); + return "http://127.0.0.1:" + p2p.port + "/" + URLEncoder.encode(UrlUtil.path(path), "GBK"); } private void check() { diff --git a/app/src/main/java/com/fongmi/android/tv/player/extractor/TVBus.java b/app/src/main/java/com/fongmi/android/tv/player/extractor/TVBus.java index 9099bdc03..fe818f8bb 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/extractor/TVBus.java +++ b/app/src/main/java/com/fongmi/android/tv/player/extractor/TVBus.java @@ -1,7 +1,6 @@ package com.fongmi.android.tv.player.extractor; import android.net.Uri; -import android.text.TextUtils; import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; @@ -48,8 +47,8 @@ public class TVBus implements Source.Extractor, Listener { } private String getPath(String url) { - String name = Uri.parse(url).getLastPathSegment(); - if (TextUtils.isEmpty(name)) name = "tvcore.so"; + String name = UrlUtil.path(url); + if (name.isEmpty()) name = "tvcore.so"; File file = new File(Path.so(), name); if (file.length() < 10240) Path.write(file, OkHttp.bytes(url)); return file.getAbsolutePath(); 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 b895af2d2..608b62cf1 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 @@ -30,8 +30,12 @@ public class UrlUtil { return host == null ? "" : host.toLowerCase().trim(); } + public static String path(String url) { + return url == null ? "" : path(Uri.parse(url)); + } + public static String path(Uri uri) { - String path = uri.getPath(); + String path = uri.getLastPathSegment(); return path == null ? "" : path.trim(); } diff --git a/catvod/src/main/java/com/github/catvod/net/OkHttp.java b/catvod/src/main/java/com/github/catvod/net/OkHttp.java index d2c071ceb..44d113329 100644 --- a/catvod/src/main/java/com/github/catvod/net/OkHttp.java +++ b/catvod/src/main/java/com/github/catvod/net/OkHttp.java @@ -103,6 +103,10 @@ public class OkHttp { return client().newBuilder().connectTimeout(timeout, TimeUnit.MILLISECONDS).readTimeout(timeout, TimeUnit.MILLISECONDS).writeTimeout(timeout, TimeUnit.MILLISECONDS).build(); } + public static OkHttpClient noRedirect() { + return noRedirect(TIMEOUT); + } + public static OkHttpClient noRedirect(long timeout) { return client().newBuilder().connectTimeout(timeout, TimeUnit.MILLISECONDS).readTimeout(timeout, TimeUnit.MILLISECONDS).writeTimeout(timeout, TimeUnit.MILLISECONDS).followRedirects(false).followSslRedirects(false).build(); }