Fix an issue where TapGesture Events are not being received. 85/277385/4
authorjoogab.yun <joogab.yun@samsung.com>
Tue, 5 Jul 2022 05:29:22 +0000 (14:29 +0900)
committerjoogab.yun <joogab.yun@samsung.com>
Thu, 7 Jul 2022 06:19:28 +0000 (15:19 +0900)
commitd1edbecce71fafb14de23f3f166a4f4baff43e2f
treed2bbf243389c43e33b044d5e62ac878791d59bc0
parentc68dd2a2caec4ae0daa28755bfd95e23c911e35d
Fix an issue where TapGesture Events are not being received.

If multiple Tap GestureDetectors are registered, you may not receive gesture events depending on the setting of MaximumTapsRequired.

example)
TapGestureDetector detector1 = TapGestureDetector::New();
detector1.SetMaximumTapsRequired(1u);
detector1.Attach(actor1);

TapGestureDetector detector2 = TapGestureDetector::New();
detector2.SetMaximumTapsRequired(2u);
detector2.Attach(actor2);

When actor1 is tapped multiple times, I expect to receive a gesture event on every tap because MaximumTapsRequired is 1u, but I don't get the event every tap.

It is because the MaximumTapsRequred of detector2 is set to 2u, the MaximumTaps of the tap-gesture-recognizer is set to 2u.

So, if there is a double tap, the tap event is not delivered to detector1 because it exceeds the MaximumTaps of detector1.

For this reason, the check of MaximumTapsRequired is modified to be checked by each detector.

Change-Id: I297debdf7ff680affafc763d4af3db323f80a095
automated-tests/src/dali/utc-Dali-TapGestureDetector.cpp
dali/internal/event/events/tap-gesture/tap-gesture-detector-impl.cpp
dali/internal/event/events/tap-gesture/tap-gesture-processor.cpp