- In some cases WM won't callback the remote animation callbacks (neither
start nor cancel) and Launcher never finishes executing the pending
command (preventing the subsequent commands from running). For the time
being, just cancel the current state to allow the commands to be
processed.
Bug: 194011186
Test: Mash on overview and home buttons with a 3p launcher
Signed-off-by: Winson Chung <winsonc@google.com>
Change-Id: I1b1296fab316b979f441ebb474d1475e3fa68f95
Merged-In: I1b1296fab316b979f441ebb474d1475e3fa68f95
One way to reproduce this issue is to run `adb shell input keyevent KEYCODE_HOME`, which happens to pause and immediately resume launcher. For example, let's say we run this while in All Apps. Because the isResumed=true comes before the state transition to Normal, we behave as if we are still going to All Apps, specifically goingToUnstashedState = false (since we stash in All Apps). To fix this, we now listen to state changes while the resume alignment animation is playing, and update it if necessary.
Also did the same correction for the gesture alignment animation, though I don't have a specific repo for that.
Finally, because there are now more triggers for alignment animations to play, we add a check to only play them if it's not animating to the same value it's already animating towards. One notable experience this improves is swiping down from All Apps to home; if you do it quick enough, the state animation ends before the taskbar unstash animation, and thus the unstash animation would cancel and start again with the full duration, making it look laggy/disjointed (this behavior existed before this change as well).
Test: TaplTestsQuickstep
Test: Go to All Apps, run `adb shell input keyevent KEYCODE_HOME`, open an app and ensure taskbar icons are visible
Test: Quick switch from home when taskbar is present in apps, but instead go to overview; ensure no jump when taskbar stashes
Test: Swipe down quickly from All Apps, ensure taskbar unstashing doesn't slow down when reaching the end of the state transition
Fixes: 214562370
Change-Id: Ie0c6140e14186e41c7e4748dc745f87349b084fe
Merged-In: Ie0c6140e14186e41c7e4748dc745f87349b084fe
(cherry picked from commit 5fa2ed27bf)
- Touch explore uses hover events to focus views for accessibility, but
we were dropping these events when handling them through the input
consumer proxy. The reason this changed is that in sc-v2 we moved the
recents input consumer to the top of the task display area to ensure
that it was always above any of the tasks in splitscreen, but by doing
so, it was always above launcher even after settling in overview. The
existing path for handling motion events is heavily tied to touch
handling (action down/move/up) so we just add a separate path for
dispatching hover events through the normal mechanism to launcher via
the consumer.
Bug: 197043796
Change-Id: I5f8cfd357ff13971fe172ce1d0179535479cd26c
Issue is that All Apps is scaling during the animation, so when
FloatingIconView looks for it in the view hierarchy,
it's not in its final position.
This would be the cleanest approach for a scv2 fix
Bug: 213306709
Test: manual
Change-Id: Iaec77d15c9533edccd9c82164143af8fa522158f
Merged-In: Iaec77d15c9533edccd9c82164143af8fa522158f
Fixes: 211556489
Test: Go to overview with live tile. Turn on dark theme. Pull the panel back up. Make sure everything looks fine (live tile is ended).
Change-Id: I51cb81718a489ad7568c5e05ace0b3dbc6ca5443
A request to set a new depth is ignored if the surface is currently
invalid. We should cache what was the requested value, so it will be
applied once the surface is valid again.
Test: manual
Fixes: 209028986
Change-Id: I812816da4b0139c7ea7b53a9fb00f11265ecdea8
* Old code assumes there will only be a single
GroupedTaskView, removing those code paths helps
consolidate single and grouped task code flows
* Correctly check when we need to add a stub
taskView for GroupedTaskViews by checking each
individual taskId
Test: Swiping with multiple split pairs doesn't
cause a cycle
Fixes: 213355942
Change-Id: Ibb98ae0dfcd4f52b762685aec9d2ee6445b9ef54
* Non-apps leashes can contain non-divider targets, which
was creating null elements in the array when an index didn't
get assigned.
* With a list we don't have to worry about empty index gaps
* Also remove the animation for the divider for certain
gestures because the surface isn't always valid for the
full duration of the animation. We probably would need to
synchronize with rest of recents animation
Fixes: 212218930
Test: No longer crashes when swipe up, hold, then swipe down
Change-Id: Ia1fc4d66e73f21b55fdbfe59342af025e2a525d9
* Consolidate setState() and setStateWithAnimation()
to be handled in the same manner
* If no animation, we run the created
PendingAnimation right away
Fixes: 209935590
Test: Tested w/ and w/o animation
Change-Id: I1d6fdba21761b6721e6bd52234016178547cd437
LauncherActivity uses FLAG_SLIPPERY for certain interactions. For
example, when home screen is shown, and the user pulls down from not the
top of the screen, and notification shade is getting displayed, then the
touch should be getting transferred to the NotificationShade using
FLAG_SLIPPERY.
The newly introduced permission is added to launcher in order for this
flag to be applied to the window.
Bug: 206188649
Bug: 157929241
Test: reviewed logs, ensure that NexusLauncherActivity has FLAG_SLIPPERY
Test: re-ran the performance regression test
Merged-In: I8d05fa3663687b5382a59b0d47cdac404844c3b7
Change-Id: I8d05fa3663687b5382a59b0d47cdac404844c3b7