Loading core/java/android/view/InputEvent.java +13 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,19 @@ public abstract class InputEvent implements Parcelable { return (getSource() & source) == source; } /** * Gets the display id of the event. * @return The display id associated with the event. * @hide */ public abstract int getDisplayId(); /** * Modifies the display id associated with the event * @param displayId * @hide */ public abstract void setDisplayId(int displayId); /** * Copies the event. * Loading core/java/android/view/KeyEvent.java +40 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.view; import static android.view.Display.INVALID_DISPLAY; import android.annotation.NonNull; import android.annotation.TestApi; import android.os.Parcel; Loading Loading @@ -1246,6 +1248,7 @@ public class KeyEvent extends InputEvent implements Parcelable { private int mDeviceId; private int mSource; private int mDisplayId; private int mMetaState; private int mAction; private int mKeyCode; Loading Loading @@ -1473,6 +1476,7 @@ public class KeyEvent extends InputEvent implements Parcelable { mScanCode = scancode; mFlags = flags; mSource = source; mDisplayId = INVALID_DISPLAY; } /** Loading @@ -1497,6 +1501,7 @@ public class KeyEvent extends InputEvent implements Parcelable { mDeviceId = deviceId; mFlags = flags; mSource = InputDevice.SOURCE_KEYBOARD; mDisplayId = INVALID_DISPLAY; } /** Loading @@ -1511,6 +1516,7 @@ public class KeyEvent extends InputEvent implements Parcelable { mMetaState = origEvent.mMetaState; mDeviceId = origEvent.mDeviceId; mSource = origEvent.mSource; mDisplayId = origEvent.mDisplayId; mScanCode = origEvent.mScanCode; mFlags = origEvent.mFlags; mCharacters = origEvent.mCharacters; Loading @@ -1537,6 +1543,7 @@ public class KeyEvent extends InputEvent implements Parcelable { mMetaState = origEvent.mMetaState; mDeviceId = origEvent.mDeviceId; mSource = origEvent.mSource; mDisplayId = origEvent.mDisplayId; mScanCode = origEvent.mScanCode; mFlags = origEvent.mFlags; mCharacters = origEvent.mCharacters; Loading Loading @@ -1564,7 +1571,7 @@ public class KeyEvent extends InputEvent implements Parcelable { */ public static KeyEvent obtain(long downTime, long eventTime, int action, int code, int repeat, int metaState, int deviceId, int scancode, int flags, int source, String characters) { int deviceId, int scancode, int flags, int source, int displayId, String characters) { KeyEvent ev = obtain(); ev.mDownTime = downTime; ev.mEventTime = eventTime; Loading @@ -1576,10 +1583,25 @@ public class KeyEvent extends InputEvent implements Parcelable { ev.mScanCode = scancode; ev.mFlags = flags; ev.mSource = source; ev.mDisplayId = displayId; ev.mCharacters = characters; return ev; } /** * Obtains a (potentially recycled) key event. * * @hide */ public static KeyEvent obtain(long downTime, long eventTime, int action, int code, int repeat, int metaState, int deviceId, int scancode, int flags, int source, String characters) { return obtain(downTime, eventTime, action, code, repeat, metaState, deviceId, scancode, flags, source, INVALID_DISPLAY, characters); } /** /** * Obtains a (potentially recycled) copy of another key event. * Loading @@ -1597,6 +1619,7 @@ public class KeyEvent extends InputEvent implements Parcelable { ev.mScanCode = other.mScanCode; ev.mFlags = other.mFlags; ev.mSource = other.mSource; ev.mDisplayId = other.mDisplayId; ev.mCharacters = other.mCharacters; return ev; } Loading Loading @@ -1683,6 +1706,7 @@ public class KeyEvent extends InputEvent implements Parcelable { mMetaState = origEvent.mMetaState; mDeviceId = origEvent.mDeviceId; mSource = origEvent.mSource; mDisplayId = origEvent.mDisplayId; mScanCode = origEvent.mScanCode; mFlags = origEvent.mFlags; // Don't copy mCharacters, since one way or the other we'll lose it Loading Loading @@ -1917,6 +1941,18 @@ public class KeyEvent extends InputEvent implements Parcelable { mSource = source; } /** @hide */ @Override public final int getDisplayId() { return mDisplayId; } /** @hide */ @Override public final void setDisplayId(int displayId) { mDisplayId = displayId; } /** * <p>Returns the state of the meta keys.</p> * Loading Loading @@ -2852,6 +2888,7 @@ public class KeyEvent extends InputEvent implements Parcelable { msg.append(", downTime=").append(mDownTime); msg.append(", deviceId=").append(mDeviceId); msg.append(", source=0x").append(Integer.toHexString(mSource)); msg.append(", displayId=").append(mDisplayId); msg.append(" }"); return msg.toString(); } Loading Loading @@ -2983,6 +3020,7 @@ public class KeyEvent extends InputEvent implements Parcelable { private KeyEvent(Parcel in) { mDeviceId = in.readInt(); mSource = in.readInt(); mDisplayId = in.readInt(); mAction = in.readInt(); mKeyCode = in.readInt(); mRepeatCount = in.readInt(); Loading @@ -2999,6 +3037,7 @@ public class KeyEvent extends InputEvent implements Parcelable { out.writeInt(mDeviceId); out.writeInt(mSource); out.writeInt(mDisplayId); out.writeInt(mAction); out.writeInt(mKeyCode); out.writeInt(mRepeatCount); Loading core/java/android/view/MotionEvent.java +2 −0 Original line number Diff line number Diff line Loading @@ -1943,11 +1943,13 @@ public final class MotionEvent extends InputEvent implements Parcelable { } /** @hide */ @Override public int getDisplayId() { return nativeGetDisplayId(mNativePtr); } /** @hide */ @Override public void setDisplayId(int displayId) { nativeSetDisplayId(mNativePtr, displayId); } Loading core/jni/android_view_InputEventSender.cpp +3 −4 Original line number Diff line number Diff line Loading @@ -114,8 +114,8 @@ status_t NativeInputEventSender::sendKeyEvent(uint32_t seq, const KeyEvent* even uint32_t publishedSeq = mNextPublishedSeq++; status_t status = mInputPublisher.publishKeyEvent(publishedSeq, event->getDeviceId(), event->getSource(), event->getAction(), event->getFlags(), event->getKeyCode(), event->getScanCode(), event->getMetaState(), event->getDeviceId(), event->getSource(), event->getDisplayId(), event->getAction(), event->getFlags(), event->getKeyCode(), event->getScanCode(), event->getMetaState(), event->getRepeatCount(), event->getDownTime(), event->getEventTime()); if (status) { ALOGW("Failed to send key event on channel '%s'. status=%d", Loading @@ -135,8 +135,7 @@ status_t NativeInputEventSender::sendMotionEvent(uint32_t seq, const MotionEvent for (size_t i = 0; i <= event->getHistorySize(); i++) { publishedSeq = mNextPublishedSeq++; status_t status = mInputPublisher.publishMotionEvent(publishedSeq, event->getDeviceId(), event->getSource(), event->getDisplayId(), event->getDeviceId(), event->getSource(), event->getDisplayId(), event->getAction(), event->getActionButton(), event->getFlags(), event->getEdgeFlags(), event->getMetaState(), event->getButtonState(), event->getXOffset(), event->getYOffset(), Loading core/jni/android_view_KeyEvent.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ static struct { jfieldID mDeviceId; jfieldID mSource; jfieldID mDisplayId; jfieldID mMetaState; jfieldID mAction; jfieldID mKeyCode; Loading @@ -65,6 +66,7 @@ jobject android_view_KeyEvent_fromNative(JNIEnv* env, const KeyEvent* event) { event->getScanCode(), event->getFlags(), event->getSource(), event->getDisplayId(), NULL); if (env->ExceptionCheck()) { ALOGE("An exception occurred while obtaining a key event."); Loading @@ -79,6 +81,7 @@ status_t android_view_KeyEvent_toNative(JNIEnv* env, jobject eventObj, KeyEvent* event) { jint deviceId = env->GetIntField(eventObj, gKeyEventClassInfo.mDeviceId); jint source = env->GetIntField(eventObj, gKeyEventClassInfo.mSource); jint displayId = env->GetIntField(eventObj, gKeyEventClassInfo.mDisplayId); jint metaState = env->GetIntField(eventObj, gKeyEventClassInfo.mMetaState); jint action = env->GetIntField(eventObj, gKeyEventClassInfo.mAction); jint keyCode = env->GetIntField(eventObj, gKeyEventClassInfo.mKeyCode); Loading @@ -88,7 +91,8 @@ status_t android_view_KeyEvent_toNative(JNIEnv* env, jobject eventObj, jlong downTime = env->GetLongField(eventObj, gKeyEventClassInfo.mDownTime); jlong eventTime = env->GetLongField(eventObj, gKeyEventClassInfo.mEventTime); event->initialize(deviceId, source, action, flags, keyCode, scanCode, metaState, repeatCount, event->initialize(deviceId, source, displayId, action, flags, keyCode, scanCode, metaState, repeatCount, milliseconds_to_nanoseconds(downTime), milliseconds_to_nanoseconds(eventTime)); return OK; Loading Loading @@ -131,12 +135,14 @@ int register_android_view_KeyEvent(JNIEnv* env) { gKeyEventClassInfo.clazz = MakeGlobalRefOrDie(env, clazz); gKeyEventClassInfo.obtain = GetStaticMethodIDOrDie(env, gKeyEventClassInfo.clazz, "obtain", "(JJIIIIIIIILjava/lang/String;)Landroid/view/KeyEvent;"); "obtain", "(JJIIIIIIIIILjava/lang/String;)Landroid/view/KeyEvent;"); gKeyEventClassInfo.recycle = GetMethodIDOrDie(env, gKeyEventClassInfo.clazz, "recycle", "()V"); gKeyEventClassInfo.mDeviceId = GetFieldIDOrDie(env, gKeyEventClassInfo.clazz, "mDeviceId", "I"); gKeyEventClassInfo.mSource = GetFieldIDOrDie(env, gKeyEventClassInfo.clazz, "mSource", "I"); gKeyEventClassInfo.mDisplayId = GetFieldIDOrDie(env, gKeyEventClassInfo.clazz, "mDisplayId", "I"); gKeyEventClassInfo.mMetaState = GetFieldIDOrDie(env, gKeyEventClassInfo.clazz, "mMetaState", "I"); gKeyEventClassInfo.mAction = GetFieldIDOrDie(env, gKeyEventClassInfo.clazz, "mAction", "I"); Loading Loading
core/java/android/view/InputEvent.java +13 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,19 @@ public abstract class InputEvent implements Parcelable { return (getSource() & source) == source; } /** * Gets the display id of the event. * @return The display id associated with the event. * @hide */ public abstract int getDisplayId(); /** * Modifies the display id associated with the event * @param displayId * @hide */ public abstract void setDisplayId(int displayId); /** * Copies the event. * Loading
core/java/android/view/KeyEvent.java +40 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.view; import static android.view.Display.INVALID_DISPLAY; import android.annotation.NonNull; import android.annotation.TestApi; import android.os.Parcel; Loading Loading @@ -1246,6 +1248,7 @@ public class KeyEvent extends InputEvent implements Parcelable { private int mDeviceId; private int mSource; private int mDisplayId; private int mMetaState; private int mAction; private int mKeyCode; Loading Loading @@ -1473,6 +1476,7 @@ public class KeyEvent extends InputEvent implements Parcelable { mScanCode = scancode; mFlags = flags; mSource = source; mDisplayId = INVALID_DISPLAY; } /** Loading @@ -1497,6 +1501,7 @@ public class KeyEvent extends InputEvent implements Parcelable { mDeviceId = deviceId; mFlags = flags; mSource = InputDevice.SOURCE_KEYBOARD; mDisplayId = INVALID_DISPLAY; } /** Loading @@ -1511,6 +1516,7 @@ public class KeyEvent extends InputEvent implements Parcelable { mMetaState = origEvent.mMetaState; mDeviceId = origEvent.mDeviceId; mSource = origEvent.mSource; mDisplayId = origEvent.mDisplayId; mScanCode = origEvent.mScanCode; mFlags = origEvent.mFlags; mCharacters = origEvent.mCharacters; Loading @@ -1537,6 +1543,7 @@ public class KeyEvent extends InputEvent implements Parcelable { mMetaState = origEvent.mMetaState; mDeviceId = origEvent.mDeviceId; mSource = origEvent.mSource; mDisplayId = origEvent.mDisplayId; mScanCode = origEvent.mScanCode; mFlags = origEvent.mFlags; mCharacters = origEvent.mCharacters; Loading Loading @@ -1564,7 +1571,7 @@ public class KeyEvent extends InputEvent implements Parcelable { */ public static KeyEvent obtain(long downTime, long eventTime, int action, int code, int repeat, int metaState, int deviceId, int scancode, int flags, int source, String characters) { int deviceId, int scancode, int flags, int source, int displayId, String characters) { KeyEvent ev = obtain(); ev.mDownTime = downTime; ev.mEventTime = eventTime; Loading @@ -1576,10 +1583,25 @@ public class KeyEvent extends InputEvent implements Parcelable { ev.mScanCode = scancode; ev.mFlags = flags; ev.mSource = source; ev.mDisplayId = displayId; ev.mCharacters = characters; return ev; } /** * Obtains a (potentially recycled) key event. * * @hide */ public static KeyEvent obtain(long downTime, long eventTime, int action, int code, int repeat, int metaState, int deviceId, int scancode, int flags, int source, String characters) { return obtain(downTime, eventTime, action, code, repeat, metaState, deviceId, scancode, flags, source, INVALID_DISPLAY, characters); } /** /** * Obtains a (potentially recycled) copy of another key event. * Loading @@ -1597,6 +1619,7 @@ public class KeyEvent extends InputEvent implements Parcelable { ev.mScanCode = other.mScanCode; ev.mFlags = other.mFlags; ev.mSource = other.mSource; ev.mDisplayId = other.mDisplayId; ev.mCharacters = other.mCharacters; return ev; } Loading Loading @@ -1683,6 +1706,7 @@ public class KeyEvent extends InputEvent implements Parcelable { mMetaState = origEvent.mMetaState; mDeviceId = origEvent.mDeviceId; mSource = origEvent.mSource; mDisplayId = origEvent.mDisplayId; mScanCode = origEvent.mScanCode; mFlags = origEvent.mFlags; // Don't copy mCharacters, since one way or the other we'll lose it Loading Loading @@ -1917,6 +1941,18 @@ public class KeyEvent extends InputEvent implements Parcelable { mSource = source; } /** @hide */ @Override public final int getDisplayId() { return mDisplayId; } /** @hide */ @Override public final void setDisplayId(int displayId) { mDisplayId = displayId; } /** * <p>Returns the state of the meta keys.</p> * Loading Loading @@ -2852,6 +2888,7 @@ public class KeyEvent extends InputEvent implements Parcelable { msg.append(", downTime=").append(mDownTime); msg.append(", deviceId=").append(mDeviceId); msg.append(", source=0x").append(Integer.toHexString(mSource)); msg.append(", displayId=").append(mDisplayId); msg.append(" }"); return msg.toString(); } Loading Loading @@ -2983,6 +3020,7 @@ public class KeyEvent extends InputEvent implements Parcelable { private KeyEvent(Parcel in) { mDeviceId = in.readInt(); mSource = in.readInt(); mDisplayId = in.readInt(); mAction = in.readInt(); mKeyCode = in.readInt(); mRepeatCount = in.readInt(); Loading @@ -2999,6 +3037,7 @@ public class KeyEvent extends InputEvent implements Parcelable { out.writeInt(mDeviceId); out.writeInt(mSource); out.writeInt(mDisplayId); out.writeInt(mAction); out.writeInt(mKeyCode); out.writeInt(mRepeatCount); Loading
core/java/android/view/MotionEvent.java +2 −0 Original line number Diff line number Diff line Loading @@ -1943,11 +1943,13 @@ public final class MotionEvent extends InputEvent implements Parcelable { } /** @hide */ @Override public int getDisplayId() { return nativeGetDisplayId(mNativePtr); } /** @hide */ @Override public void setDisplayId(int displayId) { nativeSetDisplayId(mNativePtr, displayId); } Loading
core/jni/android_view_InputEventSender.cpp +3 −4 Original line number Diff line number Diff line Loading @@ -114,8 +114,8 @@ status_t NativeInputEventSender::sendKeyEvent(uint32_t seq, const KeyEvent* even uint32_t publishedSeq = mNextPublishedSeq++; status_t status = mInputPublisher.publishKeyEvent(publishedSeq, event->getDeviceId(), event->getSource(), event->getAction(), event->getFlags(), event->getKeyCode(), event->getScanCode(), event->getMetaState(), event->getDeviceId(), event->getSource(), event->getDisplayId(), event->getAction(), event->getFlags(), event->getKeyCode(), event->getScanCode(), event->getMetaState(), event->getRepeatCount(), event->getDownTime(), event->getEventTime()); if (status) { ALOGW("Failed to send key event on channel '%s'. status=%d", Loading @@ -135,8 +135,7 @@ status_t NativeInputEventSender::sendMotionEvent(uint32_t seq, const MotionEvent for (size_t i = 0; i <= event->getHistorySize(); i++) { publishedSeq = mNextPublishedSeq++; status_t status = mInputPublisher.publishMotionEvent(publishedSeq, event->getDeviceId(), event->getSource(), event->getDisplayId(), event->getDeviceId(), event->getSource(), event->getDisplayId(), event->getAction(), event->getActionButton(), event->getFlags(), event->getEdgeFlags(), event->getMetaState(), event->getButtonState(), event->getXOffset(), event->getYOffset(), Loading
core/jni/android_view_KeyEvent.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ static struct { jfieldID mDeviceId; jfieldID mSource; jfieldID mDisplayId; jfieldID mMetaState; jfieldID mAction; jfieldID mKeyCode; Loading @@ -65,6 +66,7 @@ jobject android_view_KeyEvent_fromNative(JNIEnv* env, const KeyEvent* event) { event->getScanCode(), event->getFlags(), event->getSource(), event->getDisplayId(), NULL); if (env->ExceptionCheck()) { ALOGE("An exception occurred while obtaining a key event."); Loading @@ -79,6 +81,7 @@ status_t android_view_KeyEvent_toNative(JNIEnv* env, jobject eventObj, KeyEvent* event) { jint deviceId = env->GetIntField(eventObj, gKeyEventClassInfo.mDeviceId); jint source = env->GetIntField(eventObj, gKeyEventClassInfo.mSource); jint displayId = env->GetIntField(eventObj, gKeyEventClassInfo.mDisplayId); jint metaState = env->GetIntField(eventObj, gKeyEventClassInfo.mMetaState); jint action = env->GetIntField(eventObj, gKeyEventClassInfo.mAction); jint keyCode = env->GetIntField(eventObj, gKeyEventClassInfo.mKeyCode); Loading @@ -88,7 +91,8 @@ status_t android_view_KeyEvent_toNative(JNIEnv* env, jobject eventObj, jlong downTime = env->GetLongField(eventObj, gKeyEventClassInfo.mDownTime); jlong eventTime = env->GetLongField(eventObj, gKeyEventClassInfo.mEventTime); event->initialize(deviceId, source, action, flags, keyCode, scanCode, metaState, repeatCount, event->initialize(deviceId, source, displayId, action, flags, keyCode, scanCode, metaState, repeatCount, milliseconds_to_nanoseconds(downTime), milliseconds_to_nanoseconds(eventTime)); return OK; Loading Loading @@ -131,12 +135,14 @@ int register_android_view_KeyEvent(JNIEnv* env) { gKeyEventClassInfo.clazz = MakeGlobalRefOrDie(env, clazz); gKeyEventClassInfo.obtain = GetStaticMethodIDOrDie(env, gKeyEventClassInfo.clazz, "obtain", "(JJIIIIIIIILjava/lang/String;)Landroid/view/KeyEvent;"); "obtain", "(JJIIIIIIIIILjava/lang/String;)Landroid/view/KeyEvent;"); gKeyEventClassInfo.recycle = GetMethodIDOrDie(env, gKeyEventClassInfo.clazz, "recycle", "()V"); gKeyEventClassInfo.mDeviceId = GetFieldIDOrDie(env, gKeyEventClassInfo.clazz, "mDeviceId", "I"); gKeyEventClassInfo.mSource = GetFieldIDOrDie(env, gKeyEventClassInfo.clazz, "mSource", "I"); gKeyEventClassInfo.mDisplayId = GetFieldIDOrDie(env, gKeyEventClassInfo.clazz, "mDisplayId", "I"); gKeyEventClassInfo.mMetaState = GetFieldIDOrDie(env, gKeyEventClassInfo.clazz, "mMetaState", "I"); gKeyEventClassInfo.mAction = GetFieldIDOrDie(env, gKeyEventClassInfo.clazz, "mAction", "I"); Loading