- 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
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
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
This CL creates a new DesktopNavbarButtonsViewController class to allow
for taskbar buttons and status icons customization on desktop
environment.
Recall: http://recall/clips/e008d2de-36d3-47f6-954a-5ce18bac69a5
Bug: 213964564
Bug: 196757951
Test: Switch between different system navigation modes and verify the
desktop taskbar buttons stay on screen.
Change-Id: Ie7a9a044fad3b60cd37d910b8eb78c8734aadfd5
- Added ArrowPopup#OnPopupClosedCallback to automatically remove Taskbar focus when the popup closes.
Fixes: 209917078
Test: opened popup in taskbar and closed it with switch access, touching anywhere on the screen and using the back gesture. went home to check if focus was removed.
Change-Id: Ie7aafc9cf0f03fadaa44e77818508e9e1d8db610
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
Test: Open folder from taskbar, edit name, ensure back button displays above IME and that IME sends input to the taskbar folder name
Bug: 205803170
Change-Id: I36f6cfb835aa7da280f15ea4b0aed8923ce8a012
- Remove ActivityContext#supportsIme(), as it's always true now
- Add OnFolderStateChangedListener, which we register when clicking on a taskbar folder icon to set the window focusable/not.
- Also remove Folder.STATE_NONE and instead default to STATE_CLOSED (renamed from STATE_SMALL).
TODO: make sure back button is visible above IME (followup CL)
Test: Open a folder from taskbar while in an app, no animation jump and can change folder name
Bug: 180051157
Change-Id: I7c7847657d462c16677d66b9ffa8b6fe5f164084
Without this change, tapping all apps of work profile wouldn't bring
the work profile app back to phone.
Add ActivityOptions#setLaunchDisplayId to the display that the given
view is currently on. So the activity will be launched to the display
as the user is interacting with.
This change also modified BaseDraggingActivity which is the parent
class of BaseQuickstepLauncher. And the RecentsActivity is extending
BaseDraggingActivity.
Bug: 204164763
Test: Manually tested using Exo. Open work appliction(e.g.Calendar)
on Exo virtual display, and tapping on the phone's Calendar on work
profile to bring the application back to phone.
Demo video: https://drive.google.com/file/d/18LWMyDz5kYj8IwAwu5EOsBk3PsjEx1zf/view?usp=sharing&resourcekey=0-7eGtqiWZDciSCfFce29MtA
Change-Id: I31d822f6df7222939413f13da850230f46ba8001
* 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