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

Commit 66528a0c authored by Jesse Vincent's avatar Jesse Vincent
Browse files

Merge pull request #128 from srinathwarrier/k-9

---

A new option to set default sort setting is added to account settings.

* commit '7a9ba4e0':
  Create implicit sort remembering setting2(minor indentation error)
  Create implicit sort remembering setting
  Create default sort setting by preference
parents 50b20564 7a9ba4e0
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ import android.net.ConnectivityManager;
import android.net.Uri;
import android.util.Log;

import com.fsck.k9.controller.MessagingController.SORT_TYPE;
import com.fsck.k9.crypto.Apg;
import com.fsck.k9.crypto.CryptoProvider;
import com.fsck.k9.helper.Utility;
@@ -77,6 +78,9 @@ public class Account implements BaseAccount {
    public static final String IDENTITY_EMAIL_KEY = "email";
    public static final String IDENTITY_DESCRIPTION_KEY = "description";

    public static final SORT_TYPE DEFAULT_SORT_TYPE = SORT_TYPE.SORT_DATE;
    public static final boolean DEFAULT_SORT_ASCENDING = false;


    /**
     * <pre>
@@ -121,6 +125,8 @@ public class Account implements BaseAccount {
    private boolean mSaveAllHeaders;
    private boolean mPushPollOnConnect;
    private boolean mNotifySync;
    private SORT_TYPE mSortType;
    private boolean mSortAscending;
    private ShowPictures mShowPictures;
    private boolean mEnableMoveButtons;
    private boolean mIsSignatureBeforeQuotedText;
@@ -211,6 +217,8 @@ public class Account implements BaseAccount {
        mFolderSyncMode = FolderMode.FIRST_CLASS;
        mFolderPushMode = FolderMode.FIRST_CLASS;
        mFolderTargetMode = FolderMode.NOT_SECOND_CLASS;
        mSortType = DEFAULT_SORT_TYPE;
        mSortAscending = DEFAULT_SORT_ASCENDING;
        mShowPictures = ShowPictures.NEVER;
        mEnableMoveButtons = false;
        mIsSignatureBeforeQuotedText = false;
@@ -333,6 +341,15 @@ public class Account implements BaseAccount {
                                  (random.nextInt(0x70) * 0xffff) +
                                  0xff000000);

        try {
            mSortType = SORT_TYPE.valueOf(prefs.getString(mUuid + ".sortTypeEnum",
                                                 SORT_TYPE.SORT_DATE.name()));
        } catch (Exception e) {
            mSortType = SORT_TYPE.SORT_DATE;
        }

        mSortAscending = prefs.getBoolean(mUuid + ".sortAscending", false);

        try {
            mShowPictures = ShowPictures.valueOf(prefs.getString(mUuid + ".showPicturesEnum",
                                                 ShowPictures.NEVER.name()));
@@ -466,6 +483,8 @@ public class Account implements BaseAccount {
        editor.remove(mUuid + ".messageFormatAuto");
        editor.remove(mUuid + ".quoteStyle");
        editor.remove(mUuid + ".quotePrefix");
        editor.remove(mUuid + ".sortTypeEnum");
        editor.remove(mUuid + ".sortAscending");
        editor.remove(mUuid + ".showPicturesEnum");
        editor.remove(mUuid + ".replyAfterQuote");
        editor.remove(mUuid + ".stripSignature");
@@ -599,6 +618,8 @@ public class Account implements BaseAccount {
        editor.putString(mUuid + ".spamFolderName", mSpamFolderName);
        editor.putString(mUuid + ".autoExpandFolderName", mAutoExpandFolderName);
        editor.putInt(mUuid + ".accountNumber", mAccountNumber);
        editor.putString(mUuid + ".sortTypeEnum", mSortType.name());
        editor.putBoolean(mUuid + ".sortAscending", mSortAscending);
        editor.putString(mUuid + ".showPicturesEnum", mShowPictures.name());
        editor.putBoolean(mUuid + ".enableMoveButtons", mEnableMoveButtons);
        editor.putString(mUuid + ".folderDisplayMode", mFolderDisplayMode.name());
@@ -1013,6 +1034,22 @@ public class Account implements BaseAccount {
        this.mNotifySync = showOngoing;
    }

    public synchronized SORT_TYPE getSortType() {
        return mSortType;
    }

    public synchronized void setSortType(SORT_TYPE sortType) {
        mSortType = sortType;
    }

    public synchronized boolean isSortAscending() {
        return mSortAscending;
    }

    public synchronized void setSortAscending(boolean sortAscending) {
        mSortAscending = sortAscending;
    }

    public synchronized ShowPictures getShowPictures() {
        return mShowPictures;
    }
+10 −2
Original line number Diff line number Diff line
@@ -821,8 +821,10 @@ public class MessageList
        mStars = K9.messageListStars();
        mCheckboxes = K9.messageListCheckboxes();

        sortType = mController.getSortType();
        sortAscending = mController.isSortAscending(sortType);
        sortType = mAccount.getSortType();
        mController.setSortType(sortType);
        sortAscending = mAccount.isSortAscending();
        mController.setSortAscending(sortType, sortAscending);
        sortDateAscending = mController.isSortAscending(SORT_TYPE.SORT_DATE);

        mController.addListener(mAdapter.mListener);
@@ -1209,12 +1211,18 @@ public class MessageList

    private void changeSort(SORT_TYPE newSortType) {
        if (sortType == newSortType) {
            mAccount.setSortAscending( !(mController.isSortAscending(newSortType)  ));
            mAccount.save(Preferences.getPreferences(this));
            onToggleSortAscending();
        } else {
            sortType = newSortType;
            mController.setSortType(sortType);
            sortAscending = mController.isSortAscending(sortType);
            sortDateAscending = mController.isSortAscending(SORT_TYPE.SORT_DATE);

            mAccount.setSortType(sortType);
            mAccount.setSortAscending(sortAscending);
            mAccount.save(Preferences.getPreferences(this));
            reSort();
        }
    }
+1 −1
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ public class MessagingController implements Runnable {
        }
    }

    private SORT_TYPE sortType = SORT_TYPE.SORT_DATE;
    private SORT_TYPE sortType = Account.DEFAULT_SORT_TYPE;

    private MessagingListener checkMailListener = null;

+7 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ import com.fsck.k9.Account;
import com.fsck.k9.K9;
import com.fsck.k9.R;
import com.fsck.k9.Account.FolderMode;
import com.fsck.k9.controller.MessagingController.SORT_TYPE;
import com.fsck.k9.crypto.Apg;
import com.fsck.k9.mail.store.StorageManager;
import com.fsck.k9.preferences.Settings.*;
@@ -159,6 +160,12 @@ public class AccountSettings {
        s.put("sentFolderName", Settings.versions(
                new V(1, new StringSetting("Sent"))
            ));
        s.put("sortTypeEnum", Settings.versions(
                new V(1, new EnumSetting(SORT_TYPE.class, Account.DEFAULT_SORT_TYPE))
            ));
        s.put("sortAscending", Settings.versions(
                new V(1, new BooleanSetting(Account.DEFAULT_SORT_ASCENDING))
            ));
        s.put("showPicturesEnum", Settings.versions(
                new V(1, new EnumSetting(Account.ShowPictures.class, Account.ShowPictures.NEVER))
            ));