From 3e91af53e6b8ef2bc011b40edd321e1ae18fa816 Mon Sep 17 00:00:00 2001 From: FongMi Date: Fri, 20 Oct 2023 13:50:42 +0800 Subject: [PATCH] Clean code --- .../android/tv/ui/activity/HomeActivity.java | 5 +- .../tv/ui/activity/SettingActivity.java | 6 +- .../tv/ui/custom/dialog/ConfigDialog.java | 2 +- .../android/tv/ui/custom/dialog/UaDialog.java | 7 +- .../com/fongmi/android/tv/bean/Depot.java | 2 +- .../com/fongmi/android/tv/bean/Device.java | 5 +- .../java/com/fongmi/android/tv/bean/Epg.java | 2 +- .../com/fongmi/android/tv/player/Players.java | 6 +- .../com/fongmi/android/tv/player/Source.java | 6 +- .../android/tv/player/extractor/Force.java | 3 +- .../android/tv/player/extractor/Thunder.java | 3 +- .../com/fongmi/android/tv/utils/Sniffer.java | 4 +- .../com/fongmi/android/tv/utils/UrlUtil.java | 38 +++++++--- .../com/fongmi/android/tv/utils/Util.java | 50 +++++++++++-- .../android/tv/ui/activity/MainActivity.java | 4 +- .../tv/ui/custom/dialog/ConfigDialog.java | 2 +- .../android/tv/ui/custom/dialog/UaDialog.java | 7 +- .../tv/ui/fragment/SettingFragment.java | 6 +- .../java/com/github/catvod/utils/Util.java | 72 ++----------------- 19 files changed, 115 insertions(+), 115 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java index d9adaca22..1dfbca3b4 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java @@ -52,7 +52,8 @@ import com.fongmi.android.tv.utils.FileChooser; import com.fongmi.android.tv.utils.KeyUtil; import com.fongmi.android.tv.utils.Notify; import com.fongmi.android.tv.utils.ResUtil; -import com.github.catvod.utils.Util; +import com.fongmi.android.tv.utils.UrlUtil; +import com.fongmi.android.tv.utils.Util; import com.google.common.collect.Lists; import org.greenrobot.eventbus.Subscribe; @@ -114,7 +115,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen if (Intent.ACTION_SEND.equals(intent.getAction())) { VideoActivity.push(this, Uri.parse(intent.getStringExtra(Intent.EXTRA_TEXT))); } else if (Intent.ACTION_VIEW.equals(intent.getAction()) && intent.getData() != null) { - if ("text/plain".equals(intent.getType()) || Util.path(intent.getData()).endsWith(".m3u")) { + if ("text/plain".equals(intent.getType()) || UrlUtil.path(intent.getData()).endsWith(".m3u")) { loadLive("file:/" + FileChooser.getPathFromUri(this, intent.getData())); } else { VideoActivity.push(this, intent.getData()); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java index d4ff3a59f..aa7b4fb06 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java @@ -36,9 +36,9 @@ import com.fongmi.android.tv.ui.custom.dialog.SiteDialog; import com.fongmi.android.tv.utils.FileUtil; import com.fongmi.android.tv.utils.Notify; import com.fongmi.android.tv.utils.ResUtil; +import com.fongmi.android.tv.utils.UrlUtil; import com.github.catvod.bean.Doh; import com.github.catvod.net.OkHttp; -import com.github.catvod.utils.Util; import com.permissionx.guolindev.PermissionX; import java.util.ArrayList; @@ -81,7 +81,7 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit mBinding.wallUrl.setText(WallConfig.getDesc()); mBinding.dohText.setText(getDohList()[getDohIndex()]); mBinding.versionText.setText(BuildConfig.VERSION_NAME); - mBinding.proxyText.setText(Util.scheme(Setting.getProxy())); + mBinding.proxyText.setText(UrlUtil.scheme(Setting.getProxy())); mBinding.sizeText.setText((size = ResUtil.getStringArray(R.array.select_size))[Setting.getSize()]); mBinding.scaleText.setText((scale = ResUtil.getStringArray(R.array.select_scale))[Setting.getScale()]); mBinding.playerText.setText((player = ResUtil.getStringArray(R.array.select_player))[Setting.getPlayer()]); @@ -327,7 +327,7 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit OkHttp.get().setProxy(proxy); Notify.progress(getActivity()); ApiConfig.load(Config.vod(), getCallback()); - mBinding.proxyText.setText(Util.scheme(proxy)); + mBinding.proxyText.setText(UrlUtil.scheme(proxy)); } private void onCache(View view) { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java index 1ab9ab208..0f1908f0d 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java @@ -131,7 +131,7 @@ public class ConfigDialog implements DialogInterface.OnDismissListener { } private void onPositive(View view) { - String text = UrlUtil.checkClan(binding.text.getText().toString().trim()); + String text = UrlUtil.fixUrl(binding.text.getText().toString().trim()); if (text.isEmpty()) Config.delete(url, type); callback.setConfig(Config.find(text, type)); dialog.dismiss(); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/UaDialog.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/UaDialog.java index 0f2051a08..acffa4a95 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/UaDialog.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/UaDialog.java @@ -19,14 +19,13 @@ import com.fongmi.android.tv.server.Server; import com.fongmi.android.tv.ui.custom.CustomTextListener; import com.fongmi.android.tv.utils.QRCode; import com.fongmi.android.tv.utils.ResUtil; +import com.github.catvod.utils.Util; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; -import okhttp3.internal.Util; - public class UaDialog implements DialogInterface.OnDismissListener { private final DialogUaBinding binding; @@ -88,10 +87,10 @@ public class UaDialog implements DialogInterface.OnDismissListener { private void detect(String s) { if (append && s.equalsIgnoreCase("c")) { append = false; - binding.text.setText(com.github.catvod.utils.Util.CHROME); + binding.text.setText(Util.CHROME); } else if (append && s.equalsIgnoreCase("o")) { append = false; - binding.text.setText(Util.userAgent); + binding.text.setText(okhttp3.internal.Util.userAgent); } else if (s.length() > 1) { append = false; } else if (s.length() == 0) { diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Depot.java b/app/src/main/java/com/fongmi/android/tv/bean/Depot.java index a6b2b3f7c..4b496c1e2 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Depot.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Depot.java @@ -25,7 +25,7 @@ public class Depot { } public String getUrl() { - return TextUtils.isEmpty(url) ? "" : UrlUtil.checkClan(url); + return TextUtils.isEmpty(url) ? "" : UrlUtil.fixUrl(url); } public String getName() { diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Device.java b/app/src/main/java/com/fongmi/android/tv/bean/Device.java index a8e70df8d..b559734c5 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Device.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Device.java @@ -11,7 +11,8 @@ import com.fongmi.android.tv.App; import com.fongmi.android.tv.Product; import com.fongmi.android.tv.db.AppDatabase; import com.fongmi.android.tv.server.Server; -import com.github.catvod.utils.Util; +import com.fongmi.android.tv.utils.UrlUtil; +import com.fongmi.android.tv.utils.Util; import com.google.gson.annotations.SerializedName; import java.util.List; @@ -101,7 +102,7 @@ public class Device { } public String getHost() { - return isDLNA() ? getUuid() : Util.host(getIp()); + return isDLNA() ? getUuid() : UrlUtil.host(getIp()); } public Device save() { diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Epg.java b/app/src/main/java/com/fongmi/android/tv/bean/Epg.java index df7f8d2bc..e5905e6e1 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Epg.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Epg.java @@ -5,8 +5,8 @@ import android.text.TextUtils; import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; import com.fongmi.android.tv.utils.ResUtil; +import com.fongmi.android.tv.utils.Util; import com.github.catvod.utils.Trans; -import com.github.catvod.utils.Util; import com.google.gson.annotations.SerializedName; import java.text.SimpleDateFormat; 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 9f5dd8495..ee4e56cde 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 @@ -31,8 +31,8 @@ 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.Util; import com.github.catvod.utils.Path; -import com.github.catvod.utils.Util; import com.google.common.net.HttpHeaders; import com.orhanobut.logger.Logger; @@ -492,8 +492,8 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic private boolean isIllegal(String url) { Uri uri = UrlUtil.uri(url); - String host = Util.host(uri); - String scheme = Util.scheme(uri); + String host = UrlUtil.host(uri); + String scheme = UrlUtil.scheme(uri); if (scheme.equals("data")) return false; return scheme.isEmpty() || scheme.equals("file") ? !Path.exists(url) : host.isEmpty(); } diff --git a/app/src/main/java/com/fongmi/android/tv/player/Source.java b/app/src/main/java/com/fongmi/android/tv/player/Source.java index 6c03adc2a..26d181aa2 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/Source.java +++ b/app/src/main/java/com/fongmi/android/tv/player/Source.java @@ -10,7 +10,7 @@ import com.fongmi.android.tv.player.extractor.TVBus; import com.fongmi.android.tv.player.extractor.Thunder; import com.fongmi.android.tv.player.extractor.Youtube; import com.fongmi.android.tv.player.extractor.ZLive; -import com.github.catvod.utils.Util; +import com.fongmi.android.tv.utils.UrlUtil; import java.util.ArrayList; import java.util.List; @@ -40,8 +40,8 @@ public class Source { } private Extractor getExtractor(String url) { - String host = Util.host(url); - String scheme = Util.scheme(url); + String host = UrlUtil.host(url); + String scheme = UrlUtil.scheme(url); for (Extractor extractor : extractors) if (extractor.match(scheme, host)) return extractor; return null; } diff --git a/app/src/main/java/com/fongmi/android/tv/player/extractor/Force.java b/app/src/main/java/com/fongmi/android/tv/player/extractor/Force.java index a80497553..326e9068c 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/extractor/Force.java +++ b/app/src/main/java/com/fongmi/android/tv/player/extractor/Force.java @@ -9,6 +9,7 @@ import android.os.SystemClock; import com.fongmi.android.tv.App; import com.fongmi.android.tv.player.Source; +import com.fongmi.android.tv.utils.UrlUtil; import com.forcetech.Util; import com.github.catvod.net.OkHttp; import com.github.catvod.utils.Github; @@ -33,7 +34,7 @@ public class Force implements Source.Extractor { @Override public String fetch(String url) throws Exception { - String scheme = Util.scheme(url); + String scheme = UrlUtil.scheme(url); if (!set.contains(scheme)) init(scheme); while (!set.contains(scheme)) SystemClock.sleep(10); Uri uri = Uri.parse(url); diff --git a/app/src/main/java/com/fongmi/android/tv/player/extractor/Thunder.java b/app/src/main/java/com/fongmi/android/tv/player/extractor/Thunder.java index e6c0526c9..ef5efb2e2 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/extractor/Thunder.java +++ b/app/src/main/java/com/fongmi/android/tv/player/extractor/Thunder.java @@ -5,6 +5,7 @@ import android.os.SystemClock; import com.fongmi.android.tv.exception.ExtractException; import com.fongmi.android.tv.player.Source; +import com.fongmi.android.tv.utils.UrlUtil; import com.github.catvod.utils.Path; import com.github.catvod.utils.Util; import com.xunlei.downloadlib.XLTaskHelper; @@ -25,7 +26,7 @@ public class Thunder implements Source.Extractor { @Override public String fetch(String url) throws Exception { - return Util.scheme(url).equals("magnet") ? addTorrentTask(Uri.parse(url)) : addThunderTask(url); + return UrlUtil.scheme(url).equals("magnet") ? addTorrentTask(Uri.parse(url)) : addThunderTask(url); } private String addTorrentTask(Uri uri) throws Exception { diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java b/app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java index fc65b8d00..5859cc8fe 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java @@ -29,7 +29,7 @@ public class Sniffer { } public static boolean isThunder(String url) { - return THUNDER.contains(Util.scheme(url)) || isTorrent(url); + return THUNDER.contains(UrlUtil.scheme(url)) || isTorrent(url); } public static boolean isTorrent(String url) { @@ -57,7 +57,7 @@ public class Sniffer { public static List getRegex(Uri uri) { if (uri.getHost() == null) return Collections.emptyList(); - String hosts = TextUtils.join(",", Arrays.asList(Util.host(uri), Util.host(uri.getQueryParameter("url")))); + String hosts = TextUtils.join(",", Arrays.asList(UrlUtil.host(uri), UrlUtil.host(uri.getQueryParameter("url")))); for (Rule rule : ApiConfig.get().getRules()) for (String host : rule.getHosts()) if (Util.containOrMatch(hosts, host)) return rule.getRegex(); return Collections.emptyList(); } 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 509786780..bf22c59e2 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 @@ -5,7 +5,6 @@ import android.net.Uri; 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 { @@ -14,26 +13,49 @@ public class UrlUtil { return Uri.parse(url.trim().replace("\\", "")); } - public static String checkClan(String url) { - if (url.contains("/localhost/")) url = url.replace("/localhost/", "/"); - if (url.startsWith("clan")) url = url.replace("clan", "file"); - return url; + public static String scheme(String url) { + return url == null ? "" : scheme(Uri.parse(url)); + } + + public static String scheme(Uri uri) { + String scheme = uri.getScheme(); + return scheme == null ? "" : scheme.toLowerCase().trim(); + } + + public static String host(String url) { + return url == null ? "" : host(Uri.parse(url)); + } + + public static String host(Uri uri) { + String host = uri.getHost(); + return host == null ? "" : host.toLowerCase().trim(); + } + + public static String path(Uri uri) { + String path = uri.getPath(); + return path == null ? "" : path.trim(); } public static String convert(String baseUrl, String path) { - if (path.startsWith("clan")) return checkClan(path); + if (path.startsWith("clan")) return fixUrl(path); return path.isEmpty() ? "" : UriUtil.resolve(baseUrl, path); } public static String convert(String url) { - String host = Util.host(url); - String scheme = Util.scheme(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 ("proxy".equals(scheme)) return url.replace("proxy://", Server.get().getAddress("proxy?")); return url; } + public static String fixUrl(String url) { + if (url.contains("/localhost/")) url = url.replace("/localhost/", "/"); + if (url.startsWith("clan")) url = url.replace("clan", "file"); + return url; + } + public static String fixHeader(String key) { if (key.equalsIgnoreCase(HttpHeaders.USER_AGENT)) return HttpHeaders.USER_AGENT; if (key.equalsIgnoreCase(HttpHeaders.REFERER)) return HttpHeaders.REFERER; diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Util.java b/app/src/main/java/com/fongmi/android/tv/utils/Util.java index cc7855e48..e81c276e5 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Util.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Util.java @@ -3,6 +3,7 @@ package com.fongmi.android.tv.utils; import android.app.Activity; import android.content.ClipboardManager; import android.content.Context; +import android.os.Build; import android.os.IBinder; import android.provider.Settings; import android.view.View; @@ -11,6 +12,10 @@ import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; import com.fongmi.android.tv.App; +import com.github.catvod.Init; + +import java.text.SimpleDateFormat; +import java.util.Formatter; public class Util { @@ -39,6 +44,16 @@ public class Util { imm.hideSoftInputFromWindow(windowToken, 0); } + public static float getBrightness(Activity activity) { + try { + float value = activity.getWindow().getAttributes().screenBrightness; + if (WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL >= value && value >= WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF) return value; + return Settings.System.getFloat(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS) / 128; + } catch (Exception e) { + return 0.5f; + } + } + public static CharSequence getClipText() { return ((ClipboardManager) App.get().getSystemService(Context.CLIPBOARD_SERVICE)).getText(); } @@ -52,13 +67,38 @@ public class Util { } } - public static float getBrightness(Activity activity) { + public static String getDeviceId() { + return Settings.Secure.getString(Init.context().getContentResolver(), Settings.Secure.ANDROID_ID); + } + + public static String getDeviceName() { + String model = Build.MODEL; + String manufacturer = Build.MANUFACTURER; + return model.startsWith(manufacturer) ? model : manufacturer + " " + model; + } + + public static String substring(String text) { + return substring(text, 1); + } + + public static String substring(String text, int num) { + if (text != null && text.length() > num) return text.substring(0, text.length() - num); + return text; + } + + public static long format(SimpleDateFormat format, String src) { try { - float value = activity.getWindow().getAttributes().screenBrightness; - if (WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL >= value && value >= WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF) return value; - return Settings.System.getFloat(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS) / 128; + return format.parse(src).getTime(); } catch (Exception e) { - return 0.5f; + return 0; + } + } + + public static String format(StringBuilder builder, Formatter formatter, long timeMs) { + try { + return androidx.media3.common.util.Util.getStringForTime(builder, formatter, timeMs); + } catch (Exception e) { + return ""; } } } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java index 0a31d05d4..bd86fa761 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java @@ -30,7 +30,7 @@ import com.fongmi.android.tv.ui.fragment.SettingPlayerFragment; import com.fongmi.android.tv.ui.fragment.VodFragment; import com.fongmi.android.tv.utils.FileChooser; import com.fongmi.android.tv.utils.Notify; -import com.github.catvod.utils.Util; +import com.fongmi.android.tv.utils.UrlUtil; import com.google.android.material.navigation.NavigationBarView; import org.greenrobot.eventbus.Subscribe; @@ -70,7 +70,7 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt if (Intent.ACTION_SEND.equals(intent.getAction())) { VideoActivity.push(this, Uri.parse(intent.getStringExtra(Intent.EXTRA_TEXT))); } else if (Intent.ACTION_VIEW.equals(intent.getAction()) && intent.getData() != null) { - if ("text/plain".equals(intent.getType()) || Util.path(intent.getData()).endsWith(".m3u")) { + if ("text/plain".equals(intent.getType()) || UrlUtil.path(intent.getData()).endsWith(".m3u")) { loadLive("file:/" + FileChooser.getPathFromUri(this, intent.getData())); } else { VideoActivity.push(this, intent.getData()); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java index 43849e2ee..a5e9232b7 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java @@ -111,7 +111,7 @@ public class ConfigDialog { } private void onPositive(DialogInterface dialog, int which) { - String text = UrlUtil.checkClan(binding.text.getText().toString().trim()); + String text = UrlUtil.fixUrl(binding.text.getText().toString().trim()); if (text.isEmpty()) Config.delete(url, type); callback.setConfig(Config.find(text, type)); dialog.dismiss(); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/UaDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/UaDialog.java index 2dac90fca..b9615099a 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/UaDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/UaDialog.java @@ -13,10 +13,9 @@ import com.fongmi.android.tv.Setting; import com.fongmi.android.tv.databinding.DialogUaBinding; import com.fongmi.android.tv.impl.UaCallback; import com.fongmi.android.tv.ui.custom.CustomTextListener; +import com.github.catvod.utils.Util; import com.google.android.material.dialog.MaterialAlertDialogBuilder; -import okhttp3.internal.Util; - public class UaDialog { private final DialogUaBinding binding; @@ -68,10 +67,10 @@ public class UaDialog { private void detect(String s) { if (append && s.equalsIgnoreCase("c")) { append = false; - binding.text.setText(com.github.catvod.utils.Util.CHROME); + binding.text.setText(Util.CHROME); } else if (append && s.equalsIgnoreCase("o")) { append = false; - binding.text.setText(Util.userAgent); + binding.text.setText(okhttp3.internal.Util.userAgent); } else if (s.length() > 1) { append = false; } else if (s.length() == 0) { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java index 5bc785631..e16459f4b 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java @@ -40,10 +40,10 @@ import com.fongmi.android.tv.utils.FileChooser; import com.fongmi.android.tv.utils.FileUtil; import com.fongmi.android.tv.utils.Notify; import com.fongmi.android.tv.utils.ResUtil; +import com.fongmi.android.tv.utils.UrlUtil; import com.github.catvod.bean.Doh; import com.github.catvod.net.OkHttp; import com.github.catvod.utils.Path; -import com.github.catvod.utils.Util; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.permissionx.guolindev.PermissionX; @@ -90,7 +90,7 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit mBinding.wallUrl.setText(WallConfig.getDesc()); mBinding.dohText.setText(getDohList()[getDohIndex()]); mBinding.versionText.setText(BuildConfig.VERSION_NAME); - mBinding.proxyText.setText(Util.scheme(Setting.getProxy())); + mBinding.proxyText.setText(UrlUtil.scheme(Setting.getProxy())); mBinding.sizeText.setText((size = ResUtil.getStringArray(R.array.select_size))[Setting.getSize()]); mBinding.scaleText.setText((scale = ResUtil.getStringArray(R.array.select_scale))[Setting.getScale()]); mBinding.playerText.setText((player = ResUtil.getStringArray(R.array.select_player))[Setting.getPlayer()]); @@ -334,7 +334,7 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit OkHttp.get().setProxy(proxy); Notify.progress(getActivity()); ApiConfig.load(Config.vod(), getCallback()); - mBinding.proxyText.setText(Util.scheme(proxy)); + mBinding.proxyText.setText(UrlUtil.scheme(proxy)); } private void onCache(View view) { 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 05ad77d77..b07cf2f72 100644 --- a/catvod/src/main/java/com/github/catvod/utils/Util.java +++ b/catvod/src/main/java/com/github/catvod/utils/Util.java @@ -1,35 +1,19 @@ package com.github.catvod.utils; import android.net.Uri; -import android.os.Build; -import android.provider.Settings; import android.text.TextUtils; import android.util.Base64; -import com.github.catvod.Init; - import java.io.File; import java.io.FileInputStream; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.text.SimpleDateFormat; -import java.util.Formatter; public class Util { public static final String CHROME = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"; - public static String getDeviceId() { - return Settings.Secure.getString(Init.context().getContentResolver(), Settings.Secure.ANDROID_ID); - } - - public static String getDeviceName() { - String model = Build.MODEL; - String manufacturer = Build.MANUFACTURER; - return model.startsWith(manufacturer) ? model : manufacturer + " " + model; - } - public static String base64(String ext) { return base64(ext.getBytes()); } @@ -38,42 +22,14 @@ public class Util { return Base64.encodeToString(bytes, Base64.DEFAULT | Base64.NO_WRAP); } - public static String substring(String text) { - return substring(text, 1); - } - - public static String substring(String text, int num) { - if (text != null && text.length() > num) return text.substring(0, text.length() - num); - return text; - } - - public static String scheme(String url) { - return url == null ? "" : scheme(Uri.parse(url)); - } - - public static String scheme(Uri uri) { - String scheme = uri.getScheme(); - return scheme == null ? "" : scheme.toLowerCase().trim(); - } - - public static String host(String url) { - return url == null ? "" : host(Uri.parse(url)); - } - - public static String host(Uri uri) { - String host = uri.getHost(); - return host == null ? "" : host.toLowerCase().trim(); - } - - public static String path(Uri uri) { - String path = uri.getPath(); - return path == null ? "" : path.trim(); - } - public static String basic(Uri uri) { return "Basic " + base64(uri.getUserInfo()); } + public static boolean equals(String name, String md5) { + return md5(Path.jar(name)).equalsIgnoreCase(md5); + } + public static String md5(String src) { try { if (TextUtils.isEmpty(src)) return ""; @@ -104,10 +60,6 @@ public class Util { } } - public static boolean equals(String name, String md5) { - return md5(Path.jar(name)).equalsIgnoreCase(md5); - } - public static boolean containOrMatch(String text, String regex) { try { return text.contains(regex) || text.matches(regex); @@ -115,20 +67,4 @@ public class Util { return false; } } - - public static long format(SimpleDateFormat format, String src) { - try { - return format.parse(src).getTime(); - } catch (Exception e) { - return 0; - } - } - - public static String format(StringBuilder builder, Formatter formatter, long timeMs) { - try { - return androidx.media3.common.util.Util.getStringForTime(builder, formatter, timeMs); - } catch (Exception e) { - return ""; - } - } }