summaryrefslogtreecommitdiff
path: root/android/content
diff options
context:
space:
mode:
authorJustin Klaassen <justinklaassen@google.com>2017-09-18 17:38:50 -0400
committerJustin Klaassen <justinklaassen@google.com>2017-09-18 17:38:50 -0400
commitbc81c7ada5aab3806dd0b17498f5c9672c9b33c4 (patch)
tree7fdcc541a9ac9e92134f1a80cec557fee772bcf8 /android/content
parent10d07c88d69cc64f73a069163e7ea5ba2519a099 (diff)
downloadandroid-28-bc81c7ada5aab3806dd0b17498f5c9672c9b33c4.tar.gz
Import Android SDK Platform P [4344336]
/google/data/ro/projects/android/fetch_artifact \ --bid 4344336 \ --target sdk_phone_armv7-win_sdk \ sdk-repo-linux-sources-4344336.zip AndroidVersion.ApiLevel has been modified to appear as 28 Change-Id: If482fcd4cfaf6c5e544e5574926be25a293e9a6d
Diffstat (limited to 'android/content')
-rw-r--r--android/content/pm/ApplicationInfo.java33
-rw-r--r--android/content/pm/PackageParser.java29
-rw-r--r--android/content/pm/PermissionInfo.java36
3 files changed, 63 insertions, 35 deletions
diff --git a/android/content/pm/ApplicationInfo.java b/android/content/pm/ApplicationInfo.java
index 664bcbca..d73f8526 100644
--- a/android/content/pm/ApplicationInfo.java
+++ b/android/content/pm/ApplicationInfo.java
@@ -586,24 +586,32 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
*/
public static final int PRIVATE_FLAG_VIRTUAL_PRELOAD = 1 << 16;
+ /**
+ * Value for {@linl #privateFlags}: whether this app is pre-installed on the
+ * OEM partition of the system image.
+ * @hide
+ */
+ public static final int PRIVATE_FLAG_OEM = 1 << 17;
+
/** @hide */
@IntDef(flag = true, prefix = { "PRIVATE_FLAG_" }, value = {
- PRIVATE_FLAG_HIDDEN,
+ PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE,
+ PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION,
+ PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE,
+ PRIVATE_FLAG_BACKUP_IN_FOREGROUND,
PRIVATE_FLAG_CANT_SAVE_STATE,
- PRIVATE_FLAG_FORWARD_LOCK,
- PRIVATE_FLAG_PRIVILEGED,
- PRIVATE_FLAG_HAS_DOMAIN_URLS,
PRIVATE_FLAG_DEFAULT_TO_DEVICE_PROTECTED_STORAGE,
PRIVATE_FLAG_DIRECT_BOOT_AWARE,
+ PRIVATE_FLAG_FORWARD_LOCK,
+ PRIVATE_FLAG_HAS_DOMAIN_URLS,
+ PRIVATE_FLAG_HIDDEN,
PRIVATE_FLAG_INSTANT,
+ PRIVATE_FLAG_ISOLATED_SPLIT_LOADING,
+ PRIVATE_FLAG_OEM,
PRIVATE_FLAG_PARTIALLY_DIRECT_BOOT_AWARE,
+ PRIVATE_FLAG_PRIVILEGED,
PRIVATE_FLAG_REQUIRED_FOR_SYSTEM_USER,
- PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE,
- PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE,
- PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION,
- PRIVATE_FLAG_BACKUP_IN_FOREGROUND,
PRIVATE_FLAG_STATIC_SHARED_LIBRARY,
- PRIVATE_FLAG_ISOLATED_SPLIT_LOADING,
PRIVATE_FLAG_VIRTUAL_PRELOAD,
})
@Retention(RetentionPolicy.SOURCE)
@@ -1557,6 +1565,13 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
/**
* @hide
*/
+ public boolean isOem() {
+ return (privateFlags & ApplicationInfo.PRIVATE_FLAG_OEM) != 0;
+ }
+
+ /**
+ * @hide
+ */
@Override protected ApplicationInfo getApplicationInfo() {
return this;
}
diff --git a/android/content/pm/PackageParser.java b/android/content/pm/PackageParser.java
index 8b54b0d8..6c7c8a07 100644
--- a/android/content/pm/PackageParser.java
+++ b/android/content/pm/PackageParser.java
@@ -96,8 +96,8 @@ import com.android.internal.util.ArrayUtils;
import com.android.internal.util.XmlUtils;
import libcore.io.IoUtils;
-
import libcore.util.EmptyArray;
+
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@@ -815,21 +815,22 @@ public class PackageParser {
}
}
- public final static int PARSE_IS_SYSTEM = 1<<0;
- public final static int PARSE_CHATTY = 1<<1;
- public final static int PARSE_MUST_BE_APK = 1<<2;
- public final static int PARSE_IGNORE_PROCESSES = 1<<3;
- public final static int PARSE_FORWARD_LOCK = 1<<4;
- public final static int PARSE_EXTERNAL_STORAGE = 1<<5;
- public final static int PARSE_IS_SYSTEM_DIR = 1<<6;
- public final static int PARSE_IS_PRIVILEGED = 1<<7;
- public final static int PARSE_COLLECT_CERTIFICATES = 1<<8;
- public final static int PARSE_TRUSTED_OVERLAY = 1<<9;
- public final static int PARSE_ENFORCE_CODE = 1<<10;
+ public static final int PARSE_IS_SYSTEM = 1 << 0;
+ public static final int PARSE_CHATTY = 1 << 1;
+ public static final int PARSE_MUST_BE_APK = 1 << 2;
+ public static final int PARSE_IGNORE_PROCESSES = 1 << 3;
+ public static final int PARSE_FORWARD_LOCK = 1 << 4;
+ public static final int PARSE_EXTERNAL_STORAGE = 1 << 5;
+ public static final int PARSE_IS_SYSTEM_DIR = 1 << 6;
+ public static final int PARSE_IS_PRIVILEGED = 1 << 7;
+ public static final int PARSE_COLLECT_CERTIFICATES = 1 << 8;
+ public static final int PARSE_TRUSTED_OVERLAY = 1 << 9;
+ public static final int PARSE_ENFORCE_CODE = 1 << 10;
/** @deprecated remove when fixing b/34761192 */
@Deprecated
- public final static int PARSE_IS_EPHEMERAL = 1<<11;
- public final static int PARSE_FORCE_SDK = 1<<12;
+ public static final int PARSE_IS_EPHEMERAL = 1 << 11;
+ public static final int PARSE_FORCE_SDK = 1 << 12;
+ public static final int PARSE_IS_OEM = 1 << 13;
private static final Comparator<String> sSplitNameComparator = new SplitNameComparator();
diff --git a/android/content/pm/PermissionInfo.java b/android/content/pm/PermissionInfo.java
index b84c1b93..17b4f871 100644
--- a/android/content/pm/PermissionInfo.java
+++ b/android/content/pm/PermissionInfo.java
@@ -17,7 +17,6 @@
package android.content.pm;
import android.annotation.SystemApi;
-import android.annotation.TestApi;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;
@@ -135,6 +134,16 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable {
public static final int PROTECTION_FLAG_RUNTIME_ONLY = 0x2000;
/**
+ * Additional flag for {@link #protectionLevel}, corresponding
+ * to the <code>oem</code> value of
+ * {@link android.R.attr#protectionLevel}.
+ *
+ * @hide
+ */
+ @SystemApi
+ public static final int PROTECTION_FLAG_OEM = 0x4000;
+
+ /**
* Mask for {@link #protectionLevel}: the basic protection type.
*/
public static final int PROTECTION_MASK_BASE = 0xf;
@@ -222,7 +231,7 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable {
/** @hide */
public static String protectionToString(int level) {
String protLevel = "????";
- switch (level&PROTECTION_MASK_BASE) {
+ switch (level & PROTECTION_MASK_BASE) {
case PermissionInfo.PROTECTION_DANGEROUS:
protLevel = "dangerous";
break;
@@ -236,36 +245,39 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable {
protLevel = "signatureOrSystem";
break;
}
- if ((level&PermissionInfo.PROTECTION_FLAG_PRIVILEGED) != 0) {
+ if ((level & PermissionInfo.PROTECTION_FLAG_PRIVILEGED) != 0) {
protLevel += "|privileged";
}
- if ((level&PermissionInfo.PROTECTION_FLAG_DEVELOPMENT) != 0) {
+ if ((level & PermissionInfo.PROTECTION_FLAG_DEVELOPMENT) != 0) {
protLevel += "|development";
}
- if ((level&PermissionInfo.PROTECTION_FLAG_APPOP) != 0) {
+ if ((level & PermissionInfo.PROTECTION_FLAG_APPOP) != 0) {
protLevel += "|appop";
}
- if ((level&PermissionInfo.PROTECTION_FLAG_PRE23) != 0) {
+ if ((level & PermissionInfo.PROTECTION_FLAG_PRE23) != 0) {
protLevel += "|pre23";
}
- if ((level&PermissionInfo.PROTECTION_FLAG_INSTALLER) != 0) {
+ if ((level & PermissionInfo.PROTECTION_FLAG_INSTALLER) != 0) {
protLevel += "|installer";
}
- if ((level&PermissionInfo.PROTECTION_FLAG_VERIFIER) != 0) {
+ if ((level & PermissionInfo.PROTECTION_FLAG_VERIFIER) != 0) {
protLevel += "|verifier";
}
- if ((level&PermissionInfo.PROTECTION_FLAG_PREINSTALLED) != 0) {
+ if ((level & PermissionInfo.PROTECTION_FLAG_PREINSTALLED) != 0) {
protLevel += "|preinstalled";
}
- if ((level&PermissionInfo.PROTECTION_FLAG_SETUP) != 0) {
+ if ((level & PermissionInfo.PROTECTION_FLAG_SETUP) != 0) {
protLevel += "|setup";
}
- if ((level&PermissionInfo.PROTECTION_FLAG_INSTANT) != 0) {
+ if ((level & PermissionInfo.PROTECTION_FLAG_INSTANT) != 0) {
protLevel += "|instant";
}
- if ((level&PermissionInfo.PROTECTION_FLAG_RUNTIME_ONLY) != 0) {
+ if ((level & PermissionInfo.PROTECTION_FLAG_RUNTIME_ONLY) != 0) {
protLevel += "|runtime";
}
+ if ((level & PermissionInfo.PROTECTION_FLAG_OEM) != 0) {
+ protLevel += "|oem";
+ }
return protLevel;
}