Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1fd91e9d authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge "Merge "Allow permissions to be runtime-only." into oc-dev am: 941e9e2b am: 57a94648"

parents 24700423 7671735f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -10809,6 +10809,7 @@ package android.content.pm {
    field public static final int PROTECTION_FLAG_PRE23 = 128; // 0x80
    field public static final int PROTECTION_FLAG_PREINSTALLED = 1024; // 0x400
    field public static final int PROTECTION_FLAG_PRIVILEGED = 16; // 0x10
    field public static final int PROTECTION_FLAG_RUNTIME_ONLY = 8192; // 0x2000
    field public static final int PROTECTION_FLAG_SETUP = 2048; // 0x800
    field public static final deprecated int PROTECTION_FLAG_SYSTEM = 16; // 0x10
    field public static final int PROTECTION_FLAG_VERIFIER = 512; // 0x200
+1 −0
Original line number Diff line number Diff line
@@ -11560,6 +11560,7 @@ package android.content.pm {
    field public static final int PROTECTION_FLAG_PRE23 = 128; // 0x80
    field public static final int PROTECTION_FLAG_PREINSTALLED = 1024; // 0x400
    field public static final int PROTECTION_FLAG_PRIVILEGED = 16; // 0x10
    field public static final int PROTECTION_FLAG_RUNTIME_ONLY = 8192; // 0x2000
    field public static final int PROTECTION_FLAG_SETUP = 2048; // 0x800
    field public static final deprecated int PROTECTION_FLAG_SYSTEM = 16; // 0x10
    field public static final int PROTECTION_FLAG_VERIFIER = 512; // 0x200
+1 −0
Original line number Diff line number Diff line
@@ -10849,6 +10849,7 @@ package android.content.pm {
    field public static final int PROTECTION_FLAG_PRE23 = 128; // 0x80
    field public static final int PROTECTION_FLAG_PREINSTALLED = 1024; // 0x400
    field public static final int PROTECTION_FLAG_PRIVILEGED = 16; // 0x10
    field public static final int PROTECTION_FLAG_RUNTIME_ONLY = 8192; // 0x2000
    field public static final int PROTECTION_FLAG_SETUP = 2048; // 0x800
    field public static final deprecated int PROTECTION_FLAG_SYSTEM = 16; // 0x10
    field public static final int PROTECTION_FLAG_VERIFIER = 512; // 0x200
+1 −0
Original line number Diff line number Diff line
@@ -3114,6 +3114,7 @@ public class PackageParser {

        if ((perm.info.protectionLevel&PermissionInfo.PROTECTION_MASK_FLAGS) != 0) {
            if ( (perm.info.protectionLevel&PermissionInfo.PROTECTION_FLAG_EPHEMERAL) == 0
                    && (perm.info.protectionLevel&PermissionInfo.PROTECTION_FLAG_RUNTIME_ONLY) == 0
                    && (perm.info.protectionLevel&PermissionInfo.PROTECTION_MASK_BASE) !=
                    PermissionInfo.PROTECTION_SIGNATURE) {
                outError[0] = "<permission>  protectionLevel specifies a non-ephemeral flag but is "
+10 −0
Original line number Diff line number Diff line
@@ -130,6 +130,13 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable {
    @TestApi
    public static final int PROTECTION_FLAG_EPHEMERAL = 0x1000;

    /**
     * Additional flag for {@link #protectionLevel}, corresponding
     * to the <code>runtime</code> value of
     * {@link android.R.attr#protectionLevel}.
     */
    public static final int PROTECTION_FLAG_RUNTIME_ONLY = 0x2000;

    /**
     * Mask for {@link #protectionLevel}: the basic protection type.
     */
@@ -250,6 +257,9 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable {
        if ((level&PermissionInfo.PROTECTION_FLAG_EPHEMERAL) != 0) {
            protLevel += "|ephemeral";
        }
        if ((level&PermissionInfo.PROTECTION_FLAG_RUNTIME_ONLY) != 0) {
            protLevel += "|runtime";
        }
        return protLevel;
    }

Loading