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

Unverified Commit 6c66210e authored by cketti's avatar cketti Committed by GitHub
Browse files

Merge pull request #3598 from k9mail/upload_sent_messages_setting

Upload sent messages setting
parents de73504b 0351dc86
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;
    }
+6 −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());
@@ -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();
    }
+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