diff --git a/api/current.txt b/api/current.txt index 8b92415d1c6e7..b9af334058522 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 2c156831ce6ea..0cb6bb0732a86 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 bd5167294c30d..a924c75e8cf0b 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 44ceddebd5c7b..0ab86040c5f62 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -2250,9 +2250,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();