Process Interrupted event when tap gesture detector is Touched status. 05/38205/3
authordaemyung jang <dm86.jang@samsung.com>
Tue, 14 Apr 2015 12:02:20 +0000 (21:02 +0900)
committerdaemyung jang <dm86.jang@samsung.com>
Tue, 21 Apr 2015 01:20:42 +0000 (10:20 +0900)
The problem is tap gesture detector can't make gesture event correctly.

The cause is beneath.
1. Tap gesture detector is Registered and takes Down event.
2. Tap gesture detector changes its status to Touched.
3. Suddenly it takes Interrupted event.
4. Ignore all touch events till it takes Up event.

Change-Id: I3b85b4a174ee898c6b1ed2c970035b62697fd6cd

adaptors/common/events/tap-gesture-detector.cpp

index 465271c..6981f88 100644 (file)
@@ -82,13 +82,16 @@ void TapGestureDetector::SendEvent(const Integration::TouchEvent& event)
 
       case Touched:
       {
-        // Only progress from a touch up event
         if ( pointState == TouchPoint::Up )
         {
           mLastTapTime = mTouchTime;
           EmitSingleTap( event.time, point );
           mState = Registered;
         }
+        else if (pointState == TouchPoint::Interrupted)
+        {
+          mState = Clear;
+        }
         break;
       }