diff options
| author | 2021-03-25 02:10:05 +0000 | |
|---|---|---|
| committer | 2021-03-25 02:10:05 +0000 | |
| commit | 660eb72df86ee31a4a2c25308a93d013428f23bd (patch) | |
| tree | 37e7ecb9be70aef71d28d97fbe2f1712e2073d1e | |
| parent | d4a277f695e81eea07a93194e8b176ff40532feb (diff) | |
| parent | 8b820867220d07bf4a0e970ed1416bc8729fc9b7 (diff) | |
Merge "Add reporting to monitor apps incorrectly using getRaw" into sc-dev
| -rw-r--r-- | core/java/android/hardware/input/InputManager.java | 8 | ||||
| -rw-r--r-- | core/java/android/view/MotionEvent.java | 6 |
2 files changed, 14 insertions, 0 deletions
diff --git a/core/java/android/hardware/input/InputManager.java b/core/java/android/hardware/input/InputManager.java index 01fd3964df1d..c83ccfa81f95 100644 --- a/core/java/android/hardware/input/InputManager.java +++ b/core/java/android/hardware/input/InputManager.java @@ -223,6 +223,14 @@ public final class InputManager { public static final long BLOCK_FLAG_SLIPPERY = android.os.IInputConstants.BLOCK_FLAG_SLIPPERY; /** + * Check whether apps are using MotionEvent.getRawX/Y. This is implementation-specific, and + * thus undefined for most 3p app usages. + * @hide + */ + @ChangeId + public static final long APP_USES_RAW_INPUT_COORDS = 179274888L; + + /** * Input Event Injection Synchronization Mode: None. * Never blocks. Injection is asynchronous and is assumed always to be successful. * @hide diff --git a/core/java/android/view/MotionEvent.java b/core/java/android/view/MotionEvent.java index 6801c27851a9..dea32cd96756 100644 --- a/core/java/android/view/MotionEvent.java +++ b/core/java/android/view/MotionEvent.java @@ -16,6 +16,7 @@ package android.view; +import static android.hardware.input.InputManager.APP_USES_RAW_INPUT_COORDS; import static android.view.Display.DEFAULT_DISPLAY; import static java.lang.annotation.RetentionPolicy.SOURCE; @@ -23,6 +24,7 @@ import static java.lang.annotation.RetentionPolicy.SOURCE; import android.annotation.IntDef; import android.annotation.Nullable; import android.annotation.TestApi; +import android.compat.Compatibility; import android.compat.annotation.UnsupportedAppUsage; import android.graphics.Matrix; import android.os.Build; @@ -2672,6 +2674,7 @@ public final class MotionEvent extends InputEvent implements Parcelable { * @see #AXIS_X */ public final float getRawX() { + Compatibility.reportChange(APP_USES_RAW_INPUT_COORDS); return nativeGetRawAxisValue(mNativePtr, AXIS_X, 0, HISTORY_CURRENT); } @@ -2685,6 +2688,7 @@ public final class MotionEvent extends InputEvent implements Parcelable { * @see #AXIS_Y */ public final float getRawY() { + Compatibility.reportChange(APP_USES_RAW_INPUT_COORDS); return nativeGetRawAxisValue(mNativePtr, AXIS_Y, 0, HISTORY_CURRENT); } @@ -2701,6 +2705,7 @@ public final class MotionEvent extends InputEvent implements Parcelable { * @see #AXIS_X */ public float getRawX(int pointerIndex) { + Compatibility.reportChange(APP_USES_RAW_INPUT_COORDS); return nativeGetRawAxisValue(mNativePtr, AXIS_X, pointerIndex, HISTORY_CURRENT); } @@ -2717,6 +2722,7 @@ public final class MotionEvent extends InputEvent implements Parcelable { * @see #AXIS_Y */ public float getRawY(int pointerIndex) { + Compatibility.reportChange(APP_USES_RAW_INPUT_COORDS); return nativeGetRawAxisValue(mNativePtr, AXIS_Y, pointerIndex, HISTORY_CURRENT); } |