diff options
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/content/pm/PackageInfo.java | 5 | ||||
| -rw-r--r-- | core/java/android/content/pm/PackageParser.java | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/core/java/android/content/pm/PackageInfo.java b/core/java/android/content/pm/PackageInfo.java index 765b2a921605..b66bd0172758 100644 --- a/core/java/android/content/pm/PackageInfo.java +++ b/core/java/android/content/pm/PackageInfo.java @@ -235,6 +235,9 @@ public class PackageInfo implements Parcelable { public int installLocation = INSTALL_LOCATION_INTERNAL_ONLY; /** @hide */ + public boolean coreApp; + + /** @hide */ public boolean requiredForAllUsers; /** @hide */ @@ -293,6 +296,7 @@ public class PackageInfo implements Parcelable { dest.writeTypedArray(reqFeatures, parcelableFlags); dest.writeTypedArray(featureGroups, parcelableFlags); dest.writeInt(installLocation); + dest.writeInt(coreApp ? 1 : 0); dest.writeInt(requiredForAllUsers ? 1 : 0); dest.writeString(restrictedAccountType); dest.writeString(requiredAccountType); @@ -337,6 +341,7 @@ public class PackageInfo implements Parcelable { reqFeatures = source.createTypedArray(FeatureInfo.CREATOR); featureGroups = source.createTypedArray(FeatureGroupInfo.CREATOR); installLocation = source.readInt(); + coreApp = source.readInt() != 0; requiredForAllUsers = source.readInt() != 0; restrictedAccountType = source.readString(); requiredAccountType = source.readString(); diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index 3364741e52c4..ca4ff6a49c6c 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -415,6 +415,7 @@ public class PackageParser { pi.sharedUserLabel = p.mSharedUserLabel; pi.applicationInfo = generateApplicationInfo(p, flags, state, userId); pi.installLocation = p.installLocation; + pi.coreApp = p.coreApp; if ((pi.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM) != 0 || (pi.applicationInfo.flags&ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) { pi.requiredForAllUsers = p.mRequiredForAllUsers; @@ -1384,6 +1385,8 @@ public class PackageParser { PARSE_DEFAULT_INSTALL_LOCATION); pkg.applicationInfo.installLocation = pkg.installLocation; + pkg.coreApp = attrs.getAttributeBooleanValue(null, "coreApp", false); + sa.recycle(); /* Set the global "forward lock" flag */ @@ -4267,6 +4270,8 @@ public class PackageParser { public int installLocation; + public boolean coreApp; + /* An app that's required for all users and cannot be uninstalled for a user */ public boolean mRequiredForAllUsers; |
