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

Commit 9970338a authored by Jacky Kao's avatar Jacky Kao Committed by Android (Google) Code Review
Browse files

Merge "Fixing A11yServiceInfo.packageNames set to Null not work"

parents 94eb3025 2580b437
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -295,6 +295,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        mEventTypes = info.eventTypes;
        mFeedbackType = info.feedbackType;
        String[] packageNames = info.packageNames;
        mPackageNames.clear();
        if (packageNames != null) {
            mPackageNames.addAll(Arrays.asList(packageNames));
        }
+20 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.nullValue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyLong;
@@ -270,6 +271,25 @@ public class AbstractAccessibilityServiceConnectionTest {
        verify(mMockSystemSupport).onClientChangeLocked(true);
    }

    @Test
    public void setServiceInfo_ChangePackageNames_updateSuccess() {
        assertTrue(mServiceConnection.mPackageNames.isEmpty());

        final AccessibilityServiceInfo serviceInfo = new AccessibilityServiceInfo();
        updateServiceInfo(serviceInfo, 0, 0, A11Y_SERVICE_FLAG,
                new String[] {PACKAGE_NAME1, PACKAGE_NAME2},
                1000);

        mServiceConnection.setServiceInfo(serviceInfo);
        assertEquals(serviceInfo.packageNames.length, mServiceConnection.mPackageNames.size());
        assertTrue(mServiceConnection.mPackageNames.containsAll(
                Arrays.asList(mServiceConnection.getServiceInfo().packageNames)));

        updateServiceInfo(serviceInfo, 0, 0, A11Y_SERVICE_FLAG, null, 1000);
        mServiceConnection.setServiceInfo(serviceInfo);
        assertTrue(mServiceConnection.mPackageNames.isEmpty());
    }

    @Test
    public void canReceiveEvents_hasEventType_returnTrue() {
        final AccessibilityServiceInfo serviceInfo = new AccessibilityServiceInfo();