Fix drag and drop may stuck in multi touch

Currently, we only check the motion entry if the point count is 1 during
drag and drop, that could lead some unexpected behavior if user already
had another pointer touched on screen and it can perform drag. That
symptom may happen when user is using split screen or device has the
waterfall touch screen.

This CL will track the pointer id when starting the drag and drop, so it
could prevent the drag surface jumping to another pointer or cause the
touch didn't work after drop finish.

Bug: 228497357
Test: atest inputflinger_tests CrossAppDragAndDropTests
Change-Id: I8d152d95d1d9ccd65bf953052223ac61a1e910df
diff --git a/services/inputflinger/dispatcher/InputDispatcher.h b/services/inputflinger/dispatcher/InputDispatcher.h
index f3dac19..34aed3b 100644
--- a/services/inputflinger/dispatcher/InputDispatcher.h
+++ b/services/inputflinger/dispatcher/InputDispatcher.h
@@ -221,7 +221,8 @@
                                  const std::string& reason) REQUIRES(mLock);
     // Enqueues a drag event.
     void enqueueDragEventLocked(const sp<android::gui::WindowInfoHandle>& windowToken,
-                                bool isExiting, const MotionEntry& motionEntry) REQUIRES(mLock);
+                                bool isExiting, const int32_t rawX, const int32_t rawY)
+            REQUIRES(mLock);
 
     // Adds an event to a queue of recent events for debugging purposes.
     void addRecentEventLocked(std::shared_ptr<EventEntry> entry) REQUIRES(mLock);