Commit Graph

9 Commits

Author SHA1 Message Date
Sebastian Franco
3b86202a95 Fling to close tasks in the GestureNav can be too small.
The problem is that the velocity threshold to activate the fling
was set using pixels per second, so a better aproach would is to
use dp/s. So now there is a variable set in the dimes.xml file
called base_swift_detector_fling_release_velocity.

Test: Manually tested
Fix: 201252634
Change-Id: Ief14f25de136dead74f03cb24d2120b67900239e
2021-11-16 14:46:36 -06:00
Alex Chau
261708ba00 Clean up debug flags and add more screen record
Bug: 193440212
Bug: 194484556
Test: manual
Change-Id: I1b09ae74462c86afb8effb0a2635fd0e70a59bf8
2021-07-23 15:42:01 +01:00
Alex Chau
46b9a41686 Enable logs on swipe detection in tests
- Enable BaseSwipeDetector log in tests
- Add log for scroll finish and motion pause event

Bug: 193440212
Test: TaplTestsQuickstep#testSwitchToOverview
Change-Id: Idab566bc615050f73d898459897b66f8b95951b3
2021-07-15 20:45:51 +01:00
vadimt
c610f26404 Removing unused tracing
Test: presubmit
Bug: 139891609
Change-Id: I30b432d329d6606b3d955409c167bddbacce8a37
2020-12-11 19:43:49 -08:00
vadimt
ad87034d1f More logging for pause non-detection
Bug: 156044202
Change-Id: I1c995b6c28f7108b96ff74aa8c3c71f70f8b3fb6
2020-05-08 15:09:37 -07:00
Vinit Nayak
a406f727ad Add vertical layout support for Overview in portrait
WM is making changes which allows apps to maintain
their orientation independent of the orientation of
the foreground app. This allows recents to always start
in portrait even when the app currently running is in
landscape. This means we have to give the illusion of
a landscape oriented overview when user swipes up in
gesterual nav when launcher is started in portrait
configuration.

PagedOrientationHandler abstracts all coordinate specific
logic from Paged/RecentsView primarily, but also all
other dynamic calculations throughout launcher.
PagedViewOrientationState is the single point of exposure
to other classes that depend on those changes. The goal
is to also minimize holding state to allow for default
implementations of PagedOrientationHandler for all the
3p/Fallback classes. PagedViewOrientationState also
holds other data around rotation that isn't
specifically tied to view logic.

The fake landscape overview can be toggled with:
adb shell settings put global forced_rotation [0/1]

Fixes: 146176182
Change-Id: I65d8d4e9f92b93931cbe0053ccaf0cda8d2ffd6c
2020-03-02 18:02:35 -08:00
Tony Wickham
3f330429a3 Fix BaseSwipeDetector#setState() called inside another setState()
Clients of BaseSwipeDetector are required to call finishedScrolling(),
which calls setState(IDLE). An obvious place to call this is in
onDragEnd(), which itself is called from a setState(SETTLING). If the
client does this, then the SETTLING state actually clobbers the IDLE
state, leading to undefined behavior. The reason we don't see this in
practice is because we usually call finishedScrolling() after an
animation from onDragEnd() instead of calling it immediately.

To fix this, we add a simple queue such that any calls to setState()
while one is in progress have to wait and are executed in turn. This
ensures we get all the proper state callbacks and end in the correct
one.

Also fix an incorrect call in AbstractStateChangeTouchController which
was masked by this bug. We were calling setState(IDLE) in onDragStart(),
which only worked because the original setState(DRAGGING) incorrectly
clobbered this. Now we only setState(IDLE) (via finishedScrolling())
when we fully clear the state, i.e. when the interaction is finished.

Test: added testInterleavedSetState

Bug: 141939911
Change-Id: Iae630ee7101921b57a85d40646468cf19f59b674
2020-01-09 15:39:38 -08:00
Tony Wickham
7af5033e49 Add BothAxesSwipeDetector
This reports both x and y displacement, and both velocities onDragEnd().

Bug: 126596417
Change-Id: I1c62074b99fe21bc9eedf615e3c9a0a0a400bf81
2019-10-25 16:54:41 -07:00
Tony Wickham
eed585b0c3 Refactor SwipeDetector to track both axes
Existing clients now use the SingleAxisSwipeDetector subclass. A
followup CL will add BothAxesSwipeDetector, whose first client will be
the quick switch from home controller.

Bug: 126596417
Change-Id: I54c71088cfe99ff28cdc719a1eb7a7d06ac95d2d
Merged-In: I54c71088cfe99ff28cdc719a1eb7a7d06ac95d2d
2019-10-24 18:56:44 +00:00