Skip to content

Commit

Permalink
Clean code
Browse files Browse the repository at this point in the history
  • Loading branch information
FongMi committed Jul 26, 2023
1 parent d7dc566 commit b70a99e
Show file tree
Hide file tree
Showing 44 changed files with 611 additions and 484 deletions.
3 changes: 2 additions & 1 deletion app/src/leanback/java/com/fongmi/android/tv/Updater.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import com.fongmi.android.tv.utils.Prefers;
import com.fongmi.android.tv.utils.ResUtil;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Path;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;

import org.json.JSONObject;
Expand All @@ -36,7 +37,7 @@ public static Updater get() {
}

private File getFile() {
return FileUtil.getCacheFile(branch + ".apk");
return Path.cache(branch.concat(".apk"));
}

private String getJson() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.fongmi.android.tv.ui.activity;

import android.app.Activity;
import android.content.ClipboardManager;
import android.content.Intent;
import android.text.TextUtils;
import android.view.View;

import androidx.viewbinding.ViewBinding;
Expand All @@ -13,6 +13,7 @@
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.utils.QRCode;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Utils;

public class PushActivity extends BaseActivity {

Expand All @@ -36,7 +37,7 @@ protected void initView() {
}

private void onClip(View view) {
CharSequence text = ((ClipboardManager) getSystemService(CLIPBOARD_SERVICE)).getText();
if (text != null) DetailActivity.push(this, text.toString(), false);
CharSequence text = Utils.getClipText();
if (!TextUtils.isEmpty(text)) DetailActivity.push(this, text.toString(), false);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

import androidx.viewbinding.ViewBinding;

import com.fongmi.android.tv.App;
import com.fongmi.android.tv.BuildConfig;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Updater;
Expand Down Expand Up @@ -305,9 +304,9 @@ private void setDoh(View view) {

@Override
public void setDoh(Doh doh) {
OkHttp.get().setDoh(doh);
Notify.progress(getActivity());
Prefers.putDoh(doh.toString());
OkHttp.get().setDoh(App.get(), doh);
mBinding.dohText.setText(doh.getName());
ApiConfig.load(Config.vod(), getCallback());
}
Expand Down
10 changes: 10 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,21 @@

</provider>

<provider
android:name="com.github.catvod.Provider"
android:authorities="com.github.catvod.provider"
android:exported="false" />

<provider
android:name="com.fongmi.quickjs.Provider"
android:authorities="com.fongmi.quickjs.provider"
android:exported="false" />

<provider
android:name="com.xunlei.Provider"
android:authorities="com.xunlei.provider"
android:exported="false" />

<activity
android:name=".ui.activity.CrashActivity"
android:process=":error_activity" />
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/com/fongmi/android/tv/App.java
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ private void setActivity(Activity activity) {
public void onCreate() {
super.onCreate();
Notify.createChannel();
OkHttp.get().setDoh(this, Doh.objectFrom(Prefers.getDoh()));
OkHttp.get().setDoh(Doh.objectFrom(Prefers.getDoh()));
CaocConfig.Builder.create().backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT).errorActivity(CrashActivity.class).apply();
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
Expand Down
19 changes: 10 additions & 9 deletions app/src/main/java/com/fongmi/android/tv/api/Decoder.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

import android.util.Base64;

import com.fongmi.android.tv.utils.FileUtil;
import com.fongmi.android.tv.utils.Utils;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Json;
import com.github.catvod.utils.Path;
import com.github.catvod.utils.Util;
import com.google.common.io.BaseEncoding;

import java.io.File;
Expand Down Expand Up @@ -45,21 +46,21 @@ public static String getExt(String ext) {
}
}

public static File getSpider(String jar, String md5) {
public static File getSpider(String url, String md5) {
try {
File file = FileUtil.getJar(jar);
if (md5.length() > 0 && FileUtil.equals(jar, md5)) return file;
String data = extract(getData(jar.substring(4)));
if (data.isEmpty()) return FileUtil.getJar(jar);
return FileUtil.write(file, Base64.decode(data, Base64.DEFAULT));
File file = Path.jar(url);
if (md5.length() > 0 && Util.equals(url, md5)) return file;
String data = extract(getData(url.substring(4)));
if (data.isEmpty()) return Path.jar(url);
return Path.write(file, Base64.decode(data, Base64.DEFAULT));
} catch (Exception ignored) {
return FileUtil.getJar(jar);
return Path.jar(url);
}
}

private static String getData(String url) throws Exception {
if (url.startsWith("http")) return OkHttp.newCall(url).execute().body().string();
if (url.startsWith("file")) return FileUtil.read(url);
if (url.startsWith("file")) return Path.read(url);
throw new Exception();
}

Expand Down
24 changes: 12 additions & 12 deletions app/src/main/java/com/fongmi/android/tv/api/JarLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
import android.content.Context;

import com.fongmi.android.tv.App;
import com.fongmi.android.tv.utils.FileUtil;
import com.fongmi.android.tv.utils.Utils;
import com.github.catvod.crawler.Spider;
import com.github.catvod.crawler.SpiderNull;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Path;
import com.github.catvod.utils.Util;

import org.json.JSONObject;

Expand Down Expand Up @@ -45,7 +45,7 @@ public void setRecent(String recent) {
}

private void load(String key, File file) {
loaders.put(key, new DexClassLoader(file.getAbsolutePath(), FileUtil.getCachePath(), null, App.get().getClassLoader()));
loaders.put(key, new DexClassLoader(file.getAbsolutePath(), Path.jar().getAbsolutePath(), null, App.get().getClassLoader()));
invokeInit(key);
putProxy(key);
}
Expand All @@ -70,11 +70,11 @@ private void putProxy(String key) {
}
}

private File download(String jar) {
private File download(String url) {
try {
return FileUtil.write(FileUtil.getJar(jar), OkHttp.newCall(jar).execute().body().bytes());
return Path.write(Path.jar(url), OkHttp.newCall(url).execute().body().bytes());
} catch (Exception e) {
return FileUtil.getJar(jar);
return Path.jar(url);
}
}

Expand All @@ -84,14 +84,14 @@ public void parseJar(String key, String jar) {
jar = texts[0];
if (jar.startsWith("img+")) {
load(key, Decoder.getSpider(jar, md5));
} else if (md5.length() > 0 && FileUtil.equals(jar, md5)) {
load(key, FileUtil.getJar(jar));
} else if (md5.length() > 0 && Util.equals(jar, md5)) {
load(key, Path.jar(jar));
} else if (jar.startsWith("http")) {
load(key, download(jar));
} else if (jar.startsWith("file")) {
load(key, FileUtil.getLocal(jar));
load(key, Path.local(jar));
} else if (!jar.isEmpty()) {
parseJar(key, Utils.convert(ApiConfig.getUrl(), jar));
parseJar(key, com.fongmi.android.tv.utils.Utils.convert(ApiConfig.getUrl(), jar));
}
}

Expand All @@ -102,7 +102,7 @@ public DexClassLoader getLoader(String key, String jar) {

public Spider getSpider(String key, String api, String ext, String jar) {
try {
String jaKey = Utils.getMd5(jar);
String jaKey = Util.md5(jar);
String spKey = jaKey + key;
if (spiders.containsKey(spKey)) return spiders.get(spKey);
if (!loaders.containsKey(jaKey)) parseJar(jaKey, jar);
Expand Down Expand Up @@ -130,7 +130,7 @@ public JSONObject jsonExtMix(String flag, String key, String name, LinkedHashMap

public Object[] proxyInvoke(Map<String, String> params) {
try {
Method method = methods.get(Utils.getMd5(recent));
Method method = methods.get(Util.md5(recent));
if (method == null) return null;
return (Object[]) method.invoke(null, params);
} catch (Throwable e) {
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/com/fongmi/android/tv/api/LiveParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
import com.fongmi.android.tv.bean.Channel;
import com.fongmi.android.tv.bean.Group;
import com.fongmi.android.tv.bean.Live;
import com.fongmi.android.tv.utils.FileUtil;
import com.fongmi.android.tv.utils.Utils;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Path;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
Expand Down Expand Up @@ -96,7 +96,7 @@ private static void proxy(Live live, String text) {

private static String getText(String url) {
try {
if (url.startsWith("file")) return FileUtil.read(url);
if (url.startsWith("file")) return Path.read(url);
if (url.startsWith("http")) return OkHttp.newCall(url).execute().body().string();
if (url.endsWith(".txt") || url.endsWith(".m3u")) return getText(Utils.convert(LiveConfig.getUrl(), url));
if (url.length() > 0 && url.length() % 4 == 0) return getText(new String(Base64.decode(url, Base64.DEFAULT)));
Expand Down
5 changes: 3 additions & 2 deletions app/src/main/java/com/fongmi/android/tv/api/WallConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import com.fongmi.android.tv.utils.Notify;
import com.fongmi.android.tv.utils.Prefers;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Path;

import java.io.File;
import java.io.IOException;
Expand Down Expand Up @@ -92,8 +93,8 @@ private void loadConfig(Callback callback) {
}

private File write(File file) throws IOException {
if (getUrl().startsWith("file")) FileUtil.copy(FileUtil.getLocal(getUrl()), file);
else if (getUrl().startsWith("http")) FileUtil.write(file, ImgUtil.resize(OkHttp.newCall(getUrl()).execute().body().bytes()));
if (getUrl().startsWith("file")) Path.copy(Path.local(getUrl()), file);
else if (getUrl().startsWith("http")) Path.write(file, ImgUtil.resize(OkHttp.newCall(getUrl()).execute().body().bytes()));
else file.delete();
return file;
}
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/com/fongmi/android/tv/bean/Device.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.fongmi.android.tv.bean;

import android.net.Uri;
import android.text.TextUtils;

import androidx.annotation.NonNull;
Expand All @@ -12,6 +11,7 @@
import com.fongmi.android.tv.db.AppDatabase;
import com.fongmi.android.tv.server.Server;
import com.fongmi.android.tv.utils.Utils;
import com.github.catvod.utils.Util;
import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;

Expand Down Expand Up @@ -105,7 +105,7 @@ public boolean isApp() {
}

public String getHost() {
return isDLNA() ? getUuid() : Uri.parse(getIp()).getHost();
return isDLNA() ? getUuid() : Util.host(getIp());
}

public Device save() {
Expand Down
3 changes: 2 additions & 1 deletion app/src/main/java/com/fongmi/android/tv/bean/Parse.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Utils;
import com.github.catvod.utils.Json;
import com.github.catvod.utils.Util;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.annotations.SerializedName;
Expand Down Expand Up @@ -121,7 +122,7 @@ public boolean equals(Object obj) {
public String extUrl() {
int index = getUrl().indexOf("?");
if (getExt().isEmpty() || index == -1) return getUrl();
return getUrl().substring(0, index + 1) + "cat_ext=" + Utils.getBase64(getExt().toString()) + "&" + getUrl().substring(index + 1);
return getUrl().substring(0, index + 1) + "cat_ext=" + Util.base64(getExt().toString()) + "&" + getUrl().substring(index + 1);
}

public HashMap<String, String> mixMap() {
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/com/fongmi/android/tv/bean/Vod.java
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ private void setActivated(Episode episode) {
}

public Episode find(String remarks) {
int number = Utils.getDigit(remarks);
int number = Utils.digit(remarks);
if (getEpisodes().size() == 1) return getEpisodes().get(0);
for (Vod.Flag.Episode item : getEpisodes()) if (item.rule1(remarks)) return item;
for (Vod.Flag.Episode item : getEpisodes()) if (item.rule2(number)) return item;
Expand Down Expand Up @@ -356,7 +356,7 @@ public static List<Episode> arrayFrom(String str) {
}

public Episode(String name, String url) {
this.number = Utils.getDigit(name);
this.number = Utils.digit(name);
this.name = Trans.s2t(name);
this.url = url;
}
Expand Down
8 changes: 4 additions & 4 deletions app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import android.graphics.Color;
import android.net.Uri;
import android.util.Base64;

import androidx.media3.common.MediaItem;
import androidx.media3.common.MimeTypes;
Expand Down Expand Up @@ -38,11 +37,12 @@
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.bean.Sub;
import com.fongmi.android.tv.utils.FileUtil;
import com.fongmi.android.tv.utils.Prefers;
import com.fongmi.android.tv.utils.Sniffer;
import com.fongmi.android.tv.utils.Utils;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Path;
import com.github.catvod.utils.Util;
import com.google.common.net.HttpHeaders;

import java.util.ArrayList;
Expand Down Expand Up @@ -107,7 +107,7 @@ public static MediaSource getSource(Map<String, String> headers, String url, int
private static MediaSource getSource(Map<String, String> headers, String url, String format, List<Sub> subs, int errorCode) {
Uri uri = Uri.parse(url.trim().replace("\\", ""));
String mimeType = getMimeType(format, errorCode);
if (uri.getUserInfo() != null) headers.put(HttpHeaders.AUTHORIZATION, "Basic " + Base64.encodeToString(uri.getUserInfo().getBytes(), Base64.NO_WRAP));
if (uri.getUserInfo() != null) headers.put(HttpHeaders.AUTHORIZATION, "Basic " + Util.base64(uri.getUserInfo()));
return new DefaultMediaSourceFactory(getDataSourceFactory(headers), getExtractorsFactory()).createMediaSource(getMediaItem(uri, mimeType, subs));
}

Expand Down Expand Up @@ -177,7 +177,7 @@ private static synchronized DatabaseProvider getDatabase() {
}

private static synchronized Cache getCache() {
if (cache == null) cache = new SimpleCache(FileUtil.getCacheDir("player"), new NoOpCacheEvictor(), getDatabase());
if (cache == null) cache = new SimpleCache(Path.exo(), new NoOpCacheEvictor(), getDatabase());
return cache;
}

Expand Down
9 changes: 3 additions & 6 deletions app/src/main/java/com/fongmi/android/tv/player/Source.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
package com.fongmi.android.tv.player;

import android.net.Uri;

import com.fongmi.android.tv.player.extractor.BiliBili;
import com.fongmi.android.tv.player.extractor.Force;
import com.fongmi.android.tv.player.extractor.JianPian;
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 java.util.ArrayList;
import java.util.List;
import java.util.Objects;

public class Source {

Expand All @@ -38,9 +36,8 @@ public Source() {
}

public String fetch(String url) throws Exception {
Uri uri = Uri.parse(url);
String host = Objects.requireNonNullElse(uri.getHost(), "").toLowerCase();
String scheme = Objects.requireNonNullElse(uri.getScheme(), "").toLowerCase();
String host = Util.host(url);
String scheme = Util.scheme(url);
for (Extractor extractor : extractors) if (extractor.match(scheme, host)) return extractor.fetch(url);
return url;
}
Expand Down
Loading

0 comments on commit b70a99e

Please sign in to comment.