From a8175528fcf52e80dbd51f9cf0cb4e1b21e9c4b8 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 15 Mar 2019 07:34:31 +0000 Subject: [PATCH] Small improvements --- .../java/eu/faircode/email/ActivitySetup.java | 9 +++++++ .../java/eu/faircode/email/ActivityView.java | 24 ++++++++++++++++++- .../eu/faircode/email/FragmentMessages.java | 3 ++- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivitySetup.java b/app/src/main/java/eu/faircode/email/ActivitySetup.java index 584cbba924..0f94aa6f86 100644 --- a/app/src/main/java/eu/faircode/email/ActivitySetup.java +++ b/app/src/main/java/eu/faircode/email/ActivitySetup.java @@ -394,12 +394,18 @@ public class ActivitySetup extends ActivityBilling implements FragmentManager.On } private void onMenuOptions() { + if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) + getSupportFragmentManager().popBackStack("options", FragmentManager.POP_BACK_STACK_INCLUSIVE); + FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.content_frame, new FragmentOptions()).addToBackStack("options"); fragmentTransaction.commit(); } private void onMenuLegend() { + if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) + getSupportFragmentManager().popBackStack("legend", FragmentManager.POP_BACK_STACK_INCLUSIVE); + FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.content_frame, new FragmentLegend()).addToBackStack("legend"); fragmentTransaction.commit(); @@ -414,6 +420,9 @@ public class ActivitySetup extends ActivityBilling implements FragmentManager.On } private void onMenuAbout() { + if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) + getSupportFragmentManager().popBackStack("about", FragmentManager.POP_BACK_STACK_INCLUSIVE); + FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.content_frame, new FragmentAbout()).addToBackStack("about"); fragmentTransaction.commit(); diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index 19361f2895..c587f1c7d1 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -830,7 +830,8 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB protected void onExecuted(Bundle args, Long folder) { long account = args.getLong("account"); - getSupportFragmentManager().popBackStack("unified", 0); + if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) + getSupportFragmentManager().popBackStack("unified", 0); LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(ActivityView.this); lbm.sendBroadcast( @@ -847,18 +848,27 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB } private void onMenuAnswers() { + if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) + getSupportFragmentManager().popBackStack("answers", FragmentManager.POP_BACK_STACK_INCLUSIVE); + FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.content_frame, new FragmentAnswers()).addToBackStack("answers"); fragmentTransaction.commit(); } private void onMenuOperations() { + if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) + getSupportFragmentManager().popBackStack("operations", FragmentManager.POP_BACK_STACK_INCLUSIVE); + FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.content_frame, new FragmentOperations()).addToBackStack("operations"); fragmentTransaction.commit(); } private void onMenuContacts() { + if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) + getSupportFragmentManager().popBackStack("contacts", FragmentManager.POP_BACK_STACK_INCLUSIVE); + FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.content_frame, new FragmentContacts()).addToBackStack("contacts"); fragmentTransaction.commit(); @@ -869,6 +879,9 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB } private void onMenuLegend() { + if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) + getSupportFragmentManager().popBackStack("legend", FragmentManager.POP_BACK_STACK_INCLUSIVE); + FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.content_frame, new FragmentLegend()).addToBackStack("legend"); fragmentTransaction.commit(); @@ -899,12 +912,18 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB } private void onMenuAbout() { + if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) + getSupportFragmentManager().popBackStack("about", FragmentManager.POP_BACK_STACK_INCLUSIVE); + FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.content_frame, new FragmentAbout()).addToBackStack("about"); fragmentTransaction.commit(); } private void onMenuPro() { + if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) + getSupportFragmentManager().popBackStack("pro", FragmentManager.POP_BACK_STACK_INCLUSIVE); + FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.content_frame, new FragmentPro()).addToBackStack("pro"); fragmentTransaction.commit(); @@ -1168,6 +1187,9 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB } private void onShowPro(Intent intent) { + if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) + getSupportFragmentManager().popBackStack("pro", FragmentManager.POP_BACK_STACK_INCLUSIVE); + FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.content_frame, new FragmentPro()).addToBackStack("pro"); fragmentTransaction.commit(); diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 38d30d33ec..d48d9adcb3 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -2279,7 +2279,8 @@ public class FragmentMessages extends FragmentBase { return; } - getFragmentManager().popBackStack("thread", FragmentManager.POP_BACK_STACK_INCLUSIVE); + if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) + getFragmentManager().popBackStack("thread", FragmentManager.POP_BACK_STACK_INCLUSIVE); getArguments().putBoolean("fade", true);