Enabling Launcher to directly create input monitor

This will allow Launcher to be correctly accounted for any ANRs

Bug: 177556238
Test: presubmit
Change-Id: I00054d20c3c41f1f64c8c9b431b10f61d9968173
This commit is contained in:
Sunny Goyal
2021-01-22 14:04:40 -08:00
parent 5050ce2d31
commit 7963b8deb4
2 changed files with 9 additions and 1 deletions

View File

@@ -5316,7 +5316,7 @@
<!-- Allows input events to be monitored. Very dangerous! @hide -->
<permission android:name="android.permission.MONITOR_INPUT"
android:protectionLevel="signature" />
android:protectionLevel="signature|recents" />
<!-- 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_BY_PORT"

View File

@@ -15,6 +15,7 @@
*/
package com.android.systemui.shared.system;
import android.hardware.input.InputManager;
import android.os.Bundle;
import android.os.Looper;
import android.os.Parcel;
@@ -32,6 +33,13 @@ public class InputMonitorCompat implements Parcelable {
private final InputMonitor mInputMonitor;
private boolean mForReturn = false;
/**
* Monitor input on the specified display for gestures.
*/
public InputMonitorCompat(String name, int displayId) {
mInputMonitor = InputManager.getInstance().monitorGestureInput(name, displayId);
}
private InputMonitorCompat(InputMonitor monitor) {
mInputMonitor = monitor;
}