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

Commit 1eac68b1 authored by Jackal Guo's avatar Jackal Guo
Browse files

Fix failure in postsubmit

There are some package-pricate classes and methods in a11y framework
so we use DexmakerShareClassLoaderRule to mock them. However, this
results in some unexpected excpetions during testing. Change some of
them to public with @VisibleForTesting annotation, and remove the
DexmakerShareClassLoaderRule to avoid the exception.

Bug: 149362507
Test: atest FrameworksServicesTests:com.android.server.accessibility
Change-Id: I1e526ca79cf14b3d394ee132480dcd8c226ae69a
parent 34cbb221
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityWindowInfo;
import android.view.accessibility.IAccessibilityInteractionConnection;

import com.android.internal.annotations.VisibleForTesting;
import com.android.server.accessibility.AccessibilitySecurityPolicy.AccessibilityUserManager;
import com.android.server.wm.WindowManagerInternal;

@@ -781,7 +782,9 @@ public class AccessibilityWindowManager {
    /**
     * Wrapper of accessibility interaction connection for window.
     */
    final class RemoteAccessibilityConnection implements IBinder.DeathRecipient {
    // In order to avoid using DexmakerShareClassLoaderRule, make this class visible for testing.
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
    public final class RemoteAccessibilityConnection implements IBinder.DeathRecipient {
        private final int mUid;
        private final String mPackageName;
        private final int mWindowId;
+2 −1
Original line number Diff line number Diff line
@@ -193,7 +193,8 @@ public class SystemActionPerformer {
    /**
     * This method returns the list of available system actions.
     */
    List<AccessibilityAction> getSystemActions() {
    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
    public List<AccessibilityAction> getSystemActions() {
        List<AccessibilityAction> systemActions = new ArrayList<>();
        synchronized (mSystemActionLock) {
            for (Map.Entry<Integer, RemoteAction> entry : mRegisteredSystemActions.entrySet()) {
+0 −6
Original line number Diff line number Diff line
@@ -78,7 +78,6 @@ import android.os.PowerManager;
import android.os.Process;
import android.os.RemoteCallback;
import android.os.RemoteException;
import android.testing.DexmakerShareClassLoaderRule;
import android.view.Display;
import android.view.KeyEvent;
import android.view.accessibility.AccessibilityNodeInfo;
@@ -91,7 +90,6 @@ import com.android.server.accessibility.test.MessageCapturingHandler;
import com.android.server.wm.WindowManagerInternal;

import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
@@ -147,10 +145,6 @@ public class AbstractAccessibilityServiceConnectionTest {
    private ArrayList<Integer> mDisplayList = new ArrayList<>(Arrays.asList(
            Display.DEFAULT_DISPLAY, SECONDARY_DISPLAY_ID));

    // To mock package-private class.
    @Rule public final DexmakerShareClassLoaderRule mDexmakerShareClassLoaderRule =
            new DexmakerShareClassLoaderRule();

    @Mock private Context mMockContext;
    @Mock private IPowerManager mMockIPowerManager;
    @Mock private PackageManager mMockPackageManager;