diff --git a/src/com/fsck/k9/Account.java b/src/com/fsck/k9/Account.java
index 88c142ccf..b3e1a2efe 100644
--- a/src/com/fsck/k9/Account.java
+++ b/src/com/fsck/k9/Account.java
@@ -152,7 +152,6 @@ public class Account implements BaseAccount {
private FolderMode mFolderPushMode;
private FolderMode mFolderTargetMode;
private int mAccountNumber;
- private boolean mSaveAllHeaders;
private boolean mPushPollOnConnect;
private boolean mNotifySync;
private SortType mSortType;
@@ -240,7 +239,6 @@ public class Account implements BaseAccount {
mLocalStorageProviderId = StorageManager.getInstance(K9.app).getDefaultProviderId();
mAutomaticCheckIntervalMinutes = -1;
mIdleRefreshMinutes = 24;
- mSaveAllHeaders = true;
mPushPollOnConnect = true;
mDisplayCount = K9.DEFAULT_VISIBLE_LIMIT;
mAccountNumber = -1;
@@ -320,7 +318,6 @@ public class Account implements BaseAccount {
mAlwaysBcc = prefs.getString(mUuid + ".alwaysBcc", mAlwaysBcc);
mAutomaticCheckIntervalMinutes = prefs.getInt(mUuid + ".automaticCheckIntervalMinutes", -1);
mIdleRefreshMinutes = prefs.getInt(mUuid + ".idleRefreshMinutes", 24);
- mSaveAllHeaders = prefs.getBoolean(mUuid + ".saveAllHeaders", true);
mPushPollOnConnect = prefs.getBoolean(mUuid + ".pushPollOnConnect", true);
mDisplayCount = prefs.getInt(mUuid + ".displayCount", K9.DEFAULT_VISIBLE_LIMIT);
if (mDisplayCount < 0) {
@@ -478,7 +475,6 @@ public class Account implements BaseAccount {
editor.remove(mUuid + ".alwaysBcc");
editor.remove(mUuid + ".automaticCheckIntervalMinutes");
editor.remove(mUuid + ".pushPollOnConnect");
- editor.remove(mUuid + ".saveAllHeaders");
editor.remove(mUuid + ".idleRefreshMinutes");
editor.remove(mUuid + ".lastAutomaticCheckTime");
editor.remove(mUuid + ".latestOldMessageSeenTime");
@@ -638,7 +634,6 @@ public class Account implements BaseAccount {
editor.putString(mUuid + ".alwaysBcc", mAlwaysBcc);
editor.putInt(mUuid + ".automaticCheckIntervalMinutes", mAutomaticCheckIntervalMinutes);
editor.putInt(mUuid + ".idleRefreshMinutes", mIdleRefreshMinutes);
- editor.putBoolean(mUuid + ".saveAllHeaders", mSaveAllHeaders);
editor.putBoolean(mUuid + ".pushPollOnConnect", mPushPollOnConnect);
editor.putInt(mUuid + ".displayCount", mDisplayCount);
editor.putLong(mUuid + ".lastAutomaticCheckTime", mLastAutomaticCheckTime);
@@ -1397,14 +1392,6 @@ public class Account implements BaseAccount {
mPushPollOnConnect = pushPollOnConnect;
}
- public synchronized boolean saveAllHeaders() {
- return mSaveAllHeaders;
- }
-
- public synchronized void setSaveAllHeaders(boolean saveAllHeaders) {
- mSaveAllHeaders = saveAllHeaders;
- }
-
/**
* Are we storing out localStore on the SD-card instead of the local device
* memory?
diff --git a/src/com/fsck/k9/activity/setup/AccountSettings.java b/src/com/fsck/k9/activity/setup/AccountSettings.java
index 5d3a6a4e2..d6ba87762 100644
--- a/src/com/fsck/k9/activity/setup/AccountSettings.java
+++ b/src/com/fsck/k9/activity/setup/AccountSettings.java
@@ -156,7 +156,6 @@ public class AccountSettings extends K9PreferenceActivity {
private CheckBoxPreference mReplyAfterQuote;
private CheckBoxPreference mStripSignature;
private CheckBoxPreference mSyncRemoteDeletions;
- private CheckBoxPreference mSaveAllHeaders;
private CheckBoxPreference mPushPollOnConnect;
private ListPreference mIdleRefreshPeriod;
private ListPreference mMaxPushFolders;
@@ -366,9 +365,6 @@ public class AccountSettings extends K9PreferenceActivity {
mSyncRemoteDeletions = (CheckBoxPreference) findPreference(PREFERENCE_SYNC_REMOTE_DELETIONS);
mSyncRemoteDeletions.setChecked(mAccount.syncRemoteDeletions());
- mSaveAllHeaders = (CheckBoxPreference) findPreference(PREFERENCE_SAVE_ALL_HEADERS);
- mSaveAllHeaders.setChecked(mAccount.saveAllHeaders());
-
mSearchableFolders = (ListPreference) findPreference(PREFERENCE_SEARCHABLE_FOLDERS);
mSearchableFolders.setValue(mAccount.getSearchableFolders().name());
mSearchableFolders.setSummary(mSearchableFolders.getEntry());
@@ -720,7 +716,6 @@ public class AccountSettings extends K9PreferenceActivity {
mAccount.setExpungePolicy(mExpungePolicy.getValue());
}
mAccount.setSyncRemoteDeletions(mSyncRemoteDeletions.isChecked());
- mAccount.setSaveAllHeaders(mSaveAllHeaders.isChecked());
mAccount.setSearchableFolders(Account.Searchable.valueOf(mSearchableFolders.getValue()));
mAccount.setMessageFormat(Account.MessageFormat.valueOf(mMessageFormat.getValue()));
mAccount.setAlwaysShowCcBcc(mAlwaysShowCcBcc.isChecked());
diff --git a/src/com/fsck/k9/mail/store/LocalStore.java b/src/com/fsck/k9/mail/store/LocalStore.java
index d1c9f8bc8..5d56aa24d 100644
--- a/src/com/fsck/k9/mail/store/LocalStore.java
+++ b/src/com/fsck/k9/mail/store/LocalStore.java
@@ -81,21 +81,6 @@ public class LocalStore extends Store implements Serializable {
private static final Flag[] PERMANENT_FLAGS = { Flag.DELETED, Flag.X_DESTROYED, Flag.SEEN, Flag.FLAGGED };
- private static final Set HEADERS_TO_SAVE;
- static {
- Set set = new HashSet();
- set.add(K9.IDENTITY_HEADER);
- set.add("To");
- set.add("Cc");
- set.add("From");
- set.add("In-Reply-To");
- set.add("References");
- set.add(MimeHeader.HEADER_CONTENT_ID);
- set.add(MimeHeader.HEADER_CONTENT_DISPOSITION);
- set.add("User-Agent");
- HEADERS_TO_SAVE = Collections.unmodifiableSet(set);
- }
-
/*
* a String containing the columns getMessages expects to work with
* in the correct order.
@@ -2314,12 +2299,9 @@ public class LocalStore extends Store implements Serializable {
database.execute(true, new DbCallback() {
@Override
public Void doDbWork(final SQLiteDatabase db) throws WrappedException, UnavailableStorageException {
- boolean saveAllHeaders = mAccount.saveAllHeaders();
- boolean gotAdditionalHeaders = false;
deleteHeaders(id);
for (String name : message.getHeaderNames()) {
- if (saveAllHeaders || HEADERS_TO_SAVE.contains(name)) {
String[] values = message.getHeader(name);
for (String value : values) {
ContentValues cv = new ContentValues();
@@ -2328,22 +2310,17 @@ public class LocalStore extends Store implements Serializable {
cv.put("value", value);
db.insert("headers", "name", cv);
}
- } else {
- gotAdditionalHeaders = true;
- }
}
- if (!gotAdditionalHeaders) {
- // Remember that all headers for this message have been saved, so it is
- // not necessary to download them again in case the user wants to see all headers.
- List appendedFlags = new ArrayList();
- appendedFlags.addAll(Arrays.asList(message.getFlags()));
- appendedFlags.add(Flag.X_GOT_ALL_HEADERS);
+ // Remember that all headers for this message have been saved, so it is
+ // not necessary to download them again in case the user wants to see all headers.
+ List appendedFlags = new ArrayList();
+ appendedFlags.addAll(Arrays.asList(message.getFlags()));
+ appendedFlags.add(Flag.X_GOT_ALL_HEADERS);
- db.execSQL("UPDATE messages " + "SET flags = ? " + " WHERE id = ?",
- new Object[]
- { Utility.combine(appendedFlags.toArray(), ',').toUpperCase(Locale.US), id });
- }
+ db.execSQL("UPDATE messages " + "SET flags = ? " + " WHERE id = ?",
+ new Object[]
+ { Utility.combine(appendedFlags.toArray(), ',').toUpperCase(Locale.US), id });
return null;
}
});
diff --git a/src/com/fsck/k9/preferences/AccountSettings.java b/src/com/fsck/k9/preferences/AccountSettings.java
index 561970af2..7bc65b75d 100644
--- a/src/com/fsck/k9/preferences/AccountSettings.java
+++ b/src/com/fsck/k9/preferences/AccountSettings.java
@@ -162,9 +162,6 @@ public class AccountSettings {
s.put("ringtone", Settings.versions(
new V(1, new RingtoneSetting("content://settings/system/notification_sound"))
));
- s.put("saveAllHeaders", Settings.versions(
- new V(1, new BooleanSetting(true))
- ));
s.put("searchableFolders", Settings.versions(
new V(1, new EnumSetting(Account.Searchable.class, Account.Searchable.ALL))
));