diff options
| -rw-r--r-- | services/core/java/com/android/server/clipboard/ClipboardService.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/clipboard/ClipboardService.java b/services/core/java/com/android/server/clipboard/ClipboardService.java index 383f11604acb..83ec036fe94b 100644 --- a/services/core/java/com/android/server/clipboard/ClipboardService.java +++ b/services/core/java/com/android/server/clipboard/ClipboardService.java @@ -307,10 +307,15 @@ public class ClipboardService extends IClipboard.Stub { } private boolean isDeviceLocked() { - final KeyguardManager keyguardManager = (KeyguardManager) mContext.getSystemService( - Context.KEYGUARD_SERVICE); - return keyguardManager != null && keyguardManager.isKeyguardLocked() + final long token = Binder.clearCallingIdentity(); + try { + final KeyguardManager keyguardManager = (KeyguardManager) mContext.getSystemService( + Context.KEYGUARD_SERVICE); + return keyguardManager != null && keyguardManager.isKeyguardLocked() && keyguardManager.isKeyguardSecure(); + } finally { + Binder.restoreCallingIdentity(token); + } } private final void checkUriOwnerLocked(Uri uri, int uid) { |