diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/activity/ManageIdentities.java b/app/ui/legacy/src/main/java/com/fsck/k9/activity/ManageIdentities.java index 501188a8715..fb832e9f39e 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/activity/ManageIdentities.java +++ b/app/ui/legacy/src/main/java/com/fsck/k9/activity/ManageIdentities.java @@ -131,9 +131,11 @@ public void onResume() { @Override - public void onBackPressed() { + public void onStop() { + // TODO: Instead of saving the changes when the activity is stopped, save the changes (in a background thread) + // immediately after modifying the list of identities. saveIdentities(); - super.onBackPressed(); + super.onStop(); } private void saveIdentities() { @@ -141,6 +143,5 @@ private void saveIdentities() { mAccount.setIdentities(identities); Preferences.getPreferences().saveAccount(mAccount); } - finish(); } } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/activity/setup/AccountSetupComposition.java b/app/ui/legacy/src/main/java/com/fsck/k9/activity/setup/AccountSetupComposition.java index b463ea7c69f..cdbbefde10e 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/activity/setup/AccountSetupComposition.java +++ b/app/ui/legacy/src/main/java/com/fsck/k9/activity/setup/AccountSetupComposition.java @@ -111,7 +111,7 @@ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { @Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { if (item.getItemId() == android.R.id.home) { - onBackPressed(); + finish(); return true; } @@ -133,9 +133,11 @@ private void saveSettings() { } @Override - public void onBackPressed() { + public void onStop() { + // TODO: Instead of saving the changes when the activity is stopped, add buttons to explicitly save or discard + // changes. saveSettings(); - super.onBackPressed(); + super.onStop(); } @Override diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/managefolders/ManageFoldersActivity.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/managefolders/ManageFoldersActivity.kt index 66d3f0b6b12..1e3d8fca6cd 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/managefolders/ManageFoldersActivity.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/managefolders/ManageFoldersActivity.kt @@ -38,11 +38,11 @@ class ManageFoldersActivity : K9Activity() { } override fun onSupportNavigateUp(): Boolean { - return navController.navigateUp() || super.onSupportNavigateUp() || navigateUpBySimulatedBackButtonPress() + return navController.navigateUp() || super.onSupportNavigateUp() || finishActivity() } - private fun navigateUpBySimulatedBackButtonPress(): Boolean { - onBackPressed() + private fun finishActivity(): Boolean { + finish() return true } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/SettingsActivity.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/SettingsActivity.kt index 122b33207af..b5e90922e36 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/SettingsActivity.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/SettingsActivity.kt @@ -29,11 +29,11 @@ class SettingsActivity : K9Activity() { } override fun onSupportNavigateUp(): Boolean { - return navController.navigateUp() || super.onSupportNavigateUp() || navigateUpBySimulatedBackButtonPress() + return navController.navigateUp() || super.onSupportNavigateUp() || finishActivity() } - private fun navigateUpBySimulatedBackButtonPress(): Boolean { - onBackPressed() + private fun finishActivity(): Boolean { + finish() return true } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/account/AccountSettingsActivity.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/account/AccountSettingsActivity.kt index c6776e9bca3..d2cc52ffe6e 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/account/AccountSettingsActivity.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/account/AccountSettingsActivity.kt @@ -98,7 +98,7 @@ class AccountSettingsActivity : K9Activity(), OnPreferenceStartScreenCallback { override fun onOptionsItemSelected(item: MenuItem): Boolean { if (item.itemId == android.R.id.home) { - onBackPressed() + onBackPressedDispatcher.onBackPressed() return true } diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/general/GeneralSettingsActivity.kt b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/general/GeneralSettingsActivity.kt index 50351a857b7..9cc39dbbdc1 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/general/GeneralSettingsActivity.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/ui/settings/general/GeneralSettingsActivity.kt @@ -111,19 +111,13 @@ class GeneralSettingsActivity : K9Activity(), OnPreferenceStartScreenCallback, S override fun onOptionsItemSelected(item: MenuItem): Boolean { if (item.itemId == android.R.id.home) { - onBackPressed() + onBackPressedDispatcher.onBackPressed() return true } return super.onOptionsItemSelected(item) } - override fun onBackPressed() { - if (!searchPreferenceActionView.cancelSearch()) { - super.onBackPressed() - } - } - override fun onPreferenceStartScreen( caller: PreferenceFragmentCompat, preferenceScreen: PreferenceScreen,