From 44fcf29a027005d10abb47f9c8a33f16c2a948d9 Mon Sep 17 00:00:00 2001 From: Neil Fuller Date: Mon, 2 Dec 2019 16:37:28 +0000 Subject: [PATCH] Fix DevicePolicyManager setTime() behavior / tests Fix DevicePolicyManagerService setTime() behavior and associated CTS tests. Since change ID If48d465fce04c094a997b25c8b62fcf0c3386ebe, DevicePolicyManagerService calls TimeDetector.suggestManualTime(). Before doing so it clears client permissions so it is reliant on system server permissions. The permission check for suggestManualTime() should therefore be a enforceCallingOrSelfPermission() not a enforceCallingPermission(). Bug: 145508391 Bug: 140712361 Test: atest com.android.cts.devicepolicy.DeviceOwnerTest#testSetTime Change-Id: I20678e145127fd67f356f1c29abc30b484278231 --- .../com/android/server/timedetector/TimeDetectorService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/timedetector/TimeDetectorService.java b/services/core/java/com/android/server/timedetector/TimeDetectorService.java index 09309751d4937..7f5b4030306f6 100644 --- a/services/core/java/com/android/server/timedetector/TimeDetectorService.java +++ b/services/core/java/com/android/server/timedetector/TimeDetectorService.java @@ -149,6 +149,6 @@ public final class TimeDetectorService extends ITimeDetectorService.Stub { } private void enforceSuggestManualTimePermission() { - mContext.enforceCallingPermission(android.Manifest.permission.SET_TIME, "set time"); + mContext.enforceCallingOrSelfPermission(android.Manifest.permission.SET_TIME, "set time"); } }