From 7fbb93d4aadda717fef8d943bdec0541f26f303d Mon Sep 17 00:00:00 2001 From: Benjamin Franz Date: Tue, 12 Jul 2016 15:20:47 +0100 Subject: [PATCH] DO NOT MERGE Block the user from entering safe boot mode Block the user from entering safe boot mode if the DISALLOW_SAFE_BOOT policy is set. Bug: 26251884 Change-Id: I4945d5d676928346c11ea305a5b6a2e1a42e94e6 --- .../java/com/android/server/wm/WindowManagerService.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 03c10d4d3abc2..88ef1aefdf3a0 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -65,6 +65,7 @@ import android.os.SystemProperties; import android.os.SystemService; import android.os.Trace; import android.os.UserHandle; +import android.os.UserManager; import android.os.WorkSource; import android.provider.Settings; import android.util.ArraySet; @@ -7612,6 +7613,12 @@ public class WindowManagerService extends IWindowManager.Stub + " milliseconds before attempting to detect safe mode."); } + UserManager um = (UserManager) mContext.getSystemService(Context.USER_SERVICE); + if (um != null && um.hasUserRestriction(UserManager.DISALLOW_SAFE_BOOT)) { + mSafeMode = false; + return false; + } + int menuState = mInputManager.getKeyCodeState(-1, InputDevice.SOURCE_ANY, KeyEvent.KEYCODE_MENU); int sState = mInputManager.getKeyCodeState(-1, InputDevice.SOURCE_ANY, KeyEvent.KEYCODE_S);