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

Commit 11669d8d authored by Vladimir Komsiyski's avatar Vladimir Komsiyski
Browse files

Use a new flag for ADD_MIRROR_DISPLAY permission

So it can be launched independently of the limited VDM role.

Flag: android.companion.virtualdevice.flags.vdm_mirror_display_permission
Bug: 378605160
Test: presubmit
Change-Id: I991cec83c04e917284869f2e64e11dc3d4eed288
parent d783b2db
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ package android {
    field public static final String ACCESS_VIBRATOR_STATE = "android.permission.ACCESS_VIBRATOR_STATE";
    field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
    field public static final String ADD_ALWAYS_UNLOCKED_DISPLAY = "android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY";
    field @FlaggedApi("android.companion.virtualdevice.flags.enable_limited_vdm_role") public static final String ADD_MIRROR_DISPLAY = "android.permission.ADD_MIRROR_DISPLAY";
    field @FlaggedApi("android.companion.virtualdevice.flags.vdm_mirror_display_permission") public static final String ADD_MIRROR_DISPLAY = "android.permission.ADD_MIRROR_DISPLAY";
    field public static final String ADD_TRUSTED_DISPLAY = "android.permission.ADD_TRUSTED_DISPLAY";
    field public static final String ADJUST_RUNTIME_PERMISSIONS_POLICY = "android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY";
    field public static final String ALLOCATE_AGGRESSIVE = "android.permission.ALLOCATE_AGGRESSIVE";
+8 −0
Original line number Diff line number Diff line
@@ -103,6 +103,14 @@ flag {
    is_exported: true
}

flag {
    namespace: "virtual_devices"
    name: "vdm_mirror_display_permission"
    description: "Dedicated permission for mirror display creation"
    bug: "378605160"
    is_exported: true
}

flag {
    name: "itemized_vdm_permissions"
    namespace: "virtual_devices"
+2 −2
Original line number Diff line number Diff line
@@ -8397,11 +8397,11 @@
                android:protectionLevel="signature|role"/>

    <!-- Allows an application to create displays that mirror other displays' content.
         @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_ENABLE_LIMITED_VDM_ROLE)
         @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_VDM_MIRROR_DISPLAY_PERMISSION)
         @hide @SystemApi -->
    <permission android:name="android.permission.ADD_MIRROR_DISPLAY"
        android:protectionLevel="internal|role"
        android:featureFlag="android.companion.virtualdevice.flags.enable_limited_vdm_role" />
        android:featureFlag="android.companion.virtualdevice.flags.vdm_mirror_display_permission" />

    <!-- @hide @SystemApi Allows an application to access locusId events in the usage stats. -->
    <permission android:name="android.permission.ACCESS_LOCUS_ID_USAGE_STATS"
+1 −1
Original line number Diff line number Diff line
@@ -985,7 +985,7 @@
    <uses-permission android:name="android.permission.ADD_TRUSTED_DISPLAY" />
    <uses-permission android:name="android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY" />
    <uses-permission android:name="android.permission.ADD_MIRROR_DISPLAY"
        android:featureFlag="android.companion.virtualdevice.flags.enable_limited_vdm_role"/>
        android:featureFlag="android.companion.virtualdevice.flags.vdm_mirror_display_permission"/>

    <!-- Permission required for CTS test - CtsAppTestCases -->
    <uses-permission android:name="android.permission.KILL_UID" />
+1 −1
Original line number Diff line number Diff line
@@ -1203,7 +1203,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub
            return true;
        }

        if (Flags.enableLimitedVdmRole()
        if (Flags.vdmMirrorDisplayPermission()
                && CompatChanges.isChangeEnabled(CHECK_ADD_MIRROR_DISPLAY_PERMISSION,
                    mOwnerPackageName, UserHandle.getUserHandleForUid(mOwnerUid))) {
            return mContext.checkCallingOrSelfPermission(ADD_MIRROR_DISPLAY)