@@ -242,6 +242,8 @@ private void addPointerForIndex(
242242 buttons = 0 ;
243243 }
244244
245+ boolean isTrackpadPan = ongoingPans .containsKey (event .getPointerId (pointerIndex ));
246+
245247 int signalKind =
246248 event .getActionMasked () == MotionEvent .ACTION_SCROLL
247249 ? PointerSignalKind .SCROLL
@@ -251,7 +253,7 @@ private void addPointerForIndex(
251253
252254 packet .putLong (motionEventId ); // motionEventId
253255 packet .putLong (timeStamp ); // time_stamp
254- if (ongoingPans . containsKey ( event . getPointerId ( pointerIndex )) ) {
256+ if (isTrackpadPan ) {
255257 packet .putLong (getPointerChangeForPanZoom (pointerChange )); // change
256258 packet .putLong (PointerDeviceKind .TRACKPAD ); // kind
257259 } else {
@@ -262,7 +264,7 @@ private void addPointerForIndex(
262264 packet .putLong (event .getPointerId (pointerIndex )); // device
263265 packet .putLong (0 ); // pointer_identifier, will be generated in pointer_data_packet_converter.cc.
264266
265- if (ongoingPans . containsKey ( event . getPointerId ( pointerIndex )) ) {
267+ if (isTrackpadPan ) {
266268 float [] panStart = ongoingPans .get (event .getPointerId (pointerIndex ));
267269 packet .putDouble (panStart [0 ]);
268270 packet .putDouble (panStart [1 ]);
@@ -330,7 +332,7 @@ private void addPointerForIndex(
330332 packet .putDouble (0.0 ); // scroll_delta_x
331333 }
332334
333- if (ongoingPans . containsKey ( event . getPointerId ( pointerIndex )) ) {
335+ if (isTrackpadPan ) {
334336 float [] panStart = ongoingPans .get (event .getPointerId (pointerIndex ));
335337 packet .putDouble (viewToScreenCoords [0 ] - panStart [0 ]);
336338 packet .putDouble (viewToScreenCoords [1 ] - panStart [1 ]);
@@ -343,8 +345,7 @@ private void addPointerForIndex(
343345 packet .putDouble (1.0 ); // scale
344346 packet .putDouble (0.0 ); // rotation
345347
346- if (ongoingPans .containsKey (event .getPointerId (pointerIndex ))
347- && getPointerChangeForPanZoom (pointerChange ) == PointerChange .PAN_ZOOM_END ) {
348+ if (isTrackpadPan && getPointerChangeForPanZoom (pointerChange ) == PointerChange .PAN_ZOOM_END ) {
348349 ongoingPans .remove (event .getPointerId (pointerIndex ));
349350 }
350351 }
0 commit comments