Merge "ApexManager: Allow duplicating VNDK APEX package names" into rvc-dev-plus-aosp
This commit is contained in:
@@ -77,6 +77,8 @@ public abstract class ApexManager {
|
|||||||
public static final int MATCH_ACTIVE_PACKAGE = 1 << 0;
|
public static final int MATCH_ACTIVE_PACKAGE = 1 << 0;
|
||||||
static final int MATCH_FACTORY_PACKAGE = 1 << 1;
|
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 =
|
private static final Singleton<ApexManager> sApexManagerSingleton =
|
||||||
new Singleton<ApexManager>() {
|
new Singleton<ApexManager>() {
|
||||||
@Override
|
@Override
|
||||||
@@ -521,7 +523,9 @@ public abstract class ApexManager {
|
|||||||
activePackagesSet.add(packageInfo.packageName);
|
activePackagesSet.add(packageInfo.packageName);
|
||||||
}
|
}
|
||||||
if (ai.isFactory) {
|
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(
|
throw new IllegalStateException(
|
||||||
"Two factory packages have the same name: "
|
"Two factory packages have the same name: "
|
||||||
+ packageInfo.packageName);
|
+ packageInfo.packageName);
|
||||||
|
|||||||
Reference in New Issue
Block a user