Loading core/java/android/content/pm/parsing/PackageInfoWithoutStateUtils.java +4 −4 Original line number Diff line number Diff line Loading @@ -273,16 +273,16 @@ public class PackageInfoWithoutStateUtils { pi.requestedPermissionsFlags = new int[size]; for (int i = 0; i < size; i++) { final ParsedUsesPermission usesPermission = usesPermissions.get(i); pi.requestedPermissions[i] = usesPermission.name; pi.requestedPermissions[i] = usesPermission.getName(); // The notion of required permissions is deprecated but for compatibility. pi.requestedPermissionsFlags[i] |= PackageInfo.REQUESTED_PERMISSION_REQUIRED; if (grantedPermissions != null && grantedPermissions.contains(usesPermission.name)) { && grantedPermissions.contains(usesPermission.getName())) { pi.requestedPermissionsFlags[i] |= PackageInfo.REQUESTED_PERMISSION_GRANTED; } if ((usesPermission.usesPermissionFlags if ((usesPermission.getUsesPermissionFlags() & ParsedUsesPermission.FLAG_NEVER_FOR_LOCATION) != 0) { pi.requestedPermissionsFlags[i] |= PackageInfo.REQUESTED_PERMISSION_NEVER_FOR_LOCATION; Loading Loading @@ -750,7 +750,7 @@ public class PackageInfoWithoutStateUtils { @Nullable public static Attribution generateAttribution(ParsedAttribution pa) { if (pa == null) return null; return new Attribution(pa.tag, pa.label); return new Attribution(pa.getTag(), pa.getLabel()); } private static boolean checkUseInstalledOrHidden(int flags, @NonNull PackageUserState state, Loading core/java/android/content/pm/parsing/ParsingPackageImpl.java +2 −1 Original line number Diff line number Diff line Loading @@ -716,7 +716,8 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { // Continue populating legacy data structures to avoid performance // issues until all that code can be migrated this.requestedPermissions = CollectionUtils.add(this.requestedPermissions, permission.name); this.requestedPermissions = CollectionUtils.add(this.requestedPermissions, permission.getName()); return this; } Loading core/java/android/content/pm/parsing/ParsingPackageUtils.java +4 −4 Original line number Diff line number Diff line Loading @@ -1307,8 +1307,8 @@ public class ParsingPackageUtils { final int size = usesPermissions.size(); for (int i = 0; i < size; i++) { final ParsedUsesPermission usesPermission = usesPermissions.get(i); if (Objects.equals(usesPermission.name, name)) { if (usesPermission.usesPermissionFlags != usesPermissionFlags) { if (Objects.equals(usesPermission.getName(), name)) { if (usesPermission.getUsesPermissionFlags() != usesPermissionFlags) { return input.error("Conflicting uses-permissions flags: " + name + " in package: " + pkg.getPackageName() + " at: " + parser.getPositionDescription()); Loading Loading @@ -2807,8 +2807,8 @@ public class ParsingPackageUtils { if (pkg.getTargetSdkVersion() >= info.sdkVersion) { break; } if (!pkg.getRequestedPermissions().contains(info.name)) { pkg.addImplicitPermission(info.name); if (!pkg.getRequestedPermissions().contains(info.getName())) { pkg.addImplicitPermission(info.getName()); } } } Loading core/java/android/content/pm/parsing/component/ComponentParseUtils.java +2 −2 Original line number Diff line number Diff line Loading @@ -152,7 +152,7 @@ public class ComponentParseUtils { @Nullable public static CharSequence getNonLocalizedLabel( ParsedComponent component) { return component.nonLocalizedLabel; return component.getNonLocalizedLabel(); } /** Loading @@ -161,7 +161,7 @@ public class ComponentParseUtils { * This is a method of the utility class to discourage use. */ public static int getIcon(ParsedComponent component) { return component.icon; return component.getIcon(); } public static boolean isMatch(PackageUserState state, boolean isSystem, Loading core/java/android/content/pm/parsing/component/ParsedActivity.java +115 −26 Original line number Diff line number Diff line Loading @@ -38,8 +38,8 @@ import com.android.internal.util.Parcelling.BuiltIn.ForInternedString; /** @hide **/ public class ParsedActivity extends ParsedMainComponent { int theme; int uiOptions; private int theme; private int uiOptions; @Nullable @DataClass.ParcelWith(ForInternedString.class) Loading @@ -49,22 +49,22 @@ public class ParsedActivity extends ParsedMainComponent { @DataClass.ParcelWith(ForInternedString.class) private String parentActivityName; @Nullable String taskAffinity; int privateFlags; private String taskAffinity; private int privateFlags; @Nullable @DataClass.ParcelWith(ForInternedString.class) private String permission; int launchMode; int documentLaunchMode; int maxRecents; int configChanges; int softInputMode; int persistableMode; int lockTaskLaunchMode; private int launchMode; private int documentLaunchMode; private int maxRecents; private int configChanges; private int softInputMode; private int persistableMode; private int lockTaskLaunchMode; int screenOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED; int resizeMode = ActivityInfo.RESIZE_MODE_RESIZEABLE; private int screenOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED; private int resizeMode = ActivityInfo.RESIZE_MODE_RESIZEABLE; @Nullable private Float maxAspectRatio; Loading @@ -75,12 +75,12 @@ public class ParsedActivity extends ParsedMainComponent { private boolean supportsSizeChanges; @Nullable String requestedVrComponent; int rotationAnimation = -1; int colorMode; private String requestedVrComponent; private int rotationAnimation = -1; private int colorMode; @Nullable ActivityInfo.WindowLayout windowLayout; private ActivityInfo.WindowLayout windowLayout; public ParsedActivity(ParsedActivity other) { super(other); Loading Loading @@ -188,6 +188,35 @@ public class ParsedActivity extends ParsedMainComponent { // alias.metaData = target.metaData; } public boolean isSupportsSizeChanges() { return supportsSizeChanges; } public ParsedActivity setColorMode(int colorMode) { this.colorMode = colorMode; return this; } public ParsedActivity setConfigChanges(int configChanges) { this.configChanges = configChanges; return this; } public ParsedActivity setDocumentLaunchMode(int documentLaunchMode) { this.documentLaunchMode = documentLaunchMode; return this; } public ParsedActivity setLaunchMode(int launchMode) { this.launchMode = launchMode; return this; } public ParsedActivity setLockTaskLaunchMode(int lockTaskLaunchMode) { this.lockTaskLaunchMode = lockTaskLaunchMode; return this; } public ParsedActivity setMaxAspectRatio(int resizeMode, float maxAspectRatio) { if (resizeMode == ActivityInfo.RESIZE_MODE_RESIZEABLE || resizeMode == ActivityInfo.RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION) { Loading @@ -204,6 +233,16 @@ public class ParsedActivity extends ParsedMainComponent { return this; } public ParsedActivity setMaxAspectRatio(Float maxAspectRatio) { this.maxAspectRatio = maxAspectRatio; return this; } public ParsedActivity setMaxRecents(int maxRecents) { this.maxRecents = maxRecents; return this; } public ParsedActivity setMinAspectRatio(int resizeMode, float minAspectRatio) { if (resizeMode == RESIZE_MODE_RESIZEABLE || resizeMode == RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION) { Loading @@ -220,13 +259,48 @@ public class ParsedActivity extends ParsedMainComponent { return this; } public ParsedActivity setSupportsSizeChanges(boolean supportsSizeChanges) { this.supportsSizeChanges = supportsSizeChanges; public ParsedActivity setMinAspectRatio(Float minAspectRatio) { this.minAspectRatio = minAspectRatio; return this; } public ParsedActivity setParentActivityName(String parentActivityName) { this.parentActivityName = parentActivityName; return this; } public ParsedActivity setPersistableMode(int persistableMode) { this.persistableMode = persistableMode; return this; } public ParsedActivity setFlags(int flags) { this.flags = flags; public ParsedActivity setPrivateFlags(int privateFlags) { this.privateFlags = privateFlags; return this; } public ParsedActivity setRequestedVrComponent(String requestedVrComponent) { this.requestedVrComponent = requestedVrComponent; return this; } public ParsedActivity setRotationAnimation(int rotationAnimation) { this.rotationAnimation = rotationAnimation; return this; } public ParsedActivity setScreenOrientation(int screenOrientation) { this.screenOrientation = screenOrientation; return this; } public ParsedActivity setSoftInputMode(int softInputMode) { this.softInputMode = softInputMode; return this; } public ParsedActivity setSupportsSizeChanges(boolean supportsSizeChanges) { this.supportsSizeChanges = supportsSizeChanges; return this; } Loading @@ -240,17 +314,32 @@ public class ParsedActivity extends ParsedMainComponent { return this; } public ParsedActivity setParentActivity(String parentActivity) { this.parentActivityName = TextUtils.safeIntern(parentActivity); return this; } public ParsedActivity setPermission(String permission) { // Empty string must be converted to null this.permission = TextUtils.isEmpty(permission) ? null : permission.intern(); return this; } public ParsedActivity setTaskAffinity(String taskAffinity) { this.taskAffinity = taskAffinity; return this; } public ParsedActivity setTheme(int theme) { this.theme = theme; return this; } public ParsedActivity setUiOptions(int uiOptions) { this.uiOptions = uiOptions; return this; } public ParsedActivity setWindowLayout(ActivityInfo.WindowLayout windowLayout) { this.windowLayout = windowLayout; return this; } public String toString() { StringBuilder sb = new StringBuilder(128); sb.append("Activity{"); Loading Loading
core/java/android/content/pm/parsing/PackageInfoWithoutStateUtils.java +4 −4 Original line number Diff line number Diff line Loading @@ -273,16 +273,16 @@ public class PackageInfoWithoutStateUtils { pi.requestedPermissionsFlags = new int[size]; for (int i = 0; i < size; i++) { final ParsedUsesPermission usesPermission = usesPermissions.get(i); pi.requestedPermissions[i] = usesPermission.name; pi.requestedPermissions[i] = usesPermission.getName(); // The notion of required permissions is deprecated but for compatibility. pi.requestedPermissionsFlags[i] |= PackageInfo.REQUESTED_PERMISSION_REQUIRED; if (grantedPermissions != null && grantedPermissions.contains(usesPermission.name)) { && grantedPermissions.contains(usesPermission.getName())) { pi.requestedPermissionsFlags[i] |= PackageInfo.REQUESTED_PERMISSION_GRANTED; } if ((usesPermission.usesPermissionFlags if ((usesPermission.getUsesPermissionFlags() & ParsedUsesPermission.FLAG_NEVER_FOR_LOCATION) != 0) { pi.requestedPermissionsFlags[i] |= PackageInfo.REQUESTED_PERMISSION_NEVER_FOR_LOCATION; Loading Loading @@ -750,7 +750,7 @@ public class PackageInfoWithoutStateUtils { @Nullable public static Attribution generateAttribution(ParsedAttribution pa) { if (pa == null) return null; return new Attribution(pa.tag, pa.label); return new Attribution(pa.getTag(), pa.getLabel()); } private static boolean checkUseInstalledOrHidden(int flags, @NonNull PackageUserState state, Loading
core/java/android/content/pm/parsing/ParsingPackageImpl.java +2 −1 Original line number Diff line number Diff line Loading @@ -716,7 +716,8 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable { // Continue populating legacy data structures to avoid performance // issues until all that code can be migrated this.requestedPermissions = CollectionUtils.add(this.requestedPermissions, permission.name); this.requestedPermissions = CollectionUtils.add(this.requestedPermissions, permission.getName()); return this; } Loading
core/java/android/content/pm/parsing/ParsingPackageUtils.java +4 −4 Original line number Diff line number Diff line Loading @@ -1307,8 +1307,8 @@ public class ParsingPackageUtils { final int size = usesPermissions.size(); for (int i = 0; i < size; i++) { final ParsedUsesPermission usesPermission = usesPermissions.get(i); if (Objects.equals(usesPermission.name, name)) { if (usesPermission.usesPermissionFlags != usesPermissionFlags) { if (Objects.equals(usesPermission.getName(), name)) { if (usesPermission.getUsesPermissionFlags() != usesPermissionFlags) { return input.error("Conflicting uses-permissions flags: " + name + " in package: " + pkg.getPackageName() + " at: " + parser.getPositionDescription()); Loading Loading @@ -2807,8 +2807,8 @@ public class ParsingPackageUtils { if (pkg.getTargetSdkVersion() >= info.sdkVersion) { break; } if (!pkg.getRequestedPermissions().contains(info.name)) { pkg.addImplicitPermission(info.name); if (!pkg.getRequestedPermissions().contains(info.getName())) { pkg.addImplicitPermission(info.getName()); } } } Loading
core/java/android/content/pm/parsing/component/ComponentParseUtils.java +2 −2 Original line number Diff line number Diff line Loading @@ -152,7 +152,7 @@ public class ComponentParseUtils { @Nullable public static CharSequence getNonLocalizedLabel( ParsedComponent component) { return component.nonLocalizedLabel; return component.getNonLocalizedLabel(); } /** Loading @@ -161,7 +161,7 @@ public class ComponentParseUtils { * This is a method of the utility class to discourage use. */ public static int getIcon(ParsedComponent component) { return component.icon; return component.getIcon(); } public static boolean isMatch(PackageUserState state, boolean isSystem, Loading
core/java/android/content/pm/parsing/component/ParsedActivity.java +115 −26 Original line number Diff line number Diff line Loading @@ -38,8 +38,8 @@ import com.android.internal.util.Parcelling.BuiltIn.ForInternedString; /** @hide **/ public class ParsedActivity extends ParsedMainComponent { int theme; int uiOptions; private int theme; private int uiOptions; @Nullable @DataClass.ParcelWith(ForInternedString.class) Loading @@ -49,22 +49,22 @@ public class ParsedActivity extends ParsedMainComponent { @DataClass.ParcelWith(ForInternedString.class) private String parentActivityName; @Nullable String taskAffinity; int privateFlags; private String taskAffinity; private int privateFlags; @Nullable @DataClass.ParcelWith(ForInternedString.class) private String permission; int launchMode; int documentLaunchMode; int maxRecents; int configChanges; int softInputMode; int persistableMode; int lockTaskLaunchMode; private int launchMode; private int documentLaunchMode; private int maxRecents; private int configChanges; private int softInputMode; private int persistableMode; private int lockTaskLaunchMode; int screenOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED; int resizeMode = ActivityInfo.RESIZE_MODE_RESIZEABLE; private int screenOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED; private int resizeMode = ActivityInfo.RESIZE_MODE_RESIZEABLE; @Nullable private Float maxAspectRatio; Loading @@ -75,12 +75,12 @@ public class ParsedActivity extends ParsedMainComponent { private boolean supportsSizeChanges; @Nullable String requestedVrComponent; int rotationAnimation = -1; int colorMode; private String requestedVrComponent; private int rotationAnimation = -1; private int colorMode; @Nullable ActivityInfo.WindowLayout windowLayout; private ActivityInfo.WindowLayout windowLayout; public ParsedActivity(ParsedActivity other) { super(other); Loading Loading @@ -188,6 +188,35 @@ public class ParsedActivity extends ParsedMainComponent { // alias.metaData = target.metaData; } public boolean isSupportsSizeChanges() { return supportsSizeChanges; } public ParsedActivity setColorMode(int colorMode) { this.colorMode = colorMode; return this; } public ParsedActivity setConfigChanges(int configChanges) { this.configChanges = configChanges; return this; } public ParsedActivity setDocumentLaunchMode(int documentLaunchMode) { this.documentLaunchMode = documentLaunchMode; return this; } public ParsedActivity setLaunchMode(int launchMode) { this.launchMode = launchMode; return this; } public ParsedActivity setLockTaskLaunchMode(int lockTaskLaunchMode) { this.lockTaskLaunchMode = lockTaskLaunchMode; return this; } public ParsedActivity setMaxAspectRatio(int resizeMode, float maxAspectRatio) { if (resizeMode == ActivityInfo.RESIZE_MODE_RESIZEABLE || resizeMode == ActivityInfo.RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION) { Loading @@ -204,6 +233,16 @@ public class ParsedActivity extends ParsedMainComponent { return this; } public ParsedActivity setMaxAspectRatio(Float maxAspectRatio) { this.maxAspectRatio = maxAspectRatio; return this; } public ParsedActivity setMaxRecents(int maxRecents) { this.maxRecents = maxRecents; return this; } public ParsedActivity setMinAspectRatio(int resizeMode, float minAspectRatio) { if (resizeMode == RESIZE_MODE_RESIZEABLE || resizeMode == RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION) { Loading @@ -220,13 +259,48 @@ public class ParsedActivity extends ParsedMainComponent { return this; } public ParsedActivity setSupportsSizeChanges(boolean supportsSizeChanges) { this.supportsSizeChanges = supportsSizeChanges; public ParsedActivity setMinAspectRatio(Float minAspectRatio) { this.minAspectRatio = minAspectRatio; return this; } public ParsedActivity setParentActivityName(String parentActivityName) { this.parentActivityName = parentActivityName; return this; } public ParsedActivity setPersistableMode(int persistableMode) { this.persistableMode = persistableMode; return this; } public ParsedActivity setFlags(int flags) { this.flags = flags; public ParsedActivity setPrivateFlags(int privateFlags) { this.privateFlags = privateFlags; return this; } public ParsedActivity setRequestedVrComponent(String requestedVrComponent) { this.requestedVrComponent = requestedVrComponent; return this; } public ParsedActivity setRotationAnimation(int rotationAnimation) { this.rotationAnimation = rotationAnimation; return this; } public ParsedActivity setScreenOrientation(int screenOrientation) { this.screenOrientation = screenOrientation; return this; } public ParsedActivity setSoftInputMode(int softInputMode) { this.softInputMode = softInputMode; return this; } public ParsedActivity setSupportsSizeChanges(boolean supportsSizeChanges) { this.supportsSizeChanges = supportsSizeChanges; return this; } Loading @@ -240,17 +314,32 @@ public class ParsedActivity extends ParsedMainComponent { return this; } public ParsedActivity setParentActivity(String parentActivity) { this.parentActivityName = TextUtils.safeIntern(parentActivity); return this; } public ParsedActivity setPermission(String permission) { // Empty string must be converted to null this.permission = TextUtils.isEmpty(permission) ? null : permission.intern(); return this; } public ParsedActivity setTaskAffinity(String taskAffinity) { this.taskAffinity = taskAffinity; return this; } public ParsedActivity setTheme(int theme) { this.theme = theme; return this; } public ParsedActivity setUiOptions(int uiOptions) { this.uiOptions = uiOptions; return this; } public ParsedActivity setWindowLayout(ActivityInfo.WindowLayout windowLayout) { this.windowLayout = windowLayout; return this; } public String toString() { StringBuilder sb = new StringBuilder(128); sb.append("Activity{"); Loading