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

Commit ff6e1f6c authored by Srinath Warrier's avatar Srinath Warrier
Browse files

Create default sort setting by preference

parent de2c6cda
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -149,6 +149,24 @@
        <item>NOT_SECOND_CLASS</item>
    </string-array>

    <string-array name="account_settings_sort_type_entries">
        <item>@string/sort_by_date</item>
        <item>@string/sort_by_subject</item>
        <item>@string/sort_by_sender</item>
        <item>@string/sort_by_unread</item>
        <item>@string/sort_by_flag</item>
        <item>@string/sort_by_attach</item>
    </string-array>

    <string-array name="account_settings_sort_type_values">
        <item>SORT_DATE</item>
        <item>SORT_SUBJECT</item>
        <item>SORT_SENDER</item>
        <item>SORT_UNREAD</item>
        <item>SORT_FLAGGED</item>
        <item>SORT_ATTACHMENT</item>
    </string-array>

    <string-array name="account_settings_show_pictures_entries">
        <item>@string/account_settings_show_pictures_never</item>
        <item>@string/account_settings_show_pictures_only_from_contacts</item>
+4 −0
Original line number Diff line number Diff line
@@ -553,6 +553,10 @@ Welcome to K-9 Mail setup. K-9 is an open source mail client for Android origin
    <string name="account_settings_enable_move_buttons_label">Enable refile buttons</string>
    <string name="account_settings_enable_move_buttons_summary">Show the Archive, Move, and Spam buttons.</string>

    <string name="account_settings_sort_type_label">Default Sort Type</string>
    <string name="account_settings_sort_ascending_label">Sort order</string>
    <string name="account_settings_sort_ascending_summary">Sort in ascending order</string>

    <string name="account_settings_show_pictures_label">Always show images</string>
    <string name="account_settings_show_pictures_never">No</string>
    <string name="account_settings_show_pictures_only_from_contacts">From contacts</string>
+15 −0
Original line number Diff line number Diff line
@@ -56,6 +56,21 @@
                android:title="@string/account_settings_color_label"
                android:summary="@string/account_settings_color_summary" />

            <ListPreference
                android:persistent="false"
                android:key="sort_type_enum"
                android:title="@string/account_settings_sort_type_label"
                android:entries="@array/account_settings_sort_type_entries"
                android:entryValues="@array/account_settings_sort_type_values"
                android:dialogTitle="@string/account_settings_sort_type_label" />

            <CheckBoxPreference
                android:persistent="false"
                android:key="sort_ascending"
                android:title="@string/account_settings_sort_ascending_label"
                android:defaultValue="false"
                android:summary="@string/account_settings_sort_ascending_summary"  />

        </PreferenceCategory>

        <PreferenceCategory
+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;
@@ -210,6 +216,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;
@@ -331,6 +339,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()));
@@ -463,6 +480,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");
@@ -595,6 +614,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());
@@ -1000,6 +1021,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;
    }
+4 −2
Original line number Diff line number Diff line
@@ -809,8 +809,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);
Loading