diff options
Diffstat (limited to 'services/accessibility/java/com/android')
| -rw-r--r-- | services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index 7438033..aff64e3 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -1610,10 +1610,15 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { if (userState.mUserId != UserHandle.USER_OWNER) { return; } - if (hasRunningServicesLocked(userState) && LockPatternUtils.isDeviceEncrypted()) { - // If there are running accessibility services we do not have encryption as - // the user needs the accessibility layer to be running to authenticate. - mLockPatternUtils.clearEncryptionPassword(); + final long identity = Binder.clearCallingIdentity(); + try { + if (hasRunningServicesLocked(userState) && LockPatternUtils.isDeviceEncrypted()) { + // If there are running accessibility services we do not have encryption as + // the user needs the accessibility layer to be running to authenticate. + mLockPatternUtils.clearEncryptionPassword(); + } + } finally { + Binder.restoreCallingIdentity(identity); } } |
