Loading services/core/java/com/android/server/pm/PackageManagerService.java +22 −24 Original line number Diff line number Diff line Loading @@ -7212,18 +7212,16 @@ public class PackageManagerService extends IPackageManager.Stub String ephemeralPkgName) { for (int i = resolveInfos.size() - 1; i >= 0; i--) { final ResolveInfo info = resolveInfos.get(i); final boolean isEphemeralApp = info.activityInfo.applicationInfo.isInstantApp(); // TODO: When adding on-demand split support for non-instant apps, remove this check // and always apply post filtering // allow activities that are defined in the provided package if (isEphemeralApp) { if (info.activityInfo.splitName != null && !ArrayUtils.contains(info.activityInfo.applicationInfo.splitNames, info.activityInfo.splitName)) { // requested activity is defined in a split that hasn't been installed yet. // add the installer to the resolve list if (DEBUG_EPHEMERAL) { Slog.v(TAG, "Adding ephemeral installer to the ResolveInfo list"); if (DEBUG_INSTALL) { Slog.v(TAG, "Adding installer to the ResolveInfo list"); } final ResolveInfo installerInfo = new ResolveInfo(mInstantAppInstallerInfo); installerInfo.auxiliaryInfo = new AuxiliaryResolveInfo( Loading @@ -7240,7 +7238,6 @@ public class PackageManagerService extends IPackageManager.Stub resolveInfos.set(i, installerInfo); continue; } } // caller is a full app, don't need to apply any other filtering if (ephemeralPkgName == null) { continue; Loading @@ -7249,6 +7246,7 @@ public class PackageManagerService extends IPackageManager.Stub continue; } // allow activities that have been explicitly exposed to ephemeral apps final boolean isEphemeralApp = info.activityInfo.applicationInfo.isInstantApp(); if (!isEphemeralApp && ((info.activityInfo.flags & ActivityInfo.FLAG_VISIBLE_TO_INSTANT_APP) != 0)) { continue; Loading
services/core/java/com/android/server/pm/PackageManagerService.java +22 −24 Original line number Diff line number Diff line Loading @@ -7212,18 +7212,16 @@ public class PackageManagerService extends IPackageManager.Stub String ephemeralPkgName) { for (int i = resolveInfos.size() - 1; i >= 0; i--) { final ResolveInfo info = resolveInfos.get(i); final boolean isEphemeralApp = info.activityInfo.applicationInfo.isInstantApp(); // TODO: When adding on-demand split support for non-instant apps, remove this check // and always apply post filtering // allow activities that are defined in the provided package if (isEphemeralApp) { if (info.activityInfo.splitName != null && !ArrayUtils.contains(info.activityInfo.applicationInfo.splitNames, info.activityInfo.splitName)) { // requested activity is defined in a split that hasn't been installed yet. // add the installer to the resolve list if (DEBUG_EPHEMERAL) { Slog.v(TAG, "Adding ephemeral installer to the ResolveInfo list"); if (DEBUG_INSTALL) { Slog.v(TAG, "Adding installer to the ResolveInfo list"); } final ResolveInfo installerInfo = new ResolveInfo(mInstantAppInstallerInfo); installerInfo.auxiliaryInfo = new AuxiliaryResolveInfo( Loading @@ -7240,7 +7238,6 @@ public class PackageManagerService extends IPackageManager.Stub resolveInfos.set(i, installerInfo); continue; } } // caller is a full app, don't need to apply any other filtering if (ephemeralPkgName == null) { continue; Loading @@ -7249,6 +7246,7 @@ public class PackageManagerService extends IPackageManager.Stub continue; } // allow activities that have been explicitly exposed to ephemeral apps final boolean isEphemeralApp = info.activityInfo.applicationInfo.isInstantApp(); if (!isEphemeralApp && ((info.activityInfo.flags & ActivityInfo.FLAG_VISIBLE_TO_INSTANT_APP) != 0)) { continue;