diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index 7438033362e7b..aff64e3cd0151 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); } }