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

Commit bb338d7a authored by Chun-Ku Lin's avatar Chun-Ku Lin
Browse files

Prevent NPE by return empty list

Bug: 329502978
Test: atest ProxyAccessibilityServiceConnectionTest

Flag: EXEMPT simple bug fix
Change-Id: I93f876e324044311780fba6ebeeb53f174d5056b
(cherry picked from commit fbc3ca8e)
parent 9a079170
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -126,7 +126,7 @@ public class ProxyAccessibilityServiceConnection extends AccessibilityServiceCon
     * @param infos the list of enabled and installed services.
     */
    @Override
    public void setInstalledAndEnabledServices(List<AccessibilityServiceInfo> infos) {
    public void setInstalledAndEnabledServices(@NonNull List<AccessibilityServiceInfo> infos) {
        final long identity = Binder.clearCallingIdentity();
        try {
            synchronized (mLock) {
@@ -216,9 +216,11 @@ public class ProxyAccessibilityServiceConnection extends AccessibilityServiceCon
    }

    @Override
    @NonNull
    public List<AccessibilityServiceInfo> getInstalledAndEnabledServices() {
        synchronized (mLock) {
            return mInstalledAndEnabledServices;
            return mInstalledAndEnabledServices != null
                    ? mInstalledAndEnabledServices : Collections.emptyList();
        }
    }

+13 −8
Original line number Diff line number Diff line
@@ -24,6 +24,13 @@ import static android.accessibilityservice.AccessibilityServiceInfo.FLAG_REQUEST

import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;

import static com.google.common.truth.Truth.assertThat;

import static org.junit.Assert.assertThrows;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.accessibilityservice.AccessibilityServiceInfo;
import android.accessibilityservice.AccessibilityTrace;
import android.content.ComponentName;
@@ -33,13 +40,6 @@ import android.graphics.Color;
import android.os.Handler;
import android.view.accessibility.AccessibilityEvent;

import static com.google.common.truth.Truth.assertThat;

import static org.junit.Assert.assertThrows;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import com.android.server.wm.WindowManagerInternal;

import org.junit.Before;
@@ -225,7 +225,7 @@ public class ProxyAccessibilityServiceConnectionTest {
    }

    @Test
    public void testDisableSelf_setIllegalOperationExceptionThrown_() {
    public void testDisableSelf_setIllegalOperationExceptionThrown() {
        UnsupportedOperationException thrown =
                assertThrows(
                        UnsupportedOperationException.class,
@@ -233,4 +233,9 @@ public class ProxyAccessibilityServiceConnectionTest {

        assertThat(thrown).hasMessageThat().contains("disableSelf is not supported");
    }

    @Test
    public void getInstalledAndEnabledServices_noServices_returnEmpty() {
        assertThat(mProxyConnection.getInstalledAndEnabledServices()).isEmpty();
    }
}