Add activity finishing check before calling onBackPressed. May fix IllegalStateException: Can not perform this action after onSaveInstanceState

This commit is contained in:
Ammar Githam 2020-12-02 20:00:20 +09:00
parent 28dab3cf0f
commit 4ffab14ff3

View File

@ -208,10 +208,14 @@ public class MainActivity extends BaseLanguageActivity implements FragmentManage
public void onBackPressed() {
if (isTaskRoot() && isBackStackEmpty) {
finishAfterTransition();
} else {
return;
}
if (!isFinishing()) {
try {
super.onBackPressed();
} catch (Exception ignored) {}
} catch (Exception e) {
Log.e(TAG, "onBackPressed: ", e);
}
}
}
@ -553,11 +557,10 @@ public class MainActivity extends BaseLanguageActivity implements FragmentManage
.build();
fragment.setOnShowListener(dialog -> alertDialog.dismiss());
fragment.show(getSupportFragmentManager(), "post_view");
return;
}
else {
Toast.makeText(getApplicationContext(), R.string.post_not_found, Toast.LENGTH_SHORT).show();
alertDialog.dismiss();
}
Toast.makeText(getApplicationContext(), R.string.post_not_found, Toast.LENGTH_SHORT).show();
alertDialog.dismiss();
}).execute();
}