From 3dc6cf615038356ec6468638ac6eda55bb708531 Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 27 Feb 2025 16:07:42 +0800 Subject: [PATCH] Optimize updater --- .../java/com/fongmi/android/tv/Updater.java | 20 ++++++++++--------- .../android/tv/ui/activity/HomeActivity.java | 2 +- .../tv/ui/activity/SettingActivity.java | 4 ++-- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/Updater.java b/app/src/leanback/java/com/fongmi/android/tv/Updater.java index 499ce8fc7..549a1de5a 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/Updater.java +++ b/app/src/leanback/java/com/fongmi/android/tv/Updater.java @@ -24,17 +24,10 @@ import java.util.Locale; public class Updater implements Download.Callback { private DialogUpdateBinding binding; + private final Download download; private AlertDialog dialog; private boolean dev; - private static class Loader { - static volatile Updater INSTANCE = new Updater(); - } - - public static Updater get() { - return Loader.INSTANCE; - } - private File getFile() { return Path.cache("update.apk"); } @@ -47,6 +40,14 @@ public class Updater implements Download.Callback { return Github.getApk(dev, BuildConfig.FLAVOR_mode + "-" + BuildConfig.FLAVOR_api + "-" + BuildConfig.FLAVOR_abi); } + public static Updater create() { + return new Updater(); + } + + public Updater() { + this.download = Download.create(getApk(), getFile(), this); + } + public Updater force() { Notify.show(R.string.update_check); Setting.putUpdate(true); @@ -103,12 +104,13 @@ public class Updater implements Download.Callback { private void cancel(View view) { Setting.putUpdate(false); + download.cancel(); dismiss(); } private void confirm(View view) { binding.confirm.setEnabled(false); - Download.create(getApk(), getFile(), this).start(); + download.start(); } private void dismiss() { 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 b5cb50a5f..0a4869cb3 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 @@ -97,7 +97,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen protected void initView() { mClock = Clock.create(mBinding.clock).format("MM/dd HH:mm:ss"); mBinding.progressLayout.showProgress(); - Updater.get().release().start(this); + Updater.create().release().start(this); mResult = Result.empty(); Server.get().start(); setRecyclerView(); 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 cb41f6886..254259532 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 @@ -276,11 +276,11 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit } private void onVersion(View view) { - Updater.get().force().release().start(this); + Updater.create().force().release().start(this); } private boolean onVersionDev(View view) { - Updater.get().force().dev().start(this); + Updater.create().force().dev().start(this); return true; }