Loading services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +14 −2 Original line number Original line Diff line number Diff line Loading @@ -422,6 +422,8 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub private final HearingDevicePhoneCallNotificationController mHearingDeviceNotificationController; private final HearingDevicePhoneCallNotificationController mHearingDeviceNotificationController; private final UserManagerInternal mUmi; private final UserManagerInternal mUmi; private AccessibilityContentObserver mAccessibilityContentObserver; @NonNull @NonNull private AccessibilityUserState getCurrentUserStateLocked() { private AccessibilityUserState getCurrentUserStateLocked() { return getUserStateLocked(mCurrentUserId); return getUserStateLocked(mCurrentUserId); Loading Loading @@ -655,8 +657,9 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub private void init() { private void init() { mSecurityPolicy.setAccessibilityWindowManager(mA11yWindowManager); mSecurityPolicy.setAccessibilityWindowManager(mA11yWindowManager); registerBroadcastReceivers(); registerBroadcastReceivers(); new AccessibilityContentObserver(mMainHandler).register( mAccessibilityContentObserver = new AccessibilityContentObserver(mMainHandler); mContext.getContentResolver()); mAccessibilityContentObserver.register(mContext.getContentResolver()); List<Integer> supportedGestures = new ArrayList<>(); List<Integer> supportedGestures = new ArrayList<>(); if (enableTalkbackAndMagnifierKeyGestures()) { if (enableTalkbackAndMagnifierKeyGestures()) { supportedGestures.add(KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_MAGNIFICATION); supportedGestures.add(KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_MAGNIFICATION); Loading @@ -678,6 +681,11 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub disableAccessibilityMenuToMigrateIfNeeded(); disableAccessibilityMenuToMigrateIfNeeded(); } } @VisibleForTesting void unregisterObservers() { mAccessibilityContentObserver.unregister(mContext.getContentResolver()); } /** /** * Returns if the current thread is holding {@link #mLock}. Used for testing * Returns if the current thread is holding {@link #mLock}. Used for testing * deadlock bug fixes. * deadlock bug fixes. Loading Loading @@ -5950,6 +5958,10 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub } } } } public void unregister(ContentResolver contentResolver) { contentResolver.unregisterContentObserver(this); } @Override @Override public void onChange(boolean selfChange, Uri uri) { public void onChange(boolean selfChange, Uri uri) { synchronized (mLock) { synchronized (mLock) { Loading services/tests/servicestests/src/com/android/server/accessibility/AccessibilityInputFilterInputTest.kt +3 −0 Original line number Original line Diff line number Diff line Loading @@ -202,6 +202,9 @@ class AccessibilityInputFilterInputTest { if (this::inputManagerGlobalSession.isInitialized) { if (this::inputManagerGlobalSession.isInitialized) { inputManagerGlobalSession.close() inputManagerGlobalSession.close() } } if (this::ams.isInitialized) { ams.unregisterObservers() } } } /** /** Loading services/tests/servicestests/src/com/android/server/accessibility/AccessibilityInputFilterTest.java +1 −0 Original line number Original line Diff line number Diff line Loading @@ -203,6 +203,7 @@ public class AccessibilityInputFilterTest { public void tearDown() { public void tearDown() { mA11yInputFilter.onUninstalled(); mA11yInputFilter.onUninstalled(); mInputManagerGlobalSession.close(); mInputManagerGlobalSession.close(); mAms.unregisterObservers(); } } @Test @Test Loading Loading
services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +14 −2 Original line number Original line Diff line number Diff line Loading @@ -422,6 +422,8 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub private final HearingDevicePhoneCallNotificationController mHearingDeviceNotificationController; private final HearingDevicePhoneCallNotificationController mHearingDeviceNotificationController; private final UserManagerInternal mUmi; private final UserManagerInternal mUmi; private AccessibilityContentObserver mAccessibilityContentObserver; @NonNull @NonNull private AccessibilityUserState getCurrentUserStateLocked() { private AccessibilityUserState getCurrentUserStateLocked() { return getUserStateLocked(mCurrentUserId); return getUserStateLocked(mCurrentUserId); Loading Loading @@ -655,8 +657,9 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub private void init() { private void init() { mSecurityPolicy.setAccessibilityWindowManager(mA11yWindowManager); mSecurityPolicy.setAccessibilityWindowManager(mA11yWindowManager); registerBroadcastReceivers(); registerBroadcastReceivers(); new AccessibilityContentObserver(mMainHandler).register( mAccessibilityContentObserver = new AccessibilityContentObserver(mMainHandler); mContext.getContentResolver()); mAccessibilityContentObserver.register(mContext.getContentResolver()); List<Integer> supportedGestures = new ArrayList<>(); List<Integer> supportedGestures = new ArrayList<>(); if (enableTalkbackAndMagnifierKeyGestures()) { if (enableTalkbackAndMagnifierKeyGestures()) { supportedGestures.add(KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_MAGNIFICATION); supportedGestures.add(KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_MAGNIFICATION); Loading @@ -678,6 +681,11 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub disableAccessibilityMenuToMigrateIfNeeded(); disableAccessibilityMenuToMigrateIfNeeded(); } } @VisibleForTesting void unregisterObservers() { mAccessibilityContentObserver.unregister(mContext.getContentResolver()); } /** /** * Returns if the current thread is holding {@link #mLock}. Used for testing * Returns if the current thread is holding {@link #mLock}. Used for testing * deadlock bug fixes. * deadlock bug fixes. Loading Loading @@ -5950,6 +5958,10 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub } } } } public void unregister(ContentResolver contentResolver) { contentResolver.unregisterContentObserver(this); } @Override @Override public void onChange(boolean selfChange, Uri uri) { public void onChange(boolean selfChange, Uri uri) { synchronized (mLock) { synchronized (mLock) { Loading
services/tests/servicestests/src/com/android/server/accessibility/AccessibilityInputFilterInputTest.kt +3 −0 Original line number Original line Diff line number Diff line Loading @@ -202,6 +202,9 @@ class AccessibilityInputFilterInputTest { if (this::inputManagerGlobalSession.isInitialized) { if (this::inputManagerGlobalSession.isInitialized) { inputManagerGlobalSession.close() inputManagerGlobalSession.close() } } if (this::ams.isInitialized) { ams.unregisterObservers() } } } /** /** Loading
services/tests/servicestests/src/com/android/server/accessibility/AccessibilityInputFilterTest.java +1 −0 Original line number Original line Diff line number Diff line Loading @@ -203,6 +203,7 @@ public class AccessibilityInputFilterTest { public void tearDown() { public void tearDown() { mA11yInputFilter.onUninstalled(); mA11yInputFilter.onUninstalled(); mInputManagerGlobalSession.close(); mInputManagerGlobalSession.close(); mAms.unregisterObservers(); } } @Test @Test Loading