Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7af007ad authored by cketti's avatar cketti
Browse files

Add setting to disable uploading of sent messages

Some providers automatically add messages sent via their outgoing
server to the Sent folder.
parent de73504b
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -215,6 +215,7 @@ public class Account implements BaseAccount, StoreConfig {
    private boolean allowRemoteSearch;
    private boolean remoteSearchFullText;
    private int remoteSearchNumResults;
    private boolean uploadSentMessages;


    /**
@@ -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;
@@ -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);
@@ -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");
@@ -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;
    }
+2 −2
Original line number Diff line number Diff line
@@ -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());
+3 −0
Original line number Diff line number Diff line
@@ -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.

+1 −1
Original line number Diff line number Diff line
@@ -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) {
+2 −0
Original line number Diff line number Diff line
@@ -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
        }
    }
@@ -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