From f28adf04643194a6ac791da0c11340c6c01ba5c5 Mon Sep 17 00:00:00 2001 From: FongMi Date: Fri, 23 Sep 2022 22:19:54 +0800 Subject: [PATCH] Fix update crash --- app/src/main/java/com/fongmi/android/tv/utils/Updater.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Updater.java b/app/src/main/java/com/fongmi/android/tv/utils/Updater.java index 091e48e34..24a995a0a 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Updater.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Updater.java @@ -67,13 +67,18 @@ public class Updater implements View.OnClickListener { if (retry > 0) url = PROXY + url; if (code <= BuildConfig.VERSION_CODE) FileUtil.clearDir(getApk()); else FileUtil.write(getApk(), OKHttp.newCall(url).execute().body().bytes()); - if (getApk().exists() && Prefers.getUpdate()) handler.post(() -> showDialog(name, desc)); + if (getApk().exists() && Prefers.getUpdate()) handler.post(() -> checkActivity(name, desc)); } catch (Exception e) { if (retry == 0) connect(PROXY + target, 1); e.printStackTrace(); } } + private void checkActivity(String version, String desc) { + if (activity.isFinishing()) FileUtil.openFile(getApk()); + else showDialog(version, desc); + } + private void showDialog(String version, String desc) { DialogUpdateBinding binding = DialogUpdateBinding.inflate(LayoutInflater.from(activity)); dialog = new MaterialAlertDialogBuilder(activity).setView(binding.getRoot()).create();