Split up TouchInputMapper::preparePointerGestures
This monster 700-line method was quite difficult to understand. It still
is, but hopefully splitting it up into a few more methods helps.
Also, activeTouchId was basically just being used as a shorter name for
mPointerGesture.activeTouchId (with both being assigned to at once),
leaving space for a bug to come in if an assignment was made to one but
not the other. Making it a const reference removes that possibility, and
makes it a bit clearer what's going on.
This CL should not result in any behaviour changes.
Bug: none
Test: atest inputflinger_tests
Test: compare touchpad gesture behaviour before and after
Change-Id: Ia85bf5dd80d87bd8fb83332f50dc25ad8769c32e
diff --git a/services/inputflinger/reader/mapper/TouchInputMapper.h b/services/inputflinger/reader/mapper/TouchInputMapper.h
index 7b0327e..7680090 100644
--- a/services/inputflinger/reader/mapper/TouchInputMapper.h
+++ b/services/inputflinger/reader/mapper/TouchInputMapper.h
@@ -773,6 +773,14 @@
bool preparePointerGestures(nsecs_t when, bool* outCancelPreviousGesture,
bool* outFinishPreviousGesture, bool isTimeout);
+ // Returns true if we're in a period of "quiet time" when touchpad gestures should be ignored.
+ bool checkForTouchpadQuietTime(nsecs_t when);
+
+ std::pair<int32_t, float> getFastestFinger();
+
+ void prepareMultiFingerPointerGestures(nsecs_t when, bool* outCancelPreviousGesture,
+ bool* outFinishPreviousGesture);
+
// Moves the on-screen mouse pointer based on the movement of the pointer of the given ID
// between the last and current events. Uses a relative motion.
void moveMousePointerFromPointerDelta(nsecs_t when, uint32_t pointerId);