Reduce chance of crash when dismissing dialogs asynchronously
* Caught & diagnosed by crash while checking settings * Also possible in MoveMessageToDialog Bug: 3412875 Change-Id: Ie78c61cf5ca10ce1eedc25ba2eb97ed0ac5bc615
This commit is contained in:
parent
9c795b025e
commit
a685d3b019
|
@ -140,15 +140,16 @@ public class MoveMessageToDialog extends DialogFragment implements DialogInterfa
|
|||
}
|
||||
|
||||
/**
|
||||
* Delay-call {@link #dismiss()} using a {@link Handler}. Calling {@link #dismiss()} from
|
||||
* {@link LoaderManager.LoaderCallbacks#onLoadFinished} is not allowed, so we use it instead.
|
||||
* Delay-call {@link #dismissAllowingStateLoss()} using a {@link Handler}. Calling
|
||||
* {@link #dismissAllowingStateLoss()} from {@link LoaderManager.LoaderCallbacks#onLoadFinished}
|
||||
* is not allowed, so we use it instead.
|
||||
*/
|
||||
private void dismissAsync() {
|
||||
new Handler().post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!mDestroyed) {
|
||||
dismiss();
|
||||
dismissAllowingStateLoss();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -300,7 +300,7 @@ public class AccountCheckSettingsFragment extends Fragment {
|
|||
getFragmentManager().findFragmentByTag(CheckingDialog.TAG);
|
||||
}
|
||||
if (mCheckingDialog != null) {
|
||||
mCheckingDialog.dismiss();
|
||||
mCheckingDialog.dismissAllowingStateLoss();
|
||||
mCheckingDialog = null;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue