> EventQueue is only accessed on the binder thread
> For every new touch down, we use a new event queue to prevent race conditions
> All event hendling are serialized by event queue (including quick switch/scrub)
> Using state handlers for quick scrub
Bug: 73356768
Change-Id: Idde33a348270b8167a087129f177d5d2b54f5822
- Always launch workspace card if it's focused when quick scrub ends
- Previously it would get stuck if quick scrub end was called on
a background thread (since it was trying to touch RecentsView)
- Prevent user from being able to get to the workspace card if
starting quick scrub from an app by introducing bounds checking
- Prevent getting stuck in overview when ending quick scrub
- There was a race condition where the task wouldn't launch if
the animation to recents hadn't yet finished. Now there is a
callback to ensure that launchTask() is always called after.
Bug: 70180755
Change-Id: I3c131011634880a97de8c2935c3ebdab26494b48
These records are required by “Transition Delay - Hot Launch From
Recents” test. It doesn’t look at transition times for this event. They
are just a part of its expected sequence of events.
I generate transition delay times as zeroes because no one is looking at
them.
Bug: 72967764
Test: atest google/perf/app-transition/app-transition-from-recents-trace
Change-Id: I4a5b76b95c6c4b54e7fb620951342a3ed8564aed
Add OverviewInteractionState to handle setting OverviewInteractionFlags.
Hide back button when in NORMAL state and launcher's window is focused.
Show it when in other states or when launcher's window loses focus.
Change-Id: I35919561b9972789e995f1cc434c23e2afe9e77c
which could be caused by the following sequence of events
1) Starts preload => execution moved to background thread
a) check if loader is running
... execution moved to ui thread
2) Launcher starts
3) Cancels any running loader and starts a new loader
.... Execution on background thread
b) Cancels any running loader and starts a new loader
Synchronizing (3), and [a, b] under same lock would avoid this case
Bug: 73399920
Change-Id: I6b01f797fd6f4a2e5b3c078bb374ad40fcc311c8
The fix is quite hacky and should be re-done soon. I’m not leaving TODOs
in the code, but I’m tracking the cleanup elsewhere.
We also need a fix in the server to make the test work, but that will be
another CL.
Bug: 72967764
Test: atest google/perf/app-transition/app-transition-to-recents
Change-Id: Ia21c308caa81bd5502f4a4587ae445928f6eca17
Bug: 73242451
Test: Swipe up over back with suitable launcher build and ensure that we
don't start the recents animation on touch down
Change-Id: I98314611eaeeabfaa47280157300ea20f0571a61
Launcher's window doesn't have focus when on minus one. In this case, we
tell the minus one overlay to hide and add a window focused callback to
start quick scrub/switch after launcher regains focus. Since the
transition from minus one takes longer than for launcher to get window
focus, we also defer until the overlay is completely hidden before
starting the quick scrub transition.
Bug: 70180755
Change-Id: Ifcf85aaf1942b51394e68e209b89807fa4007afe
When we get the onQuickScrubStart() or onQuickSwitch() callbacks, we go
to the overview state with a quicker duration (the same used from apps).
Then we follow the same logic as starting quick scrub/switch from apps
except that we allow you to scrub back to the workspace card.
Bug: 70180755
Change-Id: Iebcdcc4c4ad1e1210e2d1c11e5007c27d3c1eef3