From ec78c1e009cfc8a96a2399899c5ea03a76fff01e Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Fri, 6 Jan 2012 20:27:10 -0500 Subject: [PATCH] Save settings changes "on pause" rather than "on back" so we actually save settings when a user hits home or menu or whatever. --- src/com/fsck/k9/activity/setup/AccountSettings.java | 4 ++-- src/com/fsck/k9/activity/setup/FolderSettings.java | 4 ++-- src/com/fsck/k9/activity/setup/Prefs.java | 6 +++++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/com/fsck/k9/activity/setup/AccountSettings.java b/src/com/fsck/k9/activity/setup/AccountSettings.java index 28bd3be23..17ef87327 100644 --- a/src/com/fsck/k9/activity/setup/AccountSettings.java +++ b/src/com/fsck/k9/activity/setup/AccountSettings.java @@ -817,9 +817,9 @@ public class AccountSettings extends K9PreferenceActivity { } @Override - public void onBackPressed() { + protected void onPause() { saveSettings(); - super.onBackPressed(); + super.onPause(); } private void onCompositionSettings() { diff --git a/src/com/fsck/k9/activity/setup/FolderSettings.java b/src/com/fsck/k9/activity/setup/FolderSettings.java index de0b1f072..2d7c67234 100644 --- a/src/com/fsck/k9/activity/setup/FolderSettings.java +++ b/src/com/fsck/k9/activity/setup/FolderSettings.java @@ -145,13 +145,13 @@ public class FolderSettings extends K9PreferenceActivity { } @Override - public void onBackPressed() { + public void onPause() { try { saveSettings(); } catch (MessagingException e) { Log.e(K9.LOG_TAG, "Saving folder settings failed", e); } - super.onBackPressed(); + super.onPause(); } } diff --git a/src/com/fsck/k9/activity/setup/Prefs.java b/src/com/fsck/k9/activity/setup/Prefs.java index 7a436c65e..1b359b808 100644 --- a/src/com/fsck/k9/activity/setup/Prefs.java +++ b/src/com/fsck/k9/activity/setup/Prefs.java @@ -403,9 +403,13 @@ public class Prefs extends K9PreferenceActivity { } @Override - public void onBackPressed() { + protected void onPause() { saveSettings(); + super.onPause(); + } + @Override + public void onBackPressed() { if (K9.manageBack()) { Accounts.listAccounts(this); finish();