Merge "Copy MotionEvent before putting it into the queue" into main
diff --git a/java/framework/src/android/system/virtualmachine/VirtualMachine.java b/java/framework/src/android/system/virtualmachine/VirtualMachine.java
index a51f7e1..edfc558 100644
--- a/java/framework/src/android/system/virtualmachine/VirtualMachine.java
+++ b/java/framework/src/android/system/virtualmachine/VirtualMachine.java
@@ -998,7 +998,8 @@
/** @hide */
public boolean sendMouseEvent(MotionEvent event) {
try {
- mInputEventQueue.add(Pair.create(InputEventType.MOUSE, event));
+ mInputEventQueue.add(
+ Pair.create(InputEventType.MOUSE, MotionEvent.obtainNoHistory(event)));
return true;
} catch (Exception e) {
Log.e(TAG, e.toString());
@@ -1097,7 +1098,8 @@
/** @hide */
public boolean sendMultiTouchEvent(MotionEvent event) {
try {
- mInputEventQueue.add(Pair.create(InputEventType.TOUCH, event));
+ mInputEventQueue.add(
+ Pair.create(InputEventType.TOUCH, MotionEvent.obtainNoHistory(event)));
return true;
} catch (Exception e) {
Log.e(TAG, e.toString());
@@ -1213,7 +1215,8 @@
/** @hide */
public boolean sendTrackpadEvent(MotionEvent event) {
try {
- mInputEventQueue.add(Pair.create(InputEventType.TRACKPAD, event));
+ mInputEventQueue.add(
+ Pair.create(InputEventType.TRACKPAD, MotionEvent.obtainNoHistory(event)));
return true;
} catch (Exception e) {
Log.e(TAG, e.toString());
@@ -1560,6 +1563,7 @@
sendMouseEventInternal(event.second);
break;
}
+ event.second.recycle();
} catch (Exception e) {
Log.e(TAG, e.toString());
}