summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/content/pm/PackageParser.java4
-rw-r--r--core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java4
-rw-r--r--core/java/com/android/server/pm/pkg/AndroidPackage.java2
-rw-r--r--core/res/res/values/attrs_manifest.xml11
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,