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

Commit 4028505d authored by Bernhard Redl's avatar Bernhard Redl Committed by cketti
Browse files

Extended setting to hide subject in notification area (never, when locked, always)

Fixed issue 2595
parent f3e74d53
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -323,8 +323,19 @@ http://k9mail.googlecode.com/.
    <string name="global_settings_confirm_action_mark_all_as_read">Alle als gelesen markieren</string>
    <string name="global_settings_confirm_action_send">Senden</string>

    <string name="global_settings_privacy_mode_title">Vertrauliche Benachrichtigung</string>
    <string name="global_settings_privacy_mode_summary">Der Betreff der Nachricht wird nicht in der Benachrichtigungszeile angezeigt</string>
    <string name="global_settings_notification_hide_subject_mode_title">Betreff in Benachrichtigungen verbergen</string>
    <string name="global_settings_notification_hide_subject_mode_summary">Verbergen des Betreffes in Benachrichtigungen</string>
    <string-array name="global_settings_notification_hide_subject_mode">
        <item name="1">Niemals verbergen</item>
        <item name="2">Nur, wenn Gerät gesperrt ist</item>
        <item name="3">Immer verbergen</item>
    </string-array>
    
    <string-array name="global_settings_notification_hide_subject_mode_values">
        <item name="1">NEVER</item>
        <item name="2">WHEN_LOCKED</item>
        <item name="3">ALWAYS</item>
    </string-array>

    <string name="global_settings_batch_buttons">Gruppenoperationen-Schaltflächen</string>
    <string name="global_settings_batch_buttons_summary">Zeige folgende Schaltflächen in der Nachrichtenliste an</string>
+14 −3
Original line number Diff line number Diff line
@@ -326,8 +326,19 @@ http://k9mail.googlecode.com/
    <string name="global_settings_confirm_action_mark_all_as_read">Mark all as read</string>
    <string name="global_settings_confirm_action_send">Send</string>

    <string name="global_settings_privacy_mode_title">Lock-screen notifications</string>
    <string name="global_settings_privacy_mode_summary">Don\'t display message subject in notification bar when system is locked</string>
    <string name="global_settings_notification_hide_subject_mode_title">Hide subject in notifications</string>
    <string name="global_settings_notification_hide_subject_mode_summary">When to hide the subject in the notification bar.</string>
    <string-array name="global_settings_notification_hide_subject_mode">
        <item name="1">Never</item>
        <item name="2">When phone is locked</item>
        <item name="3">Always</item>
    </string-array>
    
    <string-array name="global_settings_notification_hide_subject_mode_values">
        <item name="1">NEVER</item>
        <item name="2">WHEN_LOCKED</item>
        <item name="3">ALWAYS</item>
    </string-array>
    
    <string name="global_settings_batch_buttons">Batch buttons</string>
    <string name="global_settings_batch_buttons_summary">Configure message list batch buttons</string>
+7 −4
Original line number Diff line number Diff line
@@ -348,11 +348,14 @@
        android:title="@string/privacy_preferences"
        android:key="privacy_preferences">

        <CheckBoxPreference
        <ListPreference
            android:persistent="false"
            android:key="privacy_mode"
            android:title="@string/global_settings_privacy_mode_title"
            android:summary="@string/global_settings_privacy_mode_summary"/>
            android:key="notification_hide_subject"
            android:defaultValue="NEVER"
            android:entries="@array/global_settings_notification_hide_subject_mode"
            android:entryValues="@array/global_settings_notification_hide_subject_mode_values"
            android:title="@string/global_settings_notification_hide_subject_mode_title"
            android:summary="@string/global_settings_notification_hide_subject_mode_summary"/>

    </PreferenceScreen>

+18 −8
Original line number Diff line number Diff line
@@ -155,7 +155,17 @@ public class K9 extends Application {
    private static boolean mConfirmDeleteStarred = false;
    private static boolean mConfirmSpam = false;
    private static boolean mConfirmMarkAllAsRead = true;
    private static boolean mKeyguardPrivacy = false;
    private static NotificationHideSubject mNotificationHideSubject = NotificationHideSubject.NEVER;
    /**
     * controls when to show the subject
     * in the notification area
     * -> Global Settings -> Privacy -> Notification
     */
    public enum NotificationHideSubject {
        ALWAYS,
        WHEN_LOCKED,
        NEVER
    }

    private static boolean mMessageListStars = true;
    private static boolean mMessageListCheckboxes = false;
@@ -465,7 +475,7 @@ public class K9 extends Application {
        editor.putString("sortTypeEnum", mSortType.name());
        editor.putBoolean("sortAscending", mSortAscending.get(mSortType));

        editor.putBoolean("keyguardPrivacy", mKeyguardPrivacy);
        editor.putString("notificationHideSubjectMode", mNotificationHideSubject.toString());

        editor.putBoolean("compactLayouts", compactLayouts);
        editor.putString("attachmentdefaultpath", mAttachmentDefaultPath);
@@ -629,7 +639,7 @@ public class K9 extends Application {
        boolean sortAscending = sprefs.getBoolean("sortAscending", Account.DEFAULT_SORT_ASCENDING);
        mSortAscending.put(mSortType, sortAscending);

        mKeyguardPrivacy = sprefs.getBoolean("keyguardPrivacy", false);
        mNotificationHideSubject = NotificationHideSubject.valueOf(sprefs.getString("notificationHideSubjectMode", NotificationHideSubject.NEVER.toString()));
        
        compactLayouts = sprefs.getBoolean("compactLayouts", false);
        mAttachmentDefaultPath = sprefs.getString("attachmentdefaultpath",  Environment.getExternalStorageDirectory().toString());
@@ -1050,12 +1060,12 @@ public class K9 extends Application {
    /**
     * @return Whether privacy rules should be applied when system is locked
     */
    public static boolean keyguardPrivacy() {
        return mKeyguardPrivacy;
    public static NotificationHideSubject getNotificationHideSubjectMode() {
        return mNotificationHideSubject;
    }

    public static void setKeyguardPrivacy(final boolean state) {
        mKeyguardPrivacy = state;
    public static void setNotificationHideSubjectMode(final NotificationHideSubject mode) {
        mNotificationHideSubject = mode;
    }

    public static boolean useCompactLayouts() {
+7 −5
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.widget.Toast;

import com.fsck.k9.Account;
import com.fsck.k9.K9;
import com.fsck.k9.K9.NotificationHideSubject;
import com.fsck.k9.Preferences;
import com.fsck.k9.R;
import com.fsck.k9.activity.Accounts;
@@ -56,7 +57,7 @@ public class Prefs extends K9PreferenceActivity {
    private static final String PREFERENCE_MANAGE_BACK = "manage_back";
    private static final String PREFERENCE_START_INTEGRATED_INBOX = "start_integrated_inbox";
    private static final String PREFERENCE_CONFIRM_ACTIONS = "confirm_actions";
    private static final String PREFERENCE_PRIVACY_MODE = "privacy_mode";
    private static final String PREFERENCE_NOTIFICATION_HIDE_SUBJECT = "notification_hide_subject";
    private static final String PREFERENCE_MEASURE_ACCOUNTS = "measure_accounts";
    private static final String PREFERENCE_COUNT_SEARCH = "count_search";
    private static final String PREFERENCE_HIDE_SPECIAL_ACCOUNTS = "hide_special_accounts";
@@ -101,7 +102,7 @@ public class Prefs extends K9PreferenceActivity {
    private CheckBoxPreference mManageBack;
    private CheckBoxPreference mStartIntegratedInbox;
    private CheckBoxListPreference mConfirmActions;
    private CheckBoxPreference mPrivacyMode;
    private ListPreference mNotificationHideSubjectMode;
    private CheckBoxPreference mMeasureAccounts;
    private CheckBoxPreference mCountSearch;
    private CheckBoxPreference mHideSpecialAccounts;
@@ -216,8 +217,8 @@ public class Prefs extends K9PreferenceActivity {
                                            K9.confirmMarkAllAsRead()
                                        });

        mPrivacyMode = (CheckBoxPreference) findPreference(PREFERENCE_PRIVACY_MODE);
        mPrivacyMode.setChecked(K9.keyguardPrivacy());
        mNotificationHideSubjectMode = (ListPreference) findPreference(PREFERENCE_NOTIFICATION_HIDE_SUBJECT);
        mNotificationHideSubjectMode.setValue(K9.getNotificationHideSubjectMode().toString());

        mMeasureAccounts = (CheckBoxPreference)findPreference(PREFERENCE_MEASURE_ACCOUNTS);
        mMeasureAccounts.setChecked(K9.measureAccounts());
@@ -426,7 +427,8 @@ public class Prefs extends K9PreferenceActivity {
        K9.setConfirmDeleteStarred(mConfirmActions.getCheckedItems()[1]);
        K9.setConfirmSpam(mConfirmActions.getCheckedItems()[2]);
        K9.setConfirmMarkAllAsRead(mConfirmActions.getCheckedItems()[3]);
        K9.setKeyguardPrivacy(mPrivacyMode.isChecked());
        K9.setNotificationHideSubjectMode(NotificationHideSubject.valueOf(mNotificationHideSubjectMode.getValue()));

        K9.setMeasureAccounts(mMeasureAccounts.isChecked());
        K9.setCountSearchMessages(mCountSearch.isChecked());
        K9.setHideSpecialAccounts(mHideSpecialAccounts.isChecked());
Loading