Loading app/core/src/main/java/com/fsck/k9/Account.java +12 −0 Original line number Diff line number Diff line Loading @@ -215,6 +215,7 @@ public class Account implements BaseAccount, StoreConfig { private boolean allowRemoteSearch; private boolean remoteSearchFullText; private int remoteSearchNumResults; private boolean uploadSentMessages; /** Loading Loading @@ -301,6 +302,7 @@ public class Account implements BaseAccount, StoreConfig { allowRemoteSearch = false; remoteSearchFullText = false; remoteSearchNumResults = DEFAULT_REMOTE_SEARCH_NUM_RESULTS; uploadSentMessages = true; isEnabled = true; markMessageAsReadOnView = true; alwaysShowCcBcc = false; Loading Loading @@ -436,6 +438,7 @@ public class Account implements BaseAccount, StoreConfig { allowRemoteSearch = storage.getBoolean(accountUuid + ".allowRemoteSearch", false); remoteSearchFullText = storage.getBoolean(accountUuid + ".remoteSearchFullText", false); remoteSearchNumResults = storage.getInt(accountUuid + ".remoteSearchNumResults", DEFAULT_REMOTE_SEARCH_NUM_RESULTS); uploadSentMessages = storage.getBoolean(accountUuid + ".uploadSentMessages", true); isEnabled = storage.getBoolean(accountUuid + ".enabled", true); markMessageAsReadOnView = storage.getBoolean(accountUuid + ".markMessageAsReadOnView", true); Loading Loading @@ -531,6 +534,7 @@ public class Account implements BaseAccount, StoreConfig { editor.remove(accountUuid + ".allowRemoteSearch"); editor.remove(accountUuid + ".remoteSearchFullText"); editor.remove(accountUuid + ".remoteSearchNumResults"); editor.remove(accountUuid + ".uploadSentMessages"); editor.remove(accountUuid + ".defaultQuotedTextShown"); editor.remove(accountUuid + ".displayCount"); editor.remove(accountUuid + ".inboxFolderName"); Loading Loading @@ -1536,6 +1540,14 @@ public class Account implements BaseAccount, StoreConfig { remoteSearchNumResults = (val >= 0 ? val : 0); } public boolean isUploadSentMessages() { return uploadSentMessages; } public void setUploadSentMessages(boolean uploadSentMessages) { this.uploadSentMessages = uploadSentMessages; } public String getInboxFolder() { return inboxFolder; } Loading app/core/src/main/java/com/fsck/k9/controller/MessagingController.java +6 −2 Original line number Diff line number Diff line Loading @@ -1680,8 +1680,8 @@ public class MessagingController { private void moveOrDeleteSentMessage(Account account, LocalStore localStore, LocalFolder localFolder, LocalMessage message) throws MessagingException { if (!account.hasSentFolder()) { Timber.i("Account does not have a sent mail folder; deleting sent message"); if (!account.hasSentFolder() || !account.isUploadSentMessages()) { Timber.i("Not uploading sent message; deleting local message"); message.setFlag(Flag.DELETED, true); } else { LocalFolder localSentFolder = localStore.getFolder(account.getSentFolder()); Loading Loading @@ -1823,6 +1823,10 @@ public class MessagingController { return getBackend(account).getSupportsSearchByDate(); } public boolean supportsUpload(Account account) { return getBackend(account).getSupportsUpload(); } public void checkIncomingServerSettings(Account account) throws MessagingException { getBackend(account).checkIncomingServerSettings(); } Loading app/core/src/main/java/com/fsck/k9/preferences/AccountSettings.java +3 −0 Original line number Diff line number Diff line Loading @@ -236,6 +236,9 @@ public class AccountSettings { s.put("autocryptMutualMode", Settings.versions( new V(50, new BooleanSetting(false)) )); s.put("uploadSentMessages", Settings.versions( new V(52, new BooleanSetting(true)) )); // note that there is no setting for openPgpProvider, because this will have to be set up together // with the actual provider after import anyways. Loading app/core/src/main/java/com/fsck/k9/preferences/Settings.java +1 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ public class Settings { * * @see SettingsExporter */ public static final int VERSION = 51; public static final int VERSION = 52; static Map<String, Object> validate(int version, Map<String, TreeMap<Integer, SettingsDescription>> settings, Map<String, String> importedSettings, boolean useDefaultValues) { Loading app/ui/src/main/java/com/fsck/k9/ui/settings/account/AccountSettingsDataStore.kt +2 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ class AccountSettingsDataStore( "openpgp_hide_sign_only" -> account.openPgpHideSignOnly "openpgp_encrypt_subject" -> account.openPgpEncryptSubject "autocrypt_prefer_encrypt" -> account.autocryptPreferEncryptMutual "upload_sent_messages" -> account.isUploadSentMessages else -> defValue } } Loading Loading @@ -67,6 +68,7 @@ class AccountSettingsDataStore( "openpgp_hide_sign_only" -> account.openPgpHideSignOnly = value "openpgp_encrypt_subject" -> account.openPgpEncryptSubject = value "autocrypt_prefer_encrypt" -> account.autocryptPreferEncryptMutual = value "upload_sent_messages" -> account.isUploadSentMessages = value else -> return } Loading Loading
app/core/src/main/java/com/fsck/k9/Account.java +12 −0 Original line number Diff line number Diff line Loading @@ -215,6 +215,7 @@ public class Account implements BaseAccount, StoreConfig { private boolean allowRemoteSearch; private boolean remoteSearchFullText; private int remoteSearchNumResults; private boolean uploadSentMessages; /** Loading Loading @@ -301,6 +302,7 @@ public class Account implements BaseAccount, StoreConfig { allowRemoteSearch = false; remoteSearchFullText = false; remoteSearchNumResults = DEFAULT_REMOTE_SEARCH_NUM_RESULTS; uploadSentMessages = true; isEnabled = true; markMessageAsReadOnView = true; alwaysShowCcBcc = false; Loading Loading @@ -436,6 +438,7 @@ public class Account implements BaseAccount, StoreConfig { allowRemoteSearch = storage.getBoolean(accountUuid + ".allowRemoteSearch", false); remoteSearchFullText = storage.getBoolean(accountUuid + ".remoteSearchFullText", false); remoteSearchNumResults = storage.getInt(accountUuid + ".remoteSearchNumResults", DEFAULT_REMOTE_SEARCH_NUM_RESULTS); uploadSentMessages = storage.getBoolean(accountUuid + ".uploadSentMessages", true); isEnabled = storage.getBoolean(accountUuid + ".enabled", true); markMessageAsReadOnView = storage.getBoolean(accountUuid + ".markMessageAsReadOnView", true); Loading Loading @@ -531,6 +534,7 @@ public class Account implements BaseAccount, StoreConfig { editor.remove(accountUuid + ".allowRemoteSearch"); editor.remove(accountUuid + ".remoteSearchFullText"); editor.remove(accountUuid + ".remoteSearchNumResults"); editor.remove(accountUuid + ".uploadSentMessages"); editor.remove(accountUuid + ".defaultQuotedTextShown"); editor.remove(accountUuid + ".displayCount"); editor.remove(accountUuid + ".inboxFolderName"); Loading Loading @@ -1536,6 +1540,14 @@ public class Account implements BaseAccount, StoreConfig { remoteSearchNumResults = (val >= 0 ? val : 0); } public boolean isUploadSentMessages() { return uploadSentMessages; } public void setUploadSentMessages(boolean uploadSentMessages) { this.uploadSentMessages = uploadSentMessages; } public String getInboxFolder() { return inboxFolder; } Loading
app/core/src/main/java/com/fsck/k9/controller/MessagingController.java +6 −2 Original line number Diff line number Diff line Loading @@ -1680,8 +1680,8 @@ public class MessagingController { private void moveOrDeleteSentMessage(Account account, LocalStore localStore, LocalFolder localFolder, LocalMessage message) throws MessagingException { if (!account.hasSentFolder()) { Timber.i("Account does not have a sent mail folder; deleting sent message"); if (!account.hasSentFolder() || !account.isUploadSentMessages()) { Timber.i("Not uploading sent message; deleting local message"); message.setFlag(Flag.DELETED, true); } else { LocalFolder localSentFolder = localStore.getFolder(account.getSentFolder()); Loading Loading @@ -1823,6 +1823,10 @@ public class MessagingController { return getBackend(account).getSupportsSearchByDate(); } public boolean supportsUpload(Account account) { return getBackend(account).getSupportsUpload(); } public void checkIncomingServerSettings(Account account) throws MessagingException { getBackend(account).checkIncomingServerSettings(); } Loading
app/core/src/main/java/com/fsck/k9/preferences/AccountSettings.java +3 −0 Original line number Diff line number Diff line Loading @@ -236,6 +236,9 @@ public class AccountSettings { s.put("autocryptMutualMode", Settings.versions( new V(50, new BooleanSetting(false)) )); s.put("uploadSentMessages", Settings.versions( new V(52, new BooleanSetting(true)) )); // note that there is no setting for openPgpProvider, because this will have to be set up together // with the actual provider after import anyways. Loading
app/core/src/main/java/com/fsck/k9/preferences/Settings.java +1 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ public class Settings { * * @see SettingsExporter */ public static final int VERSION = 51; public static final int VERSION = 52; static Map<String, Object> validate(int version, Map<String, TreeMap<Integer, SettingsDescription>> settings, Map<String, String> importedSettings, boolean useDefaultValues) { Loading
app/ui/src/main/java/com/fsck/k9/ui/settings/account/AccountSettingsDataStore.kt +2 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ class AccountSettingsDataStore( "openpgp_hide_sign_only" -> account.openPgpHideSignOnly "openpgp_encrypt_subject" -> account.openPgpEncryptSubject "autocrypt_prefer_encrypt" -> account.autocryptPreferEncryptMutual "upload_sent_messages" -> account.isUploadSentMessages else -> defValue } } Loading Loading @@ -67,6 +68,7 @@ class AccountSettingsDataStore( "openpgp_hide_sign_only" -> account.openPgpHideSignOnly = value "openpgp_encrypt_subject" -> account.openPgpEncryptSubject = value "autocrypt_prefer_encrypt" -> account.autocryptPreferEncryptMutual = value "upload_sent_messages" -> account.isUploadSentMessages = value else -> return } Loading