From a742b007ef9c99e97587298294e78cc6401d321a Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Wed, 22 Jun 2022 08:58:59 -0300 Subject: [PATCH 1/2] Don't crash when offline while unlink dialog gets shown --- .../briar/android/mailbox/MailboxStatusFragment.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java index ebdf3974b..94b8b823f 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java @@ -216,7 +216,8 @@ public class MailboxStatusFragment extends Fragment { (dialog, which) -> dialog.cancel()); builder.setNegativeButton(R.string.mailbox_status_unlink_button, (dialog, which) -> { - beginDelayedTransition((ViewGroup) requireView()); + ViewGroup v = (ViewGroup) getView(); + if (v != null) beginDelayedTransition(v); unlinkButton.setVisibility(INVISIBLE); unlinkProgress.setVisibility(VISIBLE); viewModel.unlink(); From 28f3ab1310e87393f26eeb4c0e4b358e11fb035a Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Wed, 22 Jun 2022 13:25:12 -0300 Subject: [PATCH 2/2] Dismiss unlink dialog when going offline --- .../android/mailbox/MailboxStatusFragment.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java index 94b8b823f..f70476bea 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java @@ -63,6 +63,8 @@ public class MailboxStatusFragment extends Fragment { private Button wizardButton; private Button unlinkButton; private ProgressBar unlinkProgress; + @Nullable + private AlertDialog dialog = null; @Override public void onAttach(Context context) { @@ -129,6 +131,15 @@ public class MailboxStatusFragment extends Fragment { refresher = null; } + @Override + public void onDetach() { + super.onDetach(); + if (dialog != null) { + dialog.dismiss(); + dialog = null; + } + } + private void onMailboxStateChanged(MailboxStatus status) { @ColorRes int tintRes; @DrawableRes int iconRes; @@ -222,7 +233,9 @@ public class MailboxStatusFragment extends Fragment { unlinkProgress.setVisibility(VISIBLE); viewModel.unlink(); }); - builder.show(); + builder.setOnDismissListener(dialog -> + MailboxStatusFragment.this.dialog = null); + dialog = builder.show(); } }