From 4ffab14ff316c065015453ed0b1ca7865c7db389 Mon Sep 17 00:00:00 2001 From: Ammar Githam Date: Wed, 2 Dec 2020 20:00:20 +0900 Subject: [PATCH] Add activity finishing check before calling onBackPressed. May fix IllegalStateException: Can not perform this action after onSaveInstanceState --- .../instagrabber/activities/MainActivity.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/awais/instagrabber/activities/MainActivity.java b/app/src/main/java/awais/instagrabber/activities/MainActivity.java index bcc8f5a9..0fba300a 100644 --- a/app/src/main/java/awais/instagrabber/activities/MainActivity.java +++ b/app/src/main/java/awais/instagrabber/activities/MainActivity.java @@ -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(); }