diff options
4 files changed, 16 insertions, 5 deletions
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index 4b579e7db9f8..219b20428d7a 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -2322,10 +2322,10 @@ public class PackageParser { } else if (tagName.equals(TAG_ADOPT_PERMISSIONS)) { sa = res.obtainAttributes(parser, - com.android.internal.R.styleable.AndroidManifestOriginalPackage); + com.android.internal.R.styleable.AndroidManifestAdoptPermissions); String name = sa.getNonConfigurationString( - com.android.internal.R.styleable.AndroidManifestOriginalPackage_name, 0); + com.android.internal.R.styleable.AndroidManifestAdoptPermissions_name, 0); sa.recycle(); diff --git a/core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java b/core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java index c160b42f8b6b..5c08dc6be1a0 100644 --- a/core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java +++ b/core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java @@ -3133,9 +3133,9 @@ public class ParsingPackageUtils { private static ParseResult<ParsingPackage> parseAdoptPermissions(ParseInput input, ParsingPackage pkg, Resources res, XmlResourceParser parser) { - TypedArray sa = res.obtainAttributes(parser, R.styleable.AndroidManifestOriginalPackage); + TypedArray sa = res.obtainAttributes(parser, R.styleable.AndroidManifestAdoptPermissions); try { - String name = nonConfigString(0, R.styleable.AndroidManifestOriginalPackage_name, sa); + String name = nonConfigString(0, R.styleable.AndroidManifestAdoptPermissions_name, sa); if (name != null) { pkg.addAdoptPermission(name); } diff --git a/core/java/com/android/server/pm/pkg/AndroidPackage.java b/core/java/com/android/server/pm/pkg/AndroidPackage.java index 70dd10f2c371..5fa8125ced10 100644 --- a/core/java/com/android/server/pm/pkg/AndroidPackage.java +++ b/core/java/com/android/server/pm/pkg/AndroidPackage.java @@ -722,7 +722,7 @@ public interface AndroidPackage { * The names of packages to adopt ownership of permissions from, parsed under {@link * ParsingPackageUtils#TAG_ADOPT_PERMISSIONS}. * - * @see R.styleable#AndroidManifestOriginalPackage_name + * @see R.styleable#AndroidManifestAdoptPermissions_name * @hide */ @NonNull diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml index a06d184fd147..8c6fd1dfc47e 100644 --- a/core/res/res/values/attrs_manifest.xml +++ b/core/res/res/values/attrs_manifest.xml @@ -2892,6 +2892,17 @@ <attr name="name" /> </declare-styleable> + <!-- Private tag to declare the package name that the permissions of this package + is based on. Only used for packages installed in the system image. If + given, the permissions from the other package will be propagated into the + new package. + + <p>This appears as a child tag of the root + {@link #AndroidManifest manifest} tag. --> + <declare-styleable name="AndroidManifestAdoptPermissions" parent="AndroidManifest"> + <attr name="name" /> + </declare-styleable> + <!-- The <code>processes</code> tag specifies the processes the application will run code in and optionally characteristics of those processes. This tag is optional; if not specified, components will simply run in the processes they specify. If supplied, |