From 95c5910523ef2830939b49d5407a701bcd34f86c Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 16 Sep 2023 07:56:07 +0200 Subject: [PATCH] Prevent double found thread --- .../main/java/eu/faircode/email/ActivityView.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index 512f64bb77..6e1d122101 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -2481,8 +2481,16 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB if (lastSnackbar != null && lastSnackbar.isShown()) lastSnackbar.dismiss(); - if (!found && getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) - getSupportFragmentManager().popBackStack("thread", FragmentManager.POP_BACK_STACK_INCLUSIVE); + if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) + if (found) { + List fragments = getSupportFragmentManager().getFragments(); + if (fragments.size() > 0) { + Bundle args = fragments.get(fragments.size() - 1).getArguments(); + if (args != null && args.getBoolean("found")) + getSupportFragmentManager().popBackStack(); + } + } else + getSupportFragmentManager().popBackStack("thread", FragmentManager.POP_BACK_STACK_INCLUSIVE); Bundle args = new Bundle(); args.putLong("account", intent.getLongExtra("account", -1));