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

Commit 1581e284 authored by Prabir Pradhan's avatar Prabir Pradhan Committed by Android (Google) Code Review
Browse files

Merge changes Ib9b04f7e,I8204e903 into main

* changes:
  KeyEvent: Add IntDef annotations for action, meta state, and flag
  MotionEvent: Add IntDef annotations for action, flag, axis, and button
parents 9941ca15 1430d1cc
Loading
Loading
Loading
Loading
+64 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static android.os.IInputConstants.INPUT_EVENT_FLAG_IS_ACCESSIBILITY_EVENT
import static android.view.Display.INVALID_DISPLAY;

import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.TestApi;
@@ -35,6 +36,8 @@ import android.view.KeyCharacterMap.KeyData;

import com.android.hardware.input.Flags;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.concurrent.TimeUnit;

/**
@@ -1034,6 +1037,15 @@ public class KeyEvent extends InputEvent implements Parcelable {
    @Deprecated
    public static final int ACTION_MULTIPLE         = 2;

    /** @hide */
    @IntDef(prefix = {"ACTION_"}, value = {
            ACTION_DOWN,
            ACTION_UP,
            ACTION_MULTIPLE,
    })
    @Retention(RetentionPolicy.SOURCE)
    @interface Action {}

    /**
     * SHIFT key locked in CAPS mode.
     * Reserved for use by {@link MetaKeyKeyListener} for a published constant in its API.
@@ -1222,6 +1234,33 @@ public class KeyEvent extends InputEvent implements Parcelable {
     */
    public static final int META_SCROLL_LOCK_ON = 0x400000;

    /** @hide */
    @IntDef(flag = true, prefix = {"META_"}, value = {
            META_CAP_LOCKED,
            META_ALT_LOCKED,
            META_SYM_LOCKED,
            META_SELECTING,
            META_ALT_ON,
            META_ALT_LEFT_ON,
            META_ALT_RIGHT_ON,
            META_SHIFT_ON,
            META_SHIFT_LEFT_ON,
            META_SHIFT_RIGHT_ON,
            META_SYM_ON,
            META_FUNCTION_ON,
            META_CTRL_ON,
            META_CTRL_LEFT_ON,
            META_CTRL_RIGHT_ON,
            META_META_ON,
            META_META_LEFT_ON,
            META_META_RIGHT_ON,
            META_CAPS_LOCK_ON,
            META_NUM_LOCK_ON,
            META_SCROLL_LOCK_ON,
    })
    @Retention(RetentionPolicy.SOURCE)
    @interface MetaState {}

    /**
     * This mask is a combination of {@link #META_SHIFT_ON}, {@link #META_SHIFT_LEFT_ON}
     * and {@link #META_SHIFT_RIGHT_ON}.
@@ -1366,6 +1405,27 @@ public class KeyEvent extends InputEvent implements Parcelable {
     */
    public static final int FLAG_TAINTED = IInputConstants.INPUT_EVENT_FLAG_TAINTED;

    /** @hide */
    @IntDef(flag = true, prefix = { "FLAG_" }, value = {
            FLAG_WOKE_HERE,
            FLAG_SOFT_KEYBOARD,
            FLAG_KEEP_TOUCH_MODE,
            FLAG_FROM_SYSTEM,
            FLAG_EDITOR_ACTION,
            FLAG_CANCELED,
            FLAG_VIRTUAL_HARD_KEY,
            FLAG_LONG_PRESS,
            FLAG_CANCELED_LONG_PRESS,
            FLAG_TRACKING,
            FLAG_FALLBACK,
            FLAG_IS_ACCESSIBILITY_EVENT,
            FLAG_PREDISPATCH,
            FLAG_START_TRACKING,
            FLAG_TAINTED,
    })
    @Retention(RetentionPolicy.SOURCE)
    @interface Flag {}

    /**
     * Returns the maximum keycode.
     */
@@ -1401,8 +1461,10 @@ public class KeyEvent extends InputEvent implements Parcelable {
    // NOTE: mHmac is private and not used in this class, but it's used on native side / parcel.
    private @Nullable byte[] mHmac;
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    @MetaState
    private int mMetaState;
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    @Action
    private int mAction;
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    private int mKeyCode;
@@ -1411,6 +1473,7 @@ public class KeyEvent extends InputEvent implements Parcelable {
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    private int mRepeatCount;
    @UnsupportedAppUsage
    @Flag
    private int mFlags;
    /**
     * The time when the key initially was pressed, in nanoseconds. Only millisecond precision is
+105 −0
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ import dalvik.annotation.optimization.CriticalNative;
import dalvik.annotation.optimization.FastNative;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Objects;

/**
@@ -445,6 +446,25 @@ public final class MotionEvent extends InputEvent implements Parcelable {
    @Deprecated
    public static final int ACTION_POINTER_ID_SHIFT = 8;

    /** @hide */
    @IntDef(prefix = { "ACTION_" }, value = {
            ACTION_DOWN,
            ACTION_UP,
            ACTION_MOVE,
            ACTION_CANCEL,
            ACTION_OUTSIDE,
            ACTION_POINTER_DOWN,
            ACTION_POINTER_UP,
            ACTION_HOVER_MOVE,
            ACTION_SCROLL,
            ACTION_HOVER_ENTER,
            ACTION_HOVER_EXIT,
            ACTION_BUTTON_PRESS,
            ACTION_BUTTON_RELEASE,
    })
    @Retention(RetentionPolicy.SOURCE)
    @interface ActionMasked {}

    /**
     * This flag indicates that the window that received this motion event is partly
     * or wholly obscured by another visible window above it and the event directly passed through
@@ -548,6 +568,21 @@ public final class MotionEvent extends InputEvent implements Parcelable {
    public static final int FLAG_TARGET_ACCESSIBILITY_FOCUS =
            MOTION_EVENT_FLAG_TARGET_ACCESSIBILITY_FOCUS;

    /** @hide */
    @IntDef(flag = true, prefix = { "FLAG_" }, value = {
            FLAG_WINDOW_IS_OBSCURED,
            FLAG_WINDOW_IS_PARTIALLY_OBSCURED,
            FLAG_HOVER_EXIT_PENDING,
            FLAG_IS_GENERATED_GESTURE,
            FLAG_CANCELED,
            FLAG_NO_FOCUS_CHANGE,
            FLAG_IS_ACCESSIBILITY_EVENT,
            FLAG_TAINTED,
            FLAG_TARGET_ACCESSIBILITY_FOCUS,
    })
    @Retention(RetentionPolicy.SOURCE)
    @interface Flag {}

    /**
     * Flag indicating the motion event intersected the top edge of the screen.
     */
@@ -1422,6 +1457,63 @@ public final class MotionEvent extends InputEvent implements Parcelable {
        names.append(AXIS_GESTURE_SWIPE_FINGER_COUNT, "AXIS_GESTURE_SWIPE_FINGER_COUNT");
    }

    /** @hide */
    @IntDef(prefix = { "AXIS_" }, value = {
            AXIS_X,
            AXIS_Y,
            AXIS_PRESSURE,
            AXIS_SIZE,
            AXIS_TOUCH_MAJOR,
            AXIS_TOUCH_MINOR,
            AXIS_TOOL_MAJOR,
            AXIS_TOOL_MINOR,
            AXIS_ORIENTATION,
            AXIS_VSCROLL,
            AXIS_HSCROLL,
            AXIS_Z,
            AXIS_RX,
            AXIS_RY,
            AXIS_RZ,
            AXIS_HAT_X,
            AXIS_HAT_Y,
            AXIS_LTRIGGER,
            AXIS_RTRIGGER,
            AXIS_THROTTLE,
            AXIS_RUDDER,
            AXIS_WHEEL,
            AXIS_GAS,
            AXIS_BRAKE,
            AXIS_DISTANCE,
            AXIS_TILT,
            AXIS_SCROLL,
            AXIS_RELATIVE_X,
            AXIS_RELATIVE_Y,
            AXIS_GENERIC_1,
            AXIS_GENERIC_2,
            AXIS_GENERIC_3,
            AXIS_GENERIC_4,
            AXIS_GENERIC_5,
            AXIS_GENERIC_6,
            AXIS_GENERIC_7,
            AXIS_GENERIC_8,
            AXIS_GENERIC_9,
            AXIS_GENERIC_10,
            AXIS_GENERIC_11,
            AXIS_GENERIC_12,
            AXIS_GENERIC_13,
            AXIS_GENERIC_14,
            AXIS_GENERIC_15,
            AXIS_GENERIC_16,
            AXIS_GESTURE_X_OFFSET,
            AXIS_GESTURE_Y_OFFSET,
            AXIS_GESTURE_SCROLL_X_DISTANCE,
            AXIS_GESTURE_SCROLL_Y_DISTANCE,
            AXIS_GESTURE_PINCH_SCALE_FACTOR,
            AXIS_GESTURE_SWIPE_FINGER_COUNT,
    })
    @Retention(RetentionPolicy.SOURCE)
    @interface Axis {}

    /**
     * Button constant: Primary button (left mouse button).
     *
@@ -1522,6 +1614,19 @@ public final class MotionEvent extends InputEvent implements Parcelable {
        "0x80000000",
    };

    /** @hide */
    @IntDef(flag = true, prefix = { "BUTTON_" }, value = {
            BUTTON_PRIMARY,
            BUTTON_SECONDARY,
            BUTTON_TERTIARY,
            BUTTON_BACK,
            BUTTON_FORWARD,
            BUTTON_STYLUS_PRIMARY,
            BUTTON_STYLUS_SECONDARY,
    })
    @Retention(RetentionPolicy.SOURCE)
    @interface Button {}

    /**
     * Classification constant: None.
     *