From b88bbffb659ba13356773cc1740726f429d32461 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 20 Oct 2023 21:48:27 +0200 Subject: [PATCH] Removed back workaround to solve side effects --- .../main/java/eu/faircode/email/ActivityBase.java | 13 ------------- .../java/eu/faircode/email/ActivityCompose.java | 9 --------- .../java/eu/faircode/email/FragmentAccount.java | 6 +++++- .../main/java/eu/faircode/email/FragmentFolder.java | 6 +++++- .../java/eu/faircode/email/FragmentIdentity.java | 6 +++++- 5 files changed, 15 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index ceaa087ed0..99e2e0ed4a 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -41,7 +41,6 @@ import android.os.SystemClock; import android.text.TextUtils; import android.view.KeyEvent; import android.view.Menu; -import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; @@ -824,18 +823,6 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc } } - @Override - public boolean onOptionsItemSelected(@NonNull MenuItem item) { - if (item.getItemId() == android.R.id.home) { - // Delegate to fragment first - if (super.onOptionsItemSelected(item)) - return true; - performBack(); - return true; - } - return super.onOptionsItemSelected(item); - } - public void performBack() { if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) { // https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/app/Activity.java#3896 diff --git a/app/src/main/java/eu/faircode/email/ActivityCompose.java b/app/src/main/java/eu/faircode/email/ActivityCompose.java index 758296c6e7..9a6d8384b4 100644 --- a/app/src/main/java/eu/faircode/email/ActivityCompose.java +++ b/app/src/main/java/eu/faircode/email/ActivityCompose.java @@ -74,15 +74,6 @@ public class ActivityCompose extends ActivityBase implements FragmentManager.OnB handle(intent, false); } - @Override - public boolean onOptionsItemSelected(@NonNull MenuItem item) { - int itemId = item.getItemId(); - if (itemId == android.R.id.home && - getSupportFragmentManager().getBackStackEntryCount() > 0) - return false; // Delegate to fragment - return super.onOptionsItemSelected(item); - } - @Override public void onBackStackChanged() { if (getSupportFragmentManager().getBackStackEntryCount() == 0) { diff --git a/app/src/main/java/eu/faircode/email/FragmentAccount.java b/app/src/main/java/eu/faircode/email/FragmentAccount.java index 63c0c6ba29..effe2f857d 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccount.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccount.java @@ -1895,7 +1895,11 @@ public class FragmentAccount extends FragmentBase { @Override public boolean onOptionsItemSelected(MenuItem item) { - if (item.getItemId() == R.id.menu_delete) { + int itemId = item.getItemId(); + if (itemId == android.R.id.home) { + onSave(true); + return true; + } else if (itemId == R.id.menu_delete) { onMenuDelete(); return true; } diff --git a/app/src/main/java/eu/faircode/email/FragmentFolder.java b/app/src/main/java/eu/faircode/email/FragmentFolder.java index 3ed0c4a415..5143700416 100644 --- a/app/src/main/java/eu/faircode/email/FragmentFolder.java +++ b/app/src/main/java/eu/faircode/email/FragmentFolder.java @@ -443,7 +443,11 @@ public class FragmentFolder extends FragmentBase { @Override public boolean onOptionsItemSelected(MenuItem item) { - if (item.getItemId() == R.id.menu_delete) { + int itemId = item.getItemId(); + if (itemId == android.R.id.home) { + onSave(true); + return true; + } else if (itemId == R.id.menu_delete) { onMenuDelete(); return true; } diff --git a/app/src/main/java/eu/faircode/email/FragmentIdentity.java b/app/src/main/java/eu/faircode/email/FragmentIdentity.java index 1625cb45e9..c670bf95b4 100644 --- a/app/src/main/java/eu/faircode/email/FragmentIdentity.java +++ b/app/src/main/java/eu/faircode/email/FragmentIdentity.java @@ -1449,7 +1449,11 @@ public class FragmentIdentity extends FragmentBase { @Override public boolean onOptionsItemSelected(MenuItem item) { - if (item.getItemId() == R.id.menu_delete) { + int itemId = item.getItemId(); + if (itemId == android.R.id.home) { + onSave(true); + return true; + } else if (itemId == R.id.menu_delete) { onMenuDelete(); return true; }