From 8f95ab649fb0e90179e4a1dd3437a335337f99b7 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 11 Apr 2020 09:35:11 +0200 Subject: [PATCH] Check if setup tab is visible --- app/src/main/java/eu/faircode/email/FragmentOptions.java | 4 ++++ app/src/main/java/eu/faircode/email/FragmentSetup.java | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java index 91b86a919f..5df4dd7c68 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptions.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java @@ -112,6 +112,10 @@ public class FragmentOptions extends FragmentBase { getActivity().getIntent().removeExtra("tab"); } + boolean isVisible(int position) { + return (pager.getCurrentItem() == position); + } + private class PagerAdapter extends FragmentStatePagerAdapter { public PagerAdapter(FragmentManager fm) { super(fm); diff --git a/app/src/main/java/eu/faircode/email/FragmentSetup.java b/app/src/main/java/eu/faircode/email/FragmentSetup.java index 8e040fc33d..cf9dbf1f89 100644 --- a/app/src/main/java/eu/faircode/email/FragmentSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentSetup.java @@ -352,9 +352,12 @@ public class FragmentSetup extends FragmentBase { @Override public boolean onBackPressed() { - if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) + if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED) && + ((FragmentOptions) getParentFragment()).isVisible(0)) { onExit(); - return true; + return true; + } else + return false; } });