← Back to team overview

touch-packages team mailing list archive

[Bug 1459362] Re: SwipeArea lets touch events through before a drag is detected

 

** Changed in: oxide
       Status: New => In Progress

** Changed in: oxide
   Importance: Undecided => High

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

Title:
  SwipeArea lets touch events through before a drag is detected

Status in Oxide:
  In Progress
Status in ubuntu-ui-toolkit package in Ubuntu:
  Invalid
Status in webbrowser-app package in Ubuntu:
  Invalid

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/oxide/+bug/1459362/+subscriptions


References