diff --git a/api/current.txt b/api/current.txt index eb5c17371693d..fd4eab7eb7e6f 100644 --- a/api/current.txt +++ b/api/current.txt @@ -6073,6 +6073,7 @@ package android.app.admin { field public static final int KEYGUARD_DISABLE_FEATURES_ALL = 2147483647; // 0x7fffffff field public static final int KEYGUARD_DISABLE_FEATURES_NONE = 0; // 0x0 field public static final int KEYGUARD_DISABLE_FINGERPRINT = 32; // 0x20 + field public static final int KEYGUARD_DISABLE_REMOTE_INPUT = 64; // 0x40 field public static final int KEYGUARD_DISABLE_SECURE_CAMERA = 2; // 0x2 field public static final int KEYGUARD_DISABLE_SECURE_NOTIFICATIONS = 4; // 0x4 field public static final int KEYGUARD_DISABLE_TRUST_AGENTS = 16; // 0x10 diff --git a/api/system-current.txt b/api/system-current.txt index b08cc28b1cc39..e4bce7973e435 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -6240,6 +6240,7 @@ package android.app.admin { field public static final int KEYGUARD_DISABLE_FEATURES_ALL = 2147483647; // 0x7fffffff field public static final int KEYGUARD_DISABLE_FEATURES_NONE = 0; // 0x0 field public static final int KEYGUARD_DISABLE_FINGERPRINT = 32; // 0x20 + field public static final int KEYGUARD_DISABLE_REMOTE_INPUT = 64; // 0x40 field public static final int KEYGUARD_DISABLE_SECURE_CAMERA = 2; // 0x2 field public static final int KEYGUARD_DISABLE_SECURE_NOTIFICATIONS = 4; // 0x4 field public static final int KEYGUARD_DISABLE_TRUST_AGENTS = 16; // 0x10 diff --git a/api/test-current.txt b/api/test-current.txt index 37b35da8a38ac..58fdebbfb1f7b 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -6078,6 +6078,7 @@ package android.app.admin { field public static final int KEYGUARD_DISABLE_FEATURES_ALL = 2147483647; // 0x7fffffff field public static final int KEYGUARD_DISABLE_FEATURES_NONE = 0; // 0x0 field public static final int KEYGUARD_DISABLE_FINGERPRINT = 32; // 0x20 + field public static final int KEYGUARD_DISABLE_REMOTE_INPUT = 64; // 0x40 field public static final int KEYGUARD_DISABLE_SECURE_CAMERA = 2; // 0x2 field public static final int KEYGUARD_DISABLE_SECURE_NOTIFICATIONS = 4; // 0x4 field public static final int KEYGUARD_DISABLE_TRUST_AGENTS = 16; // 0x10 diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index 451acf31447cc..f78ed1e032b71 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -2570,6 +2570,11 @@ public class DevicePolicyManager { */ public static final int KEYGUARD_DISABLE_FINGERPRINT = 1 << 5; + /** + * Disable text entry into notifications on secure keyguard screens (e.g. PIN/Pattern/Password). + */ + public static final int KEYGUARD_DISABLE_REMOTE_INPUT = 1 << 6; + /** * Disable all current and future keyguard customizations. */ diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index dc5957d70f783..593e170ab5a8f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -2246,9 +2246,12 @@ public abstract class BaseStatusBar extends SystemUI implements Settings.Secure.LOCK_SCREEN_ALLOW_REMOTE_INPUT, 0, mCurrentUserId) != 0; + final boolean remoteInputDpm = (dpmFlags + & DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT) == 0; + setShowLockscreenNotifications(show && allowedByDpm); - setLockScreenAllowRemoteInput(remoteInput); + setLockScreenAllowRemoteInput(remoteInput && remoteInputDpm); } protected abstract void setAreThereNotifications();