Merge branch '2340-unlink-offline-crash' into 'master'

Don't crash when offline while unlink dialog gets shown

Closes #2340

See merge request briar/briar!1676
This commit is contained in:
akwizgran
2022-06-22 16:41:26 +00:00

View File

@@ -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();
}
}