diff options
| author | 2017-09-13 12:19:41 -0700 | |
|---|---|---|
| committer | 2017-09-13 21:43:26 +0000 | |
| commit | 395e162a0bf21c7e67923b9ae5fc9aded2d128a7 (patch) | |
| tree | 22b595ceccb9539f3a05c2a9bd8e345380a2c0c8 | |
| parent | 106e58f93c1c98f45474746e35aa6eb89b9f7754 (diff) | |
Fix ClipboardService device lock check for cross profile
ClipboardService.isDeviceLocked should clear callingIdentity before
accessing KeyguardManager.
Test: bit CtsDevicePolicyManagerTestCases:com.android.cts.devicepolicy.ManagedProfileTest
Bug: 64934810
Change-Id: I712abfe8d542cd1be9c1816f407c8912321ac480
| -rw-r--r-- | services/core/java/com/android/server/clipboard/ClipboardService.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/clipboard/ClipboardService.java b/services/core/java/com/android/server/clipboard/ClipboardService.java index efc930ebf8ea..e6228d46e15c 100644 --- a/services/core/java/com/android/server/clipboard/ClipboardService.java +++ b/services/core/java/com/android/server/clipboard/ClipboardService.java @@ -435,9 +435,14 @@ public class ClipboardService extends SystemService { } private boolean isDeviceLocked() { - final KeyguardManager keyguardManager = getContext().getSystemService( + final long token = Binder.clearCallingIdentity(); + try { + final KeyguardManager keyguardManager = getContext().getSystemService( KeyguardManager.class); - return keyguardManager != null && keyguardManager.isDeviceLocked(); + return keyguardManager != null && keyguardManager.isDeviceLocked(); + } finally { + Binder.restoreCallingIdentity(token); + } } private final void checkUriOwnerLocked(Uri uri, int uid) { |