Loading api/current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -10062,7 +10062,7 @@ package android.content.pm { field public static final deprecated int PROTECTION_FLAG_SYSTEM = 16; // 0x10 field public static final int PROTECTION_FLAG_VERIFIER = 512; // 0x200 field public static final int PROTECTION_MASK_BASE = 15; // 0xf field public static final int PROTECTION_MASK_FLAGS = 4080; // 0xff0 field public static final int PROTECTION_MASK_FLAGS = 65520; // 0xfff0 field public static final int PROTECTION_NORMAL = 0; // 0x0 field public static final int PROTECTION_SIGNATURE = 2; // 0x2 field public static final deprecated int PROTECTION_SIGNATURE_OR_SYSTEM = 3; // 0x3 api/system-current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -10487,6 +10487,7 @@ package android.content.pm { field public static final int PROTECTION_DANGEROUS = 1; // 0x1 field public static final int PROTECTION_FLAG_APPOP = 64; // 0x40 field public static final int PROTECTION_FLAG_DEVELOPMENT = 32; // 0x20 field public static final int PROTECTION_FLAG_EPHEMERAL = 4096; // 0x1000 field public static final int PROTECTION_FLAG_INSTALLER = 256; // 0x100 field public static final int PROTECTION_FLAG_PRE23 = 128; // 0x80 field public static final int PROTECTION_FLAG_PREINSTALLED = 1024; // 0x400 Loading @@ -10495,7 +10496,7 @@ package android.content.pm { field public static final deprecated int PROTECTION_FLAG_SYSTEM = 16; // 0x10 field public static final int PROTECTION_FLAG_VERIFIER = 512; // 0x200 field public static final int PROTECTION_MASK_BASE = 15; // 0xf field public static final int PROTECTION_MASK_FLAGS = 4080; // 0xff0 field public static final int PROTECTION_MASK_FLAGS = 65520; // 0xfff0 field public static final int PROTECTION_NORMAL = 0; // 0x0 field public static final int PROTECTION_SIGNATURE = 2; // 0x2 field public static final deprecated int PROTECTION_SIGNATURE_OR_SYSTEM = 3; // 0x3 api/test-current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -10070,6 +10070,7 @@ package android.content.pm { field public static final int PROTECTION_DANGEROUS = 1; // 0x1 field public static final int PROTECTION_FLAG_APPOP = 64; // 0x40 field public static final int PROTECTION_FLAG_DEVELOPMENT = 32; // 0x20 field public static final int PROTECTION_FLAG_EPHEMERAL = 4096; // 0x1000 field public static final int PROTECTION_FLAG_INSTALLER = 256; // 0x100 field public static final int PROTECTION_FLAG_PRE23 = 128; // 0x80 field public static final int PROTECTION_FLAG_PREINSTALLED = 1024; // 0x400 Loading @@ -10078,7 +10079,7 @@ package android.content.pm { field public static final deprecated int PROTECTION_FLAG_SYSTEM = 16; // 0x10 field public static final int PROTECTION_FLAG_VERIFIER = 512; // 0x200 field public static final int PROTECTION_MASK_BASE = 15; // 0xf field public static final int PROTECTION_MASK_FLAGS = 4080; // 0xff0 field public static final int PROTECTION_MASK_FLAGS = 65520; // 0xfff0 field public static final int PROTECTION_NORMAL = 0; // 0x0 field public static final int PROTECTION_SIGNATURE = 2; // 0x2 field public static final deprecated int PROTECTION_SIGNATURE_OR_SYSTEM = 3; // 0x3 core/java/android/content/pm/PackageParser.java +3 −2 Original line number Diff line number Diff line Loading @@ -2600,9 +2600,10 @@ public class PackageParser { perm.info.protectionLevel = PermissionInfo.fixProtectionLevel(perm.info.protectionLevel); if ((perm.info.protectionLevel&PermissionInfo.PROTECTION_MASK_FLAGS) != 0) { if ((perm.info.protectionLevel&PermissionInfo.PROTECTION_MASK_BASE) != if ( (perm.info.protectionLevel&PermissionInfo.PROTECTION_FLAG_EPHEMERAL) == 0 && (perm.info.protectionLevel&PermissionInfo.PROTECTION_MASK_BASE) != PermissionInfo.PROTECTION_SIGNATURE) { outError[0] = "<permission> protectionLevel specifies a flag but is " outError[0] = "<permission> protectionLevel specifies a non-ephemeral flag but is " + "not based on signature type"; mParseError = PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED; return null; Loading core/java/android/content/pm/PermissionInfo.java +16 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.content.pm; import android.annotation.SystemApi; import android.annotation.TestApi; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; Loading Loading @@ -119,6 +120,17 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { */ public static final int PROTECTION_FLAG_SETUP = 0x800; /** * Additional flag for {@link #protectionLevel}, corresponding * to the <code>ephemeral</code> value of * {@link android.R.attr#protectionLevel}. * @hide */ @SystemApi @TestApi public static final int PROTECTION_FLAG_EPHEMERAL = 0x1000; /** * Mask for {@link #protectionLevel}: the basic protection type. */ Loading @@ -127,7 +139,7 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { /** * Mask for {@link #protectionLevel}: additional flag bits. */ public static final int PROTECTION_MASK_FLAGS = 0xff0; public static final int PROTECTION_MASK_FLAGS = 0xfff0; /** * The level of access this permission is protecting, as per Loading Loading @@ -236,6 +248,9 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { if ((level&PermissionInfo.PROTECTION_FLAG_SETUP) != 0) { protLevel += "|setup"; } if ((level&PermissionInfo.PROTECTION_FLAG_EPHEMERAL) != 0) { protLevel += "|ephemeral"; } return protLevel; } Loading Loading
api/current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -10062,7 +10062,7 @@ package android.content.pm { field public static final deprecated int PROTECTION_FLAG_SYSTEM = 16; // 0x10 field public static final int PROTECTION_FLAG_VERIFIER = 512; // 0x200 field public static final int PROTECTION_MASK_BASE = 15; // 0xf field public static final int PROTECTION_MASK_FLAGS = 4080; // 0xff0 field public static final int PROTECTION_MASK_FLAGS = 65520; // 0xfff0 field public static final int PROTECTION_NORMAL = 0; // 0x0 field public static final int PROTECTION_SIGNATURE = 2; // 0x2 field public static final deprecated int PROTECTION_SIGNATURE_OR_SYSTEM = 3; // 0x3
api/system-current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -10487,6 +10487,7 @@ package android.content.pm { field public static final int PROTECTION_DANGEROUS = 1; // 0x1 field public static final int PROTECTION_FLAG_APPOP = 64; // 0x40 field public static final int PROTECTION_FLAG_DEVELOPMENT = 32; // 0x20 field public static final int PROTECTION_FLAG_EPHEMERAL = 4096; // 0x1000 field public static final int PROTECTION_FLAG_INSTALLER = 256; // 0x100 field public static final int PROTECTION_FLAG_PRE23 = 128; // 0x80 field public static final int PROTECTION_FLAG_PREINSTALLED = 1024; // 0x400 Loading @@ -10495,7 +10496,7 @@ package android.content.pm { field public static final deprecated int PROTECTION_FLAG_SYSTEM = 16; // 0x10 field public static final int PROTECTION_FLAG_VERIFIER = 512; // 0x200 field public static final int PROTECTION_MASK_BASE = 15; // 0xf field public static final int PROTECTION_MASK_FLAGS = 4080; // 0xff0 field public static final int PROTECTION_MASK_FLAGS = 65520; // 0xfff0 field public static final int PROTECTION_NORMAL = 0; // 0x0 field public static final int PROTECTION_SIGNATURE = 2; // 0x2 field public static final deprecated int PROTECTION_SIGNATURE_OR_SYSTEM = 3; // 0x3
api/test-current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -10070,6 +10070,7 @@ package android.content.pm { field public static final int PROTECTION_DANGEROUS = 1; // 0x1 field public static final int PROTECTION_FLAG_APPOP = 64; // 0x40 field public static final int PROTECTION_FLAG_DEVELOPMENT = 32; // 0x20 field public static final int PROTECTION_FLAG_EPHEMERAL = 4096; // 0x1000 field public static final int PROTECTION_FLAG_INSTALLER = 256; // 0x100 field public static final int PROTECTION_FLAG_PRE23 = 128; // 0x80 field public static final int PROTECTION_FLAG_PREINSTALLED = 1024; // 0x400 Loading @@ -10078,7 +10079,7 @@ package android.content.pm { field public static final deprecated int PROTECTION_FLAG_SYSTEM = 16; // 0x10 field public static final int PROTECTION_FLAG_VERIFIER = 512; // 0x200 field public static final int PROTECTION_MASK_BASE = 15; // 0xf field public static final int PROTECTION_MASK_FLAGS = 4080; // 0xff0 field public static final int PROTECTION_MASK_FLAGS = 65520; // 0xfff0 field public static final int PROTECTION_NORMAL = 0; // 0x0 field public static final int PROTECTION_SIGNATURE = 2; // 0x2 field public static final deprecated int PROTECTION_SIGNATURE_OR_SYSTEM = 3; // 0x3
core/java/android/content/pm/PackageParser.java +3 −2 Original line number Diff line number Diff line Loading @@ -2600,9 +2600,10 @@ public class PackageParser { perm.info.protectionLevel = PermissionInfo.fixProtectionLevel(perm.info.protectionLevel); if ((perm.info.protectionLevel&PermissionInfo.PROTECTION_MASK_FLAGS) != 0) { if ((perm.info.protectionLevel&PermissionInfo.PROTECTION_MASK_BASE) != if ( (perm.info.protectionLevel&PermissionInfo.PROTECTION_FLAG_EPHEMERAL) == 0 && (perm.info.protectionLevel&PermissionInfo.PROTECTION_MASK_BASE) != PermissionInfo.PROTECTION_SIGNATURE) { outError[0] = "<permission> protectionLevel specifies a flag but is " outError[0] = "<permission> protectionLevel specifies a non-ephemeral flag but is " + "not based on signature type"; mParseError = PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED; return null; Loading
core/java/android/content/pm/PermissionInfo.java +16 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.content.pm; import android.annotation.SystemApi; import android.annotation.TestApi; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; Loading Loading @@ -119,6 +120,17 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { */ public static final int PROTECTION_FLAG_SETUP = 0x800; /** * Additional flag for {@link #protectionLevel}, corresponding * to the <code>ephemeral</code> value of * {@link android.R.attr#protectionLevel}. * @hide */ @SystemApi @TestApi public static final int PROTECTION_FLAG_EPHEMERAL = 0x1000; /** * Mask for {@link #protectionLevel}: the basic protection type. */ Loading @@ -127,7 +139,7 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { /** * Mask for {@link #protectionLevel}: additional flag bits. */ public static final int PROTECTION_MASK_FLAGS = 0xff0; public static final int PROTECTION_MASK_FLAGS = 0xfff0; /** * The level of access this permission is protecting, as per Loading Loading @@ -236,6 +248,9 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { if ((level&PermissionInfo.PROTECTION_FLAG_SETUP) != 0) { protLevel += "|setup"; } if ((level&PermissionInfo.PROTECTION_FLAG_EPHEMERAL) != 0) { protLevel += "|ephemeral"; } return protLevel; } Loading