From 7f06eed7f528096cd3597dafa0c2b37cb6e7f921 Mon Sep 17 00:00:00 2001 From: Adrian Roos Date: Fri, 5 Feb 2016 15:21:02 -0800 Subject: [PATCH] DPM control for remote input when locked Bug: 26981262 Change-Id: I84f26ebe807e89fd56ffc3bbc7fc20f12e2f7391 --- api/current.txt | 1 + api/system-current.txt | 1 + api/test-current.txt | 1 + core/java/android/app/admin/DevicePolicyManager.java | 5 +++++ .../src/com/android/systemui/statusbar/BaseStatusBar.java | 5 ++++- 5 files changed, 12 insertions(+), 1 deletion(-) diff --git a/api/current.txt b/api/current.txt index adbc76a2bf91f..1726565303893 100644 --- a/api/current.txt +++ b/api/current.txt @@ -6066,6 +6066,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 a57e14b0e9cad..c58df21064a67 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -6233,6 +6233,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 2f28265c40241..8021defcf33de 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -6071,6 +6071,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();