- Also cache InputMethodService.canImeRenderGesturalNavButtons() since it doesn't change at runtime
Test: Enable persist.sys.ime.can_render_gestural_nav_buttons setprop, then ensure we don't draw IME back button or switcher button when gesture nav is enabled
Test: We still show back button in setup, regardless of nav mode
Bug: 205803355
Change-Id: Iab8c47521ab9e561881e4ffb45142888e4c427e4
Has been enabled for past few releases, no longer needed
as a debug flag.
Bug: 209856611
Test: manual
Change-Id: Id25e36522636e5c5d8ee60cdec49b3ee3f4d4251
The current AllAppsContainerView has been split into a base class and a
subclass for activities. The base class allows using all apps with an
activity context. A-Z and work profile tabs are supported, but search
and the hotseat still require an Activity.
Test: Manual. All apps should work the same.
Bug: 204696617
Change-Id: I3b146714bc11b3b3555d97623aab5d78ac836482
- 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
- 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
After enable shell transition, the opening/closing target is for the
app.
In legacy RecentsAnimationController, the mode of the new
RemoteAnimationTarget is decide based on the recents activity type, so
basically the mode for all non-home/recents activity is closing.
So while create the recents window animator, the target apps will be
filter out in RemoteAnimationTargets#ctor because the mode is changed.
To make the remote animation targets compatible with shell transition,
there should only need to check the opening apps as target.
Also fix that the topMostSimulators can be null if the size of
remoteTargetHandles is zero.
Bug: 207297486
Test: Enable shell transition, run
atest TaplTestsQuickstep#testQuickSwitchFromApp
Test: Enable shell transition, enter recents, swipe to right-most page(
the page shows "Clear all"), then click the task and verify Launcher
won't crash. Test on both NexusLauncher and 3rd-party Launcher.
Change-Id: I9bde3d7864d3edd54145c66acae0cd1013d89c6b
Normally we only defer when touching the nav buttons themselves, but that will be difficult to propagate when IME is hosting the nav buttons. So just defer no matter what if IME is currently showing and rendering the nav buttons, ignoring the touch region.
Test: Enabled "persist.sys.ime.can_render_gestural_nav_buttons", ensure RecentsAnimationDeviceState#isImeRenderingNavButtons() returns true iff IME is showing in gesture nav.
Fixes: 215593010
Change-Id: I265cc042f9e24eb060f090febfbccebd3ba4d3c2
- Fixed icons disappearing when initiating dragging
- Fixed incorrect icon location when initiating dragging after rotating the screen to an orientation other than what launcher started in
Fixes: 215418478
Fixes: 214025075
Test: dragged icons from the workspace and taskbar
Change-Id: I848138af28802f7d806708c77c25b8de307c70d8
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
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
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