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

Commit 0d9def8f authored by Yi-yo Chiang's avatar Yi-yo Chiang Committed by Automerger Merge Worker
Browse files

Merge "ApexManager: Allow duplicating VNDK APEX package names" into...

Merge "ApexManager: Allow duplicating VNDK APEX package names" into rvc-dev-plus-aosp am: 397e7efc am: af73b7d2 am: bbdb45ab

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12086438

Change-Id: Ib00f74a6a34f2a9fa9126ed2c99409588cc7aa5b
parents bacab2c0 bbdb45ab
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -77,6 +77,8 @@ public abstract class ApexManager {
    public static final int MATCH_ACTIVE_PACKAGE = 1 << 0;
    static final int MATCH_FACTORY_PACKAGE = 1 << 1;

    private static final String VNDK_APEX_MODULE_NAME_PREFIX = "com.android.vndk.";

    private static final Singleton<ApexManager> sApexManagerSingleton =
            new Singleton<ApexManager>() {
                @Override
@@ -535,7 +537,9 @@ public abstract class ApexManager {
                        activePackagesSet.add(packageInfo.packageName);
                    }
                    if (ai.isFactory) {
                        if (factoryPackagesSet.contains(packageInfo.packageName)) {
                        // Don't throw when the duplicating APEX is VNDK APEX
                        if (factoryPackagesSet.contains(packageInfo.packageName)
                                && !ai.moduleName.startsWith(VNDK_APEX_MODULE_NAME_PREFIX)) {
                            throw new IllegalStateException(
                                    "Two factory packages have the same name: "
                                            + packageInfo.packageName);