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

Commit f02e0687 authored by Brian Lindahl's avatar Brian Lindahl
Browse files

Add permissions for applying and listening to picture profiles

Bug: 337330263
Test: build
Flag: android.media.tv.flags.apply_picture_profiles
Change-Id: I79cbe01e39d6e7f49cfd4757eaba609897d4462c
parent 0b8a55a6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ package android {
    field public static final String ACTIVITY_RECOGNITION = "android.permission.ACTIVITY_RECOGNITION";
    field public static final String ADD_VOICEMAIL = "com.android.voicemail.permission.ADD_VOICEMAIL";
    field public static final String ANSWER_PHONE_CALLS = "android.permission.ANSWER_PHONE_CALLS";
    field @FlaggedApi("android.media.tv.flags.apply_picture_profiles") public static final String APPLY_PICTURE_PROFILE = "android.permission.APPLY_PICTURE_PROFILE";
    field public static final String BATTERY_STATS = "android.permission.BATTERY_STATS";
    field public static final String BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE";
    field public static final String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET";
+46 −21
Original line number Diff line number Diff line
@@ -1080,6 +1080,52 @@
    <permission android:name="android.permission.SATELLITE_COMMUNICATION"
                android:protectionLevel="role|signature|privileged" />

    <!-- ================================== -->
    <!-- Permissions associated with picture and sound profiles  -->
    <!-- ================================== -->
    <eat-comment />

    <!-- @FlaggedApi(android.media.tv.flags.Flags.FLAG_APPLY_PICTURE_PROFILES)
         Allows an app to apply a {@link MediaQualityManager.PictureProfile} to a layer via
         {@link MediaCodec.PARAMETER_KEY_PICTURE_PROFILE} and, additionally, system apps via
         {@link SurfaceControl.Transaction#setPictureProfileHandle}.
         -->
    <permission android:name="android.permission.APPLY_PICTURE_PROFILE"
        android:protectionLevel="normal"
        android:featureFlag="android.media.tv.flags.apply_picture_profiles"/>

    <!-- @hide
         Allows MediaQualityService to observe any {@link MediaQualityManager.PictureProfile}
         applied to any layer in the system by apps via
         {@link MediaCodec.PARAMETER_KEY_PICTURE_PROFILE} and by system apps via
         {@link SurfaceControl.Transaction#setPictureProfileHandle}.
         -->
    <permission android:name="android.permission.OBSERVE_PICTURE_PROFILES"
        android:protectionLevel="signature|privileged"
        android:featureFlag="android.media.tv.flags.apply_picture_profiles"/>

    <!--
        @SystemApi
        @FlaggedApi("android.media.tv.flags.media_quality_fw")
        Allows an application to access its picture profile from the media quality database.
        <p> Protection level: signature|privileged|vendor privileged
        @hide
    -->
    <permission android:name="android.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE"
                android:protectionLevel="signature|privileged|vendorPrivileged"
                android:featureFlag="android.media.tv.flags.media_quality_fw"/>

    <!--
        @SystemApi
        @FlaggedApi("android.media.tv.flags.media_quality_fw")
        Allows an application to access its sound profile from the media quality database.
        <p> Protection level: signature|privileged|vendor privileged
        @hide
    -->
    <permission android:name="android.permission.MANAGE_GLOBAL_SOUND_QUALITY_SERVICE"
                android:protectionLevel="signature|privileged|vendorPrivileged"
                android:featureFlag="android.media.tv.flags.media_quality_fw"/>

    <!-- ====================================================================== -->
    <!-- Permissions for accessing external storage                             -->
    <!-- ====================================================================== -->
@@ -8565,27 +8611,6 @@
    <permission android:name="android.permission.RESERVED_FOR_TESTING_SIGNATURE"
                android:protectionLevel="signature"/>

    <!--
        @SystemApi
        @FlaggedApi("android.media.tv.flags.media_quality_fw")
        Allows an application to access its picture profile from the media quality database.
        <p> Protection level: signature|privileged|vendor privileged
        @hide
    -->
    <permission android:name="android.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE"
                android:protectionLevel="signature|privileged|vendorPrivileged"
                android:featureFlag="android.media.tv.flags.media_quality_fw"/>

    <!--
        @SystemApi
        @FlaggedApi("android.media.tv.flags.media_quality_fw")
        Allows an application to access its sound profile from the media quality database.
        <p> Protection level: signature|privileged|vendor privileged
        @hide
    -->
    <permission android:name="android.permission.MANAGE_GLOBAL_SOUND_QUALITY_SERVICE"
                android:protectionLevel="signature|privileged|vendorPrivileged"
                android:featureFlag="android.media.tv.flags.media_quality_fw"/>
    <!-- @SystemApi
        @FlaggedApi("android.content.pm.verification_service")
        Allows app to be the verification agent to verify packages.
+6 −0
Original line number Diff line number Diff line
@@ -93,6 +93,10 @@ applications that come with the platform
        <permission name="android.permission.INTERACT_ACROSS_USERS"/>
    </privapp-permissions>

    <privapp-permissions package="com.android.media.quality">
        <permission name="android.permission.OBSERVE_PICTURE_PROFILES"/>
    </privapp-permissions>

    <privapp-permissions package="com.android.mtp">
        <permission name="android.permission.ACCESS_MTP"/>
        <permission name="android.permission.MANAGE_USB"/>
@@ -262,6 +266,8 @@ applications that come with the platform
        <!-- BLUETOOTH_PRIVILEGED is needed for test only -->
        <permission name="android.permission.BLUETOOTH_PRIVILEGED"/>
        <permission name="android.permission.BIND_APPWIDGET"/>
        <!-- Needed for CTS tests only -->
        <permission name="android.permission.OBSERVE_PICTURE_PROFILES"/>
        <permission name="android.permission.CHANGE_APP_IDLE_STATE"/>
        <permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
        <permission name="android.permission.CHANGE_CONFIGURATION"/>
+3 −0
Original line number Diff line number Diff line
@@ -369,6 +369,9 @@
    <!-- Permission needed for CTS test - UnsupportedErrorDialogTests -->
    <uses-permission android:name="android.permission.RESET_APP_ERRORS" />

    <!-- Permission needed tests -->
    <uses-permission android:name="android.permission.OBSERVE_PICTURE_PROFILES" />

    <!-- Permission needed for CTS test - CtsSystemUiTestCases:PipNotificationTests -->
    <uses-permission android:name="android.permission.GET_INTENT_SENDER_INTENT" />