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

Commit 5d7c3cc6 authored by Dan Sandler's avatar Dan Sandler
Browse files

Settings.Global.LOCK_SCREEN_SHOW_NOTIFICATIONS.

  $ adb shell settings put global lock_screen_show_notifications 1

Previously a per-user secure setting
(Settings.Secure.LOCK_SCREEN_ALLOW_NOTIFICATIONS), but this
doesn't really make a lot of sense since this behavior
pertains to areas of the system (keyguard, status bar) that
exist outside of any one user.

This setting now effectively enables notifications on the
secure lockscreen for all users.

Change-Id: I9c5179498dbbba9343184efdedb1587ea862cf96
parent fd16d564
Loading
Loading
Loading
Loading
+11 −10
Original line number Diff line number Diff line
@@ -3468,16 +3468,8 @@ public final class Settings {
            "lock_screen_owner_info_enabled";

        /**
         * This preference enables expanding the notification panel even over a securely
         * locked screen, showing only "public" notifications in this case.
         * @hide
         */
        public static final String LOCK_SCREEN_ALLOW_NOTIFICATIONS =
                "lock_screen_allow_notifications";

        /**
         * When set in conjunction with {@link #LOCK_SCREEN_ALLOW_NOTIFICATIONS}, shows
         * notifications in their "private" form (same as when the device is unlocked).
         * When set by a user, allows notifications to be shown atop a securely locked screen
         * in their full "private" form (same as when the device is unlocked).
         * @hide
         */
        public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS =
@@ -6074,6 +6066,15 @@ public final class Settings {
         */
        public static final String POLICY_CONTROL = "policy_control";


        /**
         * This preference enables notification display even over a securely
         * locked screen.
         * @hide
         */
        public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS =
                "lock_screen_show_notifications";

        /**
         * Settings to backup. This is here so that it's in the same place as the settings
         * keys and easy to update.
+1 −1
Original line number Diff line number Diff line
@@ -330,7 +330,7 @@ public class KeyguardViewManager {

    private boolean allowNotificationsOnSecureKeyguard() {
        ContentResolver cr = mContext.getContentResolver();
        return Settings.Secure.getInt(cr, Settings.Secure.LOCK_SCREEN_ALLOW_NOTIFICATIONS, 0) == 1;
        return Settings.Global.getInt(cr, Settings.Global.LOCK_SCREEN_SHOW_NOTIFICATIONS, 0) == 1;
    }

    private KeyguardViewBase inflateKeyguardView(Bundle options, int layoutId) {
+5 −5
Original line number Diff line number Diff line
@@ -151,13 +151,13 @@ public class KeyguardViewMediator {

    /**
     * Allow the user to expand the status bar when a SECURE keyguard is engaged
     * and {@link Settings.Secure#LOCK_SCREEN_ALLOW_NOTIFICATIONS} is set
     * and {@link Settings.Global#LOCK_SCREEN_SHOW_NOTIFICATIONS} is set
     * (private notifications will be masked).
     */
    private static final boolean ENABLE_SECURE_STATUS_BAR_EXPAND = true;

    /**
     * Default value of {@link Settings.Secure#LOCK_SCREEN_ALLOW_NOTIFICATIONS}.
     * Default value of {@link Settings.Global#LOCK_SCREEN_SHOW_NOTIFICATIONS}.
     */
    private static final boolean ALLOW_NOTIFICATIONS_DEFAULT = false;

@@ -258,7 +258,7 @@ public class KeyguardViewMediator {
    private int mLockSoundStreamId;

    /**
     * Tracks value of {@link Settings.Secure#LOCK_SCREEN_ALLOW_NOTIFICATIONS}.
     * Tracks value of {@link Settings.Global#LOCK_SCREEN_SHOW_NOTIFICATIONS}.
     */
    private boolean mAllowNotificationsWhenSecure;

@@ -913,9 +913,9 @@ public class KeyguardViewMediator {

        // note whether notification access should be allowed
        mAllowNotificationsWhenSecure = ENABLE_SECURE_STATUS_BAR_EXPAND
                && 0 != Settings.Secure.getInt(
                && 0 != Settings.Global.getInt(
                        mContext.getContentResolver(),
                        Settings.Secure.LOCK_SCREEN_ALLOW_NOTIFICATIONS,
                        Settings.Global.LOCK_SCREEN_SHOW_NOTIFICATIONS,
                        ALLOW_NOTIFICATIONS_DEFAULT ? 1 : 0);

        // if the keyguard is already showing, don't bother