Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d0dba9b0 authored by Hiroki Sato's avatar Hiroki Sato Committed by Android (Google) Code Review
Browse files

Merge "Fix FrameworksServicesTests crash in A11yManagerService" into main

parents fa935303 14815501
Loading
Loading
Loading
Loading
+14 −2
Original line number Original line Diff line number Diff line
@@ -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);
@@ -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);
@@ -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.
@@ -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) {
+3 −0
Original line number Original line Diff line number Diff line
@@ -202,6 +202,9 @@ class AccessibilityInputFilterInputTest {
        if (this::inputManagerGlobalSession.isInitialized) {
        if (this::inputManagerGlobalSession.isInitialized) {
            inputManagerGlobalSession.close()
            inputManagerGlobalSession.close()
        }
        }
        if (this::ams.isInitialized) {
            ams.unregisterObservers()
        }
    }
    }


    /**
    /**
+1 −0
Original line number Original line Diff line number Diff line
@@ -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