summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Siyamed Sinir <siyamed@google.com> 2017-09-13 12:19:41 -0700
committer Siyamed Sinir <siyamed@google.com> 2017-09-13 21:43:26 +0000
commit395e162a0bf21c7e67923b9ae5fc9aded2d128a7 (patch)
tree22b595ceccb9539f3a05c2a9bd8e345380a2c0c8
parent106e58f93c1c98f45474746e35aa6eb89b9f7754 (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.java9
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) {