Loading services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +10 −13 Original line number Original line Diff line number Diff line Loading @@ -379,25 +379,20 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub @Override @Override public void onPackageUpdateFinished(String packageName, int uid) { public void onPackageUpdateFinished(String packageName, int uid) { // Unbind all services from this package, and then update the user state to // The package should already be removed from mBoundServices, and added into // re-bind new versions of them. // mBindingServices in binderDied() during updating. Remove services from this // package from mBindingServices, and then update the user state to re-bind new // versions of them. synchronized (mLock) { synchronized (mLock) { final int userId = getChangingUserId(); final int userId = getChangingUserId(); if (userId != mCurrentUserId) { if (userId != mCurrentUserId) { return; return; } } UserState userState = getUserStateLocked(userId); UserState userState = getUserStateLocked(userId); boolean unboundAService = false; boolean reboundAService = userState.mBindingServices.removeIf( for (int i = userState.mBoundServices.size() - 1; i >= 0; i--) { component -> component != null AccessibilityServiceConnection boundService = && component.getPackageName().equals(packageName)); userState.mBoundServices.get(i); if (reboundAService) { String servicePkg = boundService.mComponentName.getPackageName(); if (servicePkg.equals(packageName)) { boundService.unbindLocked(); unboundAService = true; } } if (unboundAService) { onUserStateChangedLocked(userState); onUserStateChangedLocked(userState); } } } } Loading @@ -419,6 +414,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub String compPkg = comp.getPackageName(); String compPkg = comp.getPackageName(); if (compPkg.equals(packageName)) { if (compPkg.equals(packageName)) { it.remove(); it.remove(); userState.mBindingServices.remove(comp); // Update the enabled services setting. // Update the enabled services setting. persistComponentNamesToSettingLocked( persistComponentNamesToSettingLocked( Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, Loading Loading @@ -457,6 +453,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub return true; return true; } } it.remove(); it.remove(); userState.mBindingServices.remove(comp); persistComponentNamesToSettingLocked( persistComponentNamesToSettingLocked( Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, userState.mEnabledServices, userId); userState.mEnabledServices, userId); Loading services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -253,11 +253,11 @@ class AccessibilityServiceConnection extends AbstractAccessibilityServiceConnect return; return; } } mWasConnectedAndDied = true; mWasConnectedAndDied = true; mSystemSupport.getKeyEventDispatcher().flush(this); UserState userState = mUserStateWeakReference.get(); UserState userState = mUserStateWeakReference.get(); if (userState != null) { if (userState != null) { userState.serviceDisconnectedLocked(this); userState.serviceDisconnectedLocked(this); } } resetLocked(); mSystemSupport.getMagnificationController().resetIfNeeded(mId); mSystemSupport.getMagnificationController().resetIfNeeded(mId); mSystemSupport.onClientChange(false); mSystemSupport.onClientChange(false); } } Loading Loading
services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +10 −13 Original line number Original line Diff line number Diff line Loading @@ -379,25 +379,20 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub @Override @Override public void onPackageUpdateFinished(String packageName, int uid) { public void onPackageUpdateFinished(String packageName, int uid) { // Unbind all services from this package, and then update the user state to // The package should already be removed from mBoundServices, and added into // re-bind new versions of them. // mBindingServices in binderDied() during updating. Remove services from this // package from mBindingServices, and then update the user state to re-bind new // versions of them. synchronized (mLock) { synchronized (mLock) { final int userId = getChangingUserId(); final int userId = getChangingUserId(); if (userId != mCurrentUserId) { if (userId != mCurrentUserId) { return; return; } } UserState userState = getUserStateLocked(userId); UserState userState = getUserStateLocked(userId); boolean unboundAService = false; boolean reboundAService = userState.mBindingServices.removeIf( for (int i = userState.mBoundServices.size() - 1; i >= 0; i--) { component -> component != null AccessibilityServiceConnection boundService = && component.getPackageName().equals(packageName)); userState.mBoundServices.get(i); if (reboundAService) { String servicePkg = boundService.mComponentName.getPackageName(); if (servicePkg.equals(packageName)) { boundService.unbindLocked(); unboundAService = true; } } if (unboundAService) { onUserStateChangedLocked(userState); onUserStateChangedLocked(userState); } } } } Loading @@ -419,6 +414,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub String compPkg = comp.getPackageName(); String compPkg = comp.getPackageName(); if (compPkg.equals(packageName)) { if (compPkg.equals(packageName)) { it.remove(); it.remove(); userState.mBindingServices.remove(comp); // Update the enabled services setting. // Update the enabled services setting. persistComponentNamesToSettingLocked( persistComponentNamesToSettingLocked( Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, Loading Loading @@ -457,6 +453,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub return true; return true; } } it.remove(); it.remove(); userState.mBindingServices.remove(comp); persistComponentNamesToSettingLocked( persistComponentNamesToSettingLocked( Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, userState.mEnabledServices, userId); userState.mEnabledServices, userId); Loading
services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -253,11 +253,11 @@ class AccessibilityServiceConnection extends AbstractAccessibilityServiceConnect return; return; } } mWasConnectedAndDied = true; mWasConnectedAndDied = true; mSystemSupport.getKeyEventDispatcher().flush(this); UserState userState = mUserStateWeakReference.get(); UserState userState = mUserStateWeakReference.get(); if (userState != null) { if (userState != null) { userState.serviceDisconnectedLocked(this); userState.serviceDisconnectedLocked(this); } } resetLocked(); mSystemSupport.getMagnificationController().resetIfNeeded(mId); mSystemSupport.getMagnificationController().resetIfNeeded(mId); mSystemSupport.onClientChange(false); mSystemSupport.onClientChange(false); } } Loading