Allow ROLE_HOME to use FLAG_SLIPPERY

Some launchers don't have the "signature" permission.
Instead of requiring "signature | recents" protection level for
FLAG_SLIPPERY, let's change this to provide such permission to any
"home" app. This way, any launcher can use this flag.

This CL can be verified by pulling down the notification shade from home
screen. The pull must happen from the middle of the screen, not from the
top of the screen.

Bug: 220805921
Bug: 157929241

Test: atest PermissionControllerMockingTests
Test: verified on a pixel device
Test: atest android.permission2.cts.PermissionPolicyTest
Change-Id: I83a5c45ba818374c823065c8d104c06bed3e1459
This commit is contained in:
Siarhei Vishniakou
2022-02-22 14:59:40 -08:00
parent f594db70aa
commit 69df70ee07
2 changed files with 4 additions and 3 deletions

View File

@@ -34,6 +34,7 @@ package android {
field public static final String ALLOCATE_AGGRESSIVE = "android.permission.ALLOCATE_AGGRESSIVE";
field public static final String ALLOW_ANY_CODEC_FOR_PLAYBACK = "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK";
field public static final String ALLOW_PLACE_IN_MULTI_PANE_SETTINGS = "android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS";
field public static final String ALLOW_SLIPPERY_TOUCHES = "android.permission.ALLOW_SLIPPERY_TOUCHES";
field public static final String AMBIENT_WALLPAPER = "android.permission.AMBIENT_WALLPAPER";
field public static final String APPROVE_INCIDENT_REPORTS = "android.permission.APPROVE_INCIDENT_REPORTS";
field public static final String ASSOCIATE_COMPANION_DEVICES = "android.permission.ASSOCIATE_COMPANION_DEVICES";

View File

@@ -6150,10 +6150,10 @@
<!-- Allows input events to be monitored. Very dangerous! @hide -->
<permission android:name="android.permission.MONITOR_INPUT"
android:protectionLevel="signature|recents" />
<!-- Allows the use of FLAG_SLIPPERY, which permits touch events to slip from the current
window to the window where the touch currently is on top of. @hide -->
<!-- @SystemApi Allows the use of FLAG_SLIPPERY, which permits touch events to slip from the
current window to the window where the touch currently is on top of. @hide -->
<permission android:name="android.permission.ALLOW_SLIPPERY_TOUCHES"
android:protectionLevel="signature|recents" />
android:protectionLevel="signature|privileged|recents|role" />
<!-- Allows the caller to change the associations between input devices and displays.
Very dangerous! @hide -->
<permission android:name="android.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY"