From b978ce7f25011add50e900d5745f3e066cddfd55 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Thu, 6 Aug 2015 14:49:36 -0400 Subject: [PATCH] Allow system to disable lockscreen Even when there is a pin. Bug: 22920549 Change-Id: Ib84e1c3ac67be0318d4186c66ee582a49969e373 --- .../android/systemui/keyguard/KeyguardViewMediator.java | 5 ----- .../java/com/android/server/wm/WindowManagerService.java | 7 ++++++- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index 9f86a52c20c16..c1df788d41086 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -841,11 +841,6 @@ public class KeyguardViewMediator extends SystemUI { synchronized (this) { if (DEBUG) Log.d(TAG, "setKeyguardEnabled(" + enabled + ")"); - if (isSecure()) { - Log.d(TAG, "current mode is SecurityMode, ignore hide keyguard"); - return; - } - mExternallyEnabled = enabled; if (!enabled && mShowing) { diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 26e75bd30df1c..bc5ef36fc3476 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -155,7 +155,6 @@ import static android.view.WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW; import static android.view.WindowManager.LayoutParams.FIRST_SUB_WINDOW; import static android.view.WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM; import static android.view.WindowManager.LayoutParams.FLAG_DIM_BEHIND; -import static android.view.WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS; import static android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; import static android.view.WindowManager.LayoutParams.FLAG_SECURE; @@ -5367,6 +5366,12 @@ public class WindowManagerService extends IWindowManager.Stub != PackageManager.PERMISSION_GRANTED) { throw new SecurityException("Requires DISABLE_KEYGUARD permission"); } + // If this isn't coming from the system then don't allow disabling the lockscreen + // to bypass security. + if (Binder.getCallingUid() != Process.SYSTEM_UID && isKeyguardSecure()) { + Log.d(TAG, "current mode is SecurityMode, ignore hide keyguard"); + return; + } if (token == null) { throw new IllegalArgumentException("token == null");