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

Commit b09ac24c authored by Chad Brubaker's avatar Chad Brubaker Committed by Android (Google) Code Review
Browse files

Merge "Add permission for instant apps creating foreground services"

parents bc1d0ff0 97b383f5
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -79,6 +79,7 @@ package android {
    field public static final java.lang.String INSTALL_LOCATION_PROVIDER = "android.permission.INSTALL_LOCATION_PROVIDER";
    field public static final java.lang.String INSTALL_LOCATION_PROVIDER = "android.permission.INSTALL_LOCATION_PROVIDER";
    field public static final java.lang.String INSTALL_PACKAGES = "android.permission.INSTALL_PACKAGES";
    field public static final java.lang.String INSTALL_PACKAGES = "android.permission.INSTALL_PACKAGES";
    field public static final java.lang.String INSTALL_SHORTCUT = "com.android.launcher.permission.INSTALL_SHORTCUT";
    field public static final java.lang.String INSTALL_SHORTCUT = "com.android.launcher.permission.INSTALL_SHORTCUT";
    field public static final java.lang.String INSTANT_APP_FOREGROUND_SERVICE = "android.permission.INSTANT_APP_FOREGROUND_SERVICE";
    field public static final java.lang.String INTERNET = "android.permission.INTERNET";
    field public static final java.lang.String INTERNET = "android.permission.INTERNET";
    field public static final java.lang.String KILL_BACKGROUND_PROCESSES = "android.permission.KILL_BACKGROUND_PROCESSES";
    field public static final java.lang.String KILL_BACKGROUND_PROCESSES = "android.permission.KILL_BACKGROUND_PROCESSES";
    field public static final java.lang.String LOCATION_HARDWARE = "android.permission.LOCATION_HARDWARE";
    field public static final java.lang.String LOCATION_HARDWARE = "android.permission.LOCATION_HARDWARE";
+1 −0
Original line number Original line Diff line number Diff line
@@ -121,6 +121,7 @@ package android {
    field public static final java.lang.String INSTALL_LOCATION_PROVIDER = "android.permission.INSTALL_LOCATION_PROVIDER";
    field public static final java.lang.String INSTALL_LOCATION_PROVIDER = "android.permission.INSTALL_LOCATION_PROVIDER";
    field public static final java.lang.String INSTALL_PACKAGES = "android.permission.INSTALL_PACKAGES";
    field public static final java.lang.String INSTALL_PACKAGES = "android.permission.INSTALL_PACKAGES";
    field public static final java.lang.String INSTALL_SHORTCUT = "com.android.launcher.permission.INSTALL_SHORTCUT";
    field public static final java.lang.String INSTALL_SHORTCUT = "com.android.launcher.permission.INSTALL_SHORTCUT";
    field public static final java.lang.String INSTANT_APP_FOREGROUND_SERVICE = "android.permission.INSTANT_APP_FOREGROUND_SERVICE";
    field public static final java.lang.String INTENT_FILTER_VERIFICATION_AGENT = "android.permission.INTENT_FILTER_VERIFICATION_AGENT";
    field public static final java.lang.String INTENT_FILTER_VERIFICATION_AGENT = "android.permission.INTENT_FILTER_VERIFICATION_AGENT";
    field public static final java.lang.String INTERACT_ACROSS_USERS = "android.permission.INTERACT_ACROSS_USERS";
    field public static final java.lang.String INTERACT_ACROSS_USERS = "android.permission.INTERACT_ACROSS_USERS";
    field public static final java.lang.String INTERACT_ACROSS_USERS_FULL = "android.permission.INTERACT_ACROSS_USERS_FULL";
    field public static final java.lang.String INTERACT_ACROSS_USERS_FULL = "android.permission.INTERACT_ACROSS_USERS_FULL";
+1 −0
Original line number Original line Diff line number Diff line
@@ -79,6 +79,7 @@ package android {
    field public static final java.lang.String INSTALL_LOCATION_PROVIDER = "android.permission.INSTALL_LOCATION_PROVIDER";
    field public static final java.lang.String INSTALL_LOCATION_PROVIDER = "android.permission.INSTALL_LOCATION_PROVIDER";
    field public static final java.lang.String INSTALL_PACKAGES = "android.permission.INSTALL_PACKAGES";
    field public static final java.lang.String INSTALL_PACKAGES = "android.permission.INSTALL_PACKAGES";
    field public static final java.lang.String INSTALL_SHORTCUT = "com.android.launcher.permission.INSTALL_SHORTCUT";
    field public static final java.lang.String INSTALL_SHORTCUT = "com.android.launcher.permission.INSTALL_SHORTCUT";
    field public static final java.lang.String INSTANT_APP_FOREGROUND_SERVICE = "android.permission.INSTANT_APP_FOREGROUND_SERVICE";
    field public static final java.lang.String INTERNET = "android.permission.INTERNET";
    field public static final java.lang.String INTERNET = "android.permission.INTERNET";
    field public static final java.lang.String KILL_BACKGROUND_PROCESSES = "android.permission.KILL_BACKGROUND_PROCESSES";
    field public static final java.lang.String KILL_BACKGROUND_PROCESSES = "android.permission.KILL_BACKGROUND_PROCESSES";
    field public static final java.lang.String LOCATION_HARDWARE = "android.permission.LOCATION_HARDWARE";
    field public static final java.lang.String LOCATION_HARDWARE = "android.permission.LOCATION_HARDWARE";
+14 −1
Original line number Original line Diff line number Diff line
@@ -247,8 +247,10 @@ public class AppOpsManager {
    public static final int OP_REQUEST_INSTALL_PACKAGES = 66;
    public static final int OP_REQUEST_INSTALL_PACKAGES = 66;
    /** @hide Enter picture-in-picture when hidden. */
    /** @hide Enter picture-in-picture when hidden. */
    public static final int OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE = 67;
    public static final int OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE = 67;
    /** @hide Instant app start foreground service. */
    public static final int OP_INSTANT_APP_START_FOREGROUND = 68;
    /** @hide */
    /** @hide */
    public static final int _NUM_OP = 68;
    public static final int _NUM_OP = 69;


    /** Access to coarse location information. */
    /** Access to coarse location information. */
    public static final String OPSTR_COARSE_LOCATION = "android:coarse_location";
    public static final String OPSTR_COARSE_LOCATION = "android:coarse_location";
@@ -351,6 +353,9 @@ public class AppOpsManager {
            = "android:get_accounts";
            = "android:get_accounts";
    public static final String OPSTR_READ_PHONE_NUMBER
    public static final String OPSTR_READ_PHONE_NUMBER
            = "android:read_phone_number";
            = "android:read_phone_number";
    /** @hide */
    public static final String OPSTR_INSTANT_APP_START_FOREGROUND
            = "android:instant_app_start_foreground";


    private static final int[] RUNTIME_PERMISSIONS_OPS = {
    private static final int[] RUNTIME_PERMISSIONS_OPS = {
            // Contacts
            // Contacts
@@ -467,6 +472,7 @@ public class AppOpsManager {
            OP_READ_PHONE_NUMBER,
            OP_READ_PHONE_NUMBER,
            OP_REQUEST_INSTALL_PACKAGES,
            OP_REQUEST_INSTALL_PACKAGES,
            OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE,
            OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE,
            OP_INSTANT_APP_START_FOREGROUND,
    };
    };


    /**
    /**
@@ -542,6 +548,7 @@ public class AppOpsManager {
            OPSTR_READ_PHONE_NUMBER,
            OPSTR_READ_PHONE_NUMBER,
            null, // OP_REQUEST_INSTALL_PACKAGES
            null, // OP_REQUEST_INSTALL_PACKAGES
            null,
            null,
            OPSTR_INSTANT_APP_START_FOREGROUND,
    };
    };


    /**
    /**
@@ -617,6 +624,7 @@ public class AppOpsManager {
            "READ_PHONE_NUMBER",
            "READ_PHONE_NUMBER",
            "REQUEST_INSTALL_PACKAGES",
            "REQUEST_INSTALL_PACKAGES",
            "OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE",
            "OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE",
            "INSTANT_APP_START_FOREGROUND",
    };
    };


    /**
    /**
@@ -692,6 +700,7 @@ public class AppOpsManager {
            Manifest.permission.READ_PHONE_NUMBER,
            Manifest.permission.READ_PHONE_NUMBER,
            Manifest.permission.REQUEST_INSTALL_PACKAGES,
            Manifest.permission.REQUEST_INSTALL_PACKAGES,
            null, // no permission for entering picture-in-picture on hide
            null, // no permission for entering picture-in-picture on hide
            Manifest.permission.INSTANT_APP_FOREGROUND_SERVICE,
    };
    };


    /**
    /**
@@ -768,6 +777,7 @@ public class AppOpsManager {
            null, // READ_PHONE_NUMBER
            null, // READ_PHONE_NUMBER
            null, // REQUEST_INSTALL_PACKAGES
            null, // REQUEST_INSTALL_PACKAGES
            null, // ENTER_PICTURE_IN_PICTURE_ON_HIDE
            null, // ENTER_PICTURE_IN_PICTURE_ON_HIDE
            null, // INSTANT_APP_START_FOREGROUND
    };
    };


    /**
    /**
@@ -843,6 +853,7 @@ public class AppOpsManager {
            false, // READ_PHONE_NUMBER
            false, // READ_PHONE_NUMBER
            false, // REQUEST_INSTALL_PACKAGES
            false, // REQUEST_INSTALL_PACKAGES
            false, // ENTER_PICTURE_IN_PICTURE_ON_HIDE
            false, // ENTER_PICTURE_IN_PICTURE_ON_HIDE
            false, // INSTANT_APP_START_FOREGROUND
    };
    };


    /**
    /**
@@ -917,6 +928,7 @@ public class AppOpsManager {
            AppOpsManager.MODE_ALLOWED,
            AppOpsManager.MODE_ALLOWED,
            AppOpsManager.MODE_DEFAULT, // OP_REQUEST_INSTALL_PACKAGES
            AppOpsManager.MODE_DEFAULT, // OP_REQUEST_INSTALL_PACKAGES
            AppOpsManager.MODE_ALLOWED,  // OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE
            AppOpsManager.MODE_ALLOWED,  // OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE
            AppOpsManager.MODE_DEFAULT, // OP_INSTANT_APP_START_FOREGROUND
    };
    };


    /**
    /**
@@ -995,6 +1007,7 @@ public class AppOpsManager {
            false,
            false,
            false, // OP_REQUEST_INSTALL_PACKAGES
            false, // OP_REQUEST_INSTALL_PACKAGES
            false, // OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE
            false, // OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE
            false,
    };
    };


    /**
    /**
+4 −0
Original line number Original line Diff line number Diff line
@@ -3252,6 +3252,10 @@
    <permission android:name="android.permission.MODIFY_THEME_OVERLAY"
    <permission android:name="android.permission.MODIFY_THEME_OVERLAY"
                android:protectionLevel="signature" />
                android:protectionLevel="signature" />


    <!-- Allows an instant app to create foreground services. -->
    <permission android:name="android.permission.INSTANT_APP_FOREGROUND_SERVICE"
        android:protectionLevel="signature|development|ephemeral|appop" />

    <application android:process="system"
    <application android:process="system"
                 android:persistent="true"
                 android:persistent="true"
                 android:hasCode="false"
                 android:hasCode="false"
Loading