← Back to team overview

touch-packages team mailing list archive

[Bug 1459362] Re: DirectionalDragArea lets a long press event through when a drag is detected

 

The log tells that 104 milliseconds have passed between the moment you
landed your finger on the screen (10035) and the moment
DirectionalDragArea recognized the gesture and grabbed the touch
(10139). So much earlier than the 500 ms deadline for a longpress event
to occur.

Could you please add a debug print (eg qDebug) at the moment your code
notices a long press event? That way we would be able to see at what
point in the log it happened.

** Changed in: unity8 (Ubuntu)
       Status: New => Incomplete

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1459362

Title:
  DirectionalDragArea lets a long press event through when a drag is
  detected

Status in Web Browser App:
  New
Status in unity8 package in Ubuntu:
  Incomplete

Bug description:
  I recently build a branch of lp:webbrowser-app with the latest code
  drop for DirectionalDragArea from lp:unity8. The branch is there:
  lp:~osomon/webbrowser-app/update-dda.

  The DDA is used to detect a bottom edge drag over a WebView component,
  and display the tabs view accordingly. This works well, but often when
  a drag is detected the WebView under it gets a long press event, thus
  triggering the selection mechanism that it implements.

  According to Daniel with whom I discussed the issue prior to filing
  this bug:

  > Yes, the recognition parameters (and algorithm) were changed a bit.
  > So it's perfectly possible that what you consider a long press (don't
  > know how many milliseconds of pressed are needed for that) can happen
  > before the DirectionalDragArea reaches a decision on whether the gesture
  > is a directional drag gesture or not.

  The threshold duration for a long press to be detected by the WebView
  is 500ms.

  I’ve rebuilt my branch with DIRECTIONALDRAGAREA_DEBUG set to 1, and
  here is what I’m seeing when observing the issue:

  [DDA()] 10035 TouchBegin (id:8, state:pressed, scenePos:(268.503,917.002)) 
  [DDA()] WaitingForTouch -> Undecided
  [DDA()] Unowned 10072 TouchUpdate (id:8, state:moved, scenePos:(268.503,917.002)) 
  [DDA()] Sill within composition window. Let's wait more.
  [DDA()] Unowned 10089 TouchUpdate (id:8, state:moved, scenePos:(268.503,917.002)) 
  [DDA()] Sill within composition window. Let's wait more.
  [DDA()] Unowned 10106 TouchUpdate (id:8, state:moved, scenePos:(268.503,917.002)) 
  [DDA()]  movedFarEnoughAlongGestureAxis: scalarProjection=0, distanceThreshold=15.748
  [DDA()] Didn't move far enough yet. Let's wait more.
  [DDA()] Unowned 10123 TouchUpdate (id:8, state:moved, scenePos:(267.006,911.008)) 
  [DDA()]  movedFarEnoughAlongGestureAxis: scalarProjection=2.05677, distanceThreshold=15.748
  [DDA()] Didn't move far enough yet. Let's wait more.
  [DDA()] Unowned 10139 TouchUpdate (id:8, state:moved, scenePos:(267.505,891.706)) 
  [DDA()]  movedFarEnoughAlongGestureAxis: scalarProjection=21.3591, distanceThreshold=15.748
  [DDA()] grabbing touch
  [DDA()] Undecided -> Recognized
  [DDA()] 10150 TouchUpdate (id:8, state:moved, scenePos:(267.505,891.706)) 
  [DDA()] 10186 TouchUpdate (id:8, state:moved, scenePos:(268.503,845.866)) 
  [DDA()] 10215 TouchUpdate (id:8, state:moved, scenePos:(270.853,799.68)) 
  [DDA()] 10238 TouchUpdate (id:8, state:moved, scenePos:(271.996,774.151)) 
  [DDA()] 10248 TouchUpdate (id:8, state:moved, scenePos:(272.212,747.697)) 
  [DDA()] 10260 TouchUpdate (id:8, state:moved, scenePos:(274.196,721.618)) 
  [DDA()] 10288 TouchUpdate (id:8, state:moved, scenePos:(275.736,663.346)) 
  [DDA()] 10345 TouchUpdate (id:8, state:moved, scenePos:(278.203,582.836)) 
  [DDA()] 10465 TouchUpdate (id:8, state:moved, scenePos:(280.481,432.403)) 
  [DDA()] 10483 TouchUpdate (id:8, state:moved, scenePos:(281.486,382.402)) 
  [DDA()] 10501 TouchUpdate (id:8, state:moved, scenePos:(282.613,359.847)) 
  [DDA()] 10522 TouchUpdate (id:8, state:moved, scenePos:(283.838,335.342)) 
  [DDA()] 10532 TouchUpdate (id:8, state:moved, scenePos:(284.972,311.133)) 
  [DDA()] 10545 TouchUpdate (id:8, state:moved, scenePos:(286.124,288.236)) 
  [DDA()] 10590 TouchUpdate (id:8, state:moved, scenePos:(287.307,265.747)) 
  [DDA()] 10600 TouchUpdate (id:8, state:moved, scenePos:(288.466,228.588)) 
  [DDA()] 10601 TouchEnd (id:8, state:released, scenePos:(288.466,228.588)) 
  [DDA()] Recognized -> WaitingForTouch

  Let me know if I can provide more useful information.

To manage notifications about this bug go to:
https://bugs.launchpad.net/webbrowser-app/+bug/1459362/+subscriptions


References