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..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; @@ -216,12 +227,15 @@ 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(); }); - builder.show(); + builder.setOnDismissListener(dialog -> + MailboxStatusFragment.this.dialog = null); + dialog = builder.show(); } }