Merge "Allow any app to dynamically install a split" into oc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
16503a8f7e
@@ -7179,16 +7179,13 @@ public class PackageManagerService extends IPackageManager.Stub
|
||||
*/
|
||||
private List<ResolveInfo> applyPostResolutionFilter(List<ResolveInfo> resolveInfos,
|
||||
String ephemeralPkgName) {
|
||||
// TODO: When adding on-demand split support for non-instant apps, remove this check
|
||||
// and always apply post filtering
|
||||
if (ephemeralPkgName == null) {
|
||||
return resolveInfos;
|
||||
}
|
||||
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 && ephemeralPkgName.equals(info.activityInfo.packageName)) {
|
||||
if (isEphemeralApp) {
|
||||
if (info.activityInfo.splitName != null
|
||||
&& !ArrayUtils.contains(info.activityInfo.applicationInfo.splitNames,
|
||||
info.activityInfo.splitName)) {
|
||||
@@ -7213,6 +7210,10 @@ public class PackageManagerService extends IPackageManager.Stub
|
||||
}
|
||||
continue;
|
||||
}
|
||||
// caller is a full app, don't need to apply any other filtering
|
||||
if (ephemeralPkgName == null) {
|
||||
continue;
|
||||
}
|
||||
// allow activities that have been explicitly exposed to ephemeral apps
|
||||
if (!isEphemeralApp
|
||||
&& ((info.activityInfo.flags & ActivityInfo.FLAG_VISIBLE_TO_INSTANT_APP) != 0)) {
|
||||
|
||||
Reference in New Issue
Block a user