diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index d900b378c2c89..4e5bb210b7536 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -2298,11 +2298,16 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { public boolean bindLocked() { UserState userState = getUserStateLocked(mUserId); if (!mIsAutomation) { - if (mService == null && mContext.bindServiceAsUser( - mIntent, this, - Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE, - new UserHandle(mUserId))) { - userState.mBindingServices.add(mComponentName); + final long identity = Binder.clearCallingIdentity(); + try { + if (mService == null && mContext.bindServiceAsUser( + mIntent, this, + Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE, + new UserHandle(mUserId))) { + userState.mBindingServices.add(mComponentName); + } + } finally { + Binder.restoreCallingIdentity(identity); } } else { userState.mBindingServices.add(mComponentName);