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

Commit 7129c4b1 authored by Steve Elliott's avatar Steve Elliott
Browse files

Secure setting to control seen notif filter

Bug: 254647461
Test: manual
   1: adb shell settings put secure \
      lock_screen_show_only_unseen_notifications <0|1>
   Observe: seen notifs will appear / disappear from keyguard
Change-Id: Ia660fabc7077f5060e3b63d36dca2eb6310d792e
parent 715ec8b3
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -9513,6 +9513,16 @@ public final class Settings {
        public static final String LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS =
                "lock_screen_show_silent_notifications";
        /**
         * Indicates whether "seen" notifications should be suppressed from the lockscreen.
         * <p>
         * Type: int (0 for false, 1 for true)
         *
         * @hide
         */
        public static final String LOCK_SCREEN_SHOW_ONLY_UNSEEN_NOTIFICATIONS =
                "lock_screen_show_only_unseen_notifications";
        /**
         * Indicates whether snooze options should be shown on notifications
         * <p>
+3 −0
Original line number Diff line number Diff line
@@ -165,6 +165,9 @@
    <!-- Default for Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS -->
    <bool name="def_lock_screen_allow_private_notifications">true</bool>

    <!-- Default for Settings.Secure.LOCK_SCREEN_SHOW_ONLY_UNSEEN_NOTIFICATIONS -->
    <bool name="def_lock_screen_show_only_unseen_notifications">false</bool>

    <!-- Default for Settings.Global.HEADS_UP_NOTIFICATIONS_ENABLED, 1==on -->
    <integer name="def_heads_up_enabled">1</integer>

+1 −0
Original line number Diff line number Diff line
@@ -146,6 +146,7 @@ public class SecureSettings {
        Settings.Secure.LOCK_SCREEN_CUSTOM_CLOCK_FACE,
        Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS,
        Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS,
        Settings.Secure.LOCK_SCREEN_SHOW_ONLY_UNSEEN_NOTIFICATIONS,
        Settings.Secure.SHOW_NOTIFICATION_SNOOZE,
        Settings.Secure.NOTIFICATION_HISTORY_ENABLED,
        Settings.Secure.ZEN_DURATION,
+1 −0
Original line number Diff line number Diff line
@@ -219,6 +219,7 @@ public class SecureSettingsValidators {
        VALIDATORS.put(Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Secure.LOCK_SCREEN_SHOW_ONLY_UNSEEN_NOTIFICATIONS, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Secure.SHOW_NOTIFICATION_SNOOZE, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Secure.NOTIFICATION_HISTORY_ENABLED, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Secure.ZEN_DURATION, ANY_INTEGER_VALIDATOR);
+21 −1
Original line number Diff line number Diff line
@@ -3631,7 +3631,7 @@ public class SettingsProvider extends ContentProvider {
        }

        private final class UpgradeController {
            private static final int SETTINGS_VERSION = 211;
            private static final int SETTINGS_VERSION = 212;

            private final int mUserId;

@@ -5527,6 +5527,26 @@ public class SettingsProvider extends ContentProvider {
                    }
                    currentVersion = 211;
                }
                if (currentVersion == 211) {
                    // Version 211: Set default value for
                    // Secure#LOCK_SCREEN_SHOW_ONLY_UNSEEN_NOTIFICATIONS
                    final SettingsState secureSettings = getSecureSettingsLocked(userId);
                    final Setting lockScreenUnseenSetting = secureSettings
                            .getSettingLocked(Secure.LOCK_SCREEN_SHOW_ONLY_UNSEEN_NOTIFICATIONS);
                    if (lockScreenUnseenSetting.isNull()) {
                        final boolean defSetting = getContext().getResources()
                                .getBoolean(R.bool.def_lock_screen_show_only_unseen_notifications);
                        secureSettings.insertSettingOverrideableByRestoreLocked(
                                Secure.LOCK_SCREEN_SHOW_ONLY_UNSEEN_NOTIFICATIONS,
                                defSetting ? "1" : "0",
                                null /* tag */,
                                true /* makeDefault */,
                                SettingsState.SYSTEM_PACKAGE_NAME);
                    }

                    currentVersion = 212;
                }

                // vXXX: Add new settings above this point.

                if (currentVersion != newVersion) {
Loading