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

Commit 6c5f36d3 authored by David Brazdil's avatar David Brazdil
Browse files

Temporarily whitelist platform test packages for hidden API

Platform unit tests need to be exempt from hidden API checks but the
APCT infrastructure ignores the corresponding flag in AndroidTest.xml.
Whitelist these packages in ActivityManagerService until the problem
is resolved to allow for hidden API blacklist to be merged.

Bug: 64382372
Bug: 74963051
Test: make
Change-Id: I9480b244dd47bf9c28f41057bdb31717274dd511
parent 46c84bf2
Loading
Loading
Loading
Loading
+56 −0
Original line number Diff line number Diff line
@@ -21764,6 +21764,54 @@ public class ActivityManagerService extends IActivityManager.Stub
    // INSTRUMENTATION
    // =========================================================
    private static String[] HIDDENAPI_EXEMPT_PACKAGES = {
        "com.android.bluetooth.tests",
        "com.android.managedprovisioning.tests",
        "com.android.frameworks.coretests",
        "com.android.frameworks.coretests.binderproxycountingtestapp",
        "com.android.frameworks.coretests.binderproxycountingtestservice",
        "com.android.frameworks.tests.net",
        "com.android.frameworks.tests.uiservices",
        "com.android.coretests.apps.bstatstestapp",
        "com.android.servicestests.apps.conntestapp",
        "com.android.frameworks.servicestests",
        "com.android.frameworks.utiltests",
        "com.android.mtp.tests",
        "android.mtp",
        "com.android.documentsui.tests",
        "com.android.shell.tests",
        "com.android.systemui.tests",
        "com.android.testables",
        "android.net.wifi.test",
        "com.android.server.wifi.test",
        "com.android.frameworks.telephonytests",
        "com.android.providers.contacts.tests",
        "com.android.providers.contacts.tests2",
        "com.android.settings.tests.unit",
        "com.android.server.telecom.tests",
        "com.android.vcard.tests",
        "com.android.providers.blockednumber.tests",
        "android.settings.functional",
        "com.android.notification.functional",
        "com.android.frameworks.dexloggertest",
        "com.android.server.usb",
        "com.android.providers.downloads.tests",
        "com.android.emergency.tests.unit",
        "com.android.providers.calendar.tests",
        "com.android.settingslib",
        "com.android.rs.test",
        "com.android.printspooler.outofprocess.tests",
        "com.android.cellbroadcastreceiver.tests.unit",
        "com.android.providers.telephony.tests",
        "com.android.carrierconfig.tests",
        "com.android.phone.tests",
        "com.android.service.ims.presence.tests",
        "com.android.providers.setting.test",
        "com.android.frameworks.locationtests",
        "com.android.frameworks.coretests.privacy",
        "com.android.settings.ui",
    };
    public boolean startInstrumentation(ComponentName className,
            String profileFile, int flags, Bundle arguments,
            IInstrumentationWatcher watcher, IUiAutomationConnection uiAutomationConnection,
@@ -21846,6 +21894,14 @@ public class ActivityManagerService extends IActivityManager.Stub
            }
            boolean disableHiddenApiChecks =
                    (flags & INSTRUMENTATION_FLAG_DISABLE_HIDDEN_API_CHECKS) != 0;
            // TODO: Temporary whitelist of packages which need to be exempt from hidden API
            //       checks. Remove this as soon as the testing infrastructure allows to set
            //       the flag in AndroidTest.xml.
            if (Arrays.asList(HIDDENAPI_EXEMPT_PACKAGES).contains(ai.packageName)) {
                disableHiddenApiChecks = true;
            }
            ProcessRecord app = addAppLocked(ai, defProcess, false, disableHiddenApiChecks,
                    abiOverride);
            app.instr = activeInstr;