diff --git a/app/build.gradle b/app/build.gradle index e0bdf4d83..ecea7d70d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -21,12 +21,12 @@ android { leanback { dimension "mode" versionCode 203 - versionName "2.0.3" + versionName "20230727#1" } mobile { dimension "mode" versionCode 203 - versionName "2.0.3" + versionName "20230727#1" } java { dimension "api" diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 3eb596bca..c735ddb79 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -57,6 +57,9 @@ # TVBus -keep class com.tvbus.engine.** { *; } +# XunLei +-keep class com.xunlei.downloadlib.** { *; } + # ZLive -keep class com.sun.jna.** { *; } -keep class com.east.android.zlive.** { *; } diff --git a/app/src/mobile/java/com/fongmi/android/tv/Updater.java b/app/src/mobile/java/com/fongmi/android/tv/Updater.java index d60a0e2ed..f844a9e9f 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/Updater.java +++ b/app/src/mobile/java/com/fongmi/android/tv/Updater.java @@ -10,11 +10,12 @@ import androidx.appcompat.app.AlertDialog; import com.fongmi.android.tv.databinding.DialogUpdateBinding; import com.fongmi.android.tv.utils.Download; import com.fongmi.android.tv.utils.FileUtil; -import com.fongmi.android.tv.utils.Github; import com.fongmi.android.tv.utils.Notify; 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.Github; +import com.github.catvod.utils.Path; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import org.json.JSONObject; diff --git a/app/src/mobile/java/com/fongmi/android/tv/cast/CastVideo.java b/app/src/mobile/java/com/fongmi/android/tv/cast/CastVideo.java index 626a937ad..735c4d92b 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/cast/CastVideo.java +++ b/app/src/mobile/java/com/fongmi/android/tv/cast/CastVideo.java @@ -4,7 +4,7 @@ import androidx.annotation.NonNull; import com.android.cast.dlna.core.ICast; import com.fongmi.android.tv.server.Server; -import com.fongmi.android.tv.utils.FileUtil; +import com.github.catvod.utils.Path; import java.util.UUID; @@ -18,7 +18,7 @@ public class CastVideo implements ICast { } private CastVideo(String name, String url) { - if (url.startsWith("file")) url = Server.get().getAddress() + "/" + url.replace(FileUtil.getRootPath(), ""); + if (url.startsWith("file")) url = Server.get().getAddress() + "/" + url.replace(Path.rootPath(), ""); this.name = name; this.url = url; } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index 600048b6a..65eb3bdc0 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -74,6 +74,7 @@ import com.fongmi.android.tv.utils.Prefers; import com.fongmi.android.tv.utils.ResUtil; import com.fongmi.android.tv.utils.Traffic; import com.fongmi.android.tv.utils.Utils; +import com.github.catvod.utils.Util; import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import com.permissionx.guolindev.PermissionX; @@ -434,7 +435,7 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust if (!item.getVodArea().isEmpty()) sb.append(getString(R.string.detail_area, item.getVodArea())).append(" "); if (!item.getTypeName().isEmpty()) sb.append(getString(R.string.detail_type, item.getTypeName())).append(" "); view.setVisibility(sb.length() == 0 ? View.GONE : View.VISIBLE); - view.setText(Utils.substring(sb.toString(), 2)); + view.setText(Util.substring(sb.toString(), 2)); } private void getPlayer(Vod.Flag flag, Vod.Flag.Episode episode, boolean replay) { @@ -1392,8 +1393,8 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust protected void onDestroy() { super.onDestroy(); mPlayers.release(); + Source.get().stop(); Clock.get().release(); - Source.get().destroy(); RefreshEvent.history(); PlaybackService.stop(); App.removeCallbacks(mR1, mR2, mR3, mR4); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 27d217875..68915d0dd 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -921,7 +921,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List protected void onDestroy() { super.onDestroy(); mPlayers.release(); - Source.get().destroy(); + Source.get().stop(); PlaybackService.stop(); App.removeCallbacks(mR1, mR2, mR3); } 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 24ae42064..37b56bf5c 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 @@ -166,7 +166,7 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt WallConfig.get().clear(); LiveConfig.get().clear(); ApiConfig.get().clear(); - Source.get().release(); + Source.get().exit(); Server.get().stop(); } } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/CastDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/CastDialog.java index e0fedf255..605dd6eb0 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/CastDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/CastDialog.java @@ -28,9 +28,9 @@ import com.fongmi.android.tv.impl.Callback; import com.fongmi.android.tv.server.Server; import com.fongmi.android.tv.ui.activity.ScanActivity; import com.fongmi.android.tv.ui.adapter.DeviceAdapter; -import com.fongmi.android.tv.utils.FileUtil; import com.fongmi.android.tv.utils.Notify; import com.github.catvod.net.OkHttp; +import com.github.catvod.utils.Path; import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import org.greenrobot.eventbus.EventBus; @@ -68,7 +68,7 @@ public class CastDialog extends BaseDialog implements DeviceAdapter.OnClickListe public CastDialog history(History history) { String id = history.getVodId(); - String fd = id.startsWith("file") ? Server.get().getAddress() + "/" + id.replace(FileUtil.getRootPath(), "") : id; + String fd = id.startsWith("file") ? Server.get().getAddress() + "/" + id.replace(Path.rootPath(), "") : id; body.add("history", history.toString().replace(id, fd)); return this; } 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 149cfb59c..1e3c7dc50 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 @@ -11,7 +11,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; 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; @@ -41,6 +40,7 @@ import com.fongmi.android.tv.utils.ResUtil; import com.fongmi.android.tv.utils.Utils; import com.github.catvod.bean.Doh; import com.github.catvod.net.OkHttp; +import com.github.catvod.utils.Path; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.permissionx.guolindev.PermissionX; @@ -311,9 +311,9 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit } private 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()); } @@ -343,6 +343,6 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode != Activity.RESULT_OK || requestCode != FileChooser.REQUEST_PICK_FILE) return; - setConfig(Config.find("file:/" + FileChooser.getPathFromUri(getContext(), data.getData()).replace(FileUtil.getRootPath(), ""), type)); + setConfig(Config.find("file:/" + FileChooser.getPathFromUri(getContext(), data.getData()).replace(Path.rootPath(), ""), type)); } }