From 0c696c943c0bbecf9ef21c21b397e739e778b462 Mon Sep 17 00:00:00 2001 From: Rubin Xu Date: Fri, 22 Mar 2019 13:31:28 +0000 Subject: [PATCH] Fix SecurityException when calling DevicePolicyManager.setMaximumTimeToLock Test: atest com.android.cts.devicepolicy.DeviceOwnerTest#testSecurityLoggingWithSingleUser (only on cuttlefish) Change-Id: Icd8a24481c281842e9690c6e16c9c31d2d613a2c Fix: 127264133 --- .../server/devicepolicy/DevicePolicyManagerService.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 2d014718a47b..b53f762c2ce9 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -5246,12 +5246,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { // would allow bypassing of the maximum time to lock. mInjector.settingsGlobalPutInt(Settings.Global.STAY_ON_WHILE_PLUGGED_IN, 0); } + getPowerManagerInternal().setMaximumScreenOffTimeoutFromDeviceAdmin( + UserHandle.USER_SYSTEM, timeMs); } finally { mInjector.binderRestoreCallingIdentity(ident); } - - getPowerManagerInternal().setMaximumScreenOffTimeoutFromDeviceAdmin( - UserHandle.USER_SYSTEM, timeMs); } private void updateProfileLockTimeoutLocked(@UserIdInt int userId) { @@ -5269,8 +5268,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } policy.mLastMaximumTimeToLock = timeMs; - getPowerManagerInternal().setMaximumScreenOffTimeoutFromDeviceAdmin( - userId, policy.mLastMaximumTimeToLock); + final long ident = mInjector.binderClearCallingIdentity(); + try { + getPowerManagerInternal().setMaximumScreenOffTimeoutFromDeviceAdmin( + userId, policy.mLastMaximumTimeToLock); + } finally { + mInjector.binderRestoreCallingIdentity(ident); + } } @Override -- 2.11.0