Commit Graph

6667 Commits

Author SHA1 Message Date
Winson Chung 3f40a17e54 Add fallback for missing remote animation callbacks
- 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
2022-01-21 16:34:49 +00:00
Vinit Nayak c9676e20d3 Align OverviewActionsView for 3 button taskbar
Bug: 189807374
Change-Id: I529dba5d4df3d0c3366c111e70991a36bec4bfc3
(cherry picked from commit 0bd0733ef4)
2022-01-21 15:51:47 +00:00
Josh Tsuji 231c9229bf Adds Launcher in-window animations, and reworks how the unlock flow works.
Bug: 197636887
Test: atest SystemUITests
Change-Id: Idab7249e4a761040863578d546f0831794efaf4a
2022-01-21 10:41:00 -05:00
TreeHugger Robot 3e25f29128 Merge "Add log dumps for taskbar state" 2022-01-21 15:05:32 +00:00
TreeHugger Robot 072b1f013c Merge "[AA+ Search] Update "All apps" to use Google Sans." 2022-01-21 14:40:40 +00:00
wilsonshih 68c38e40c4 Fix NPE crash when merge transition to remote transition.
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
2022-01-21 17:32:11 +08:00
Tracy Zhou d38320eeb6 End live tile when notification panel is pulled down for the first time in Overview. am: 0077caa15d am: b5e6dbc91e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16591950

Change-Id: Ib2148b38ffbd3edbb5f80bea4b10aaf9de5dcfdd
2022-01-21 02:12:24 +00:00
Jon Miranda db767aa575 Fix bug where back swipe to icon in All Apps search result.
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
2022-01-21 02:08:18 +00:00
Jon Miranda fbdb6ac51f Merge "Fix bug where back swipe to icon in All Apps search result." 2022-01-21 02:08:08 +00:00
Alex Chau dfa4424d4f Merge "Put AllApps in bottom sheet for tablets" 2022-01-21 00:34:03 +00:00
TreeHugger Robot 11d317228c Merge "Update taskbar resume alignment anim if launcher state changes in the middle" 2022-01-21 00:17:04 +00:00
Tony Wickham 27c41677b1 Don't create new nav bar layer when IME is rendering nav buttons
Test: Edit folder name in taskbar, ensure we don't create a new window
Fixes: 214571910
Change-Id: I9a1385dbed2df7a4ee141485c8bbfb521457d853
2022-01-21 00:08:19 +00:00
Tony Wickham da84bcad57 Defer gesture when IME is currently rendering nav buttons
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
2022-01-20 23:49:34 +00:00
Schneider Victor-tulias 312b68fde4 Fix taskbar icon dragging issues
- 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
2022-01-20 14:56:01 -08:00
Schneider Victor-tulias fa0bfee97a Add log dumps for taskbar state
Test: created bugreport and checked logs
Bug: -
Change-Id: Ic0c2330b18c8daf181ae5b236e0c4b212d630fa3
2022-01-20 14:41:25 -08:00
Jon Miranda b030f83f52 Fix bug where back swipe to icon in All Apps search result.
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
2022-01-20 13:48:40 -08:00
Winson Chung 6751202328 Skip animation if there are no targets
Bug: 210118444
Test: Manual
Change-Id: I362ca30d0e00b647d84b5df38b35b924d5ccfb33
2022-01-20 21:32:45 +00:00
Becky Qiu cf627e4de5 [AA+ Search] Update "All apps" to use Google Sans.
Bug: 189356692
Test: manual, screenshot: https://screenshot.googleplex.com/W4RNYLbS9eTqGPr
Change-Id: I2b3f5c1ec5c57602b467e2fef8fdd9bbfa9775c6
2022-01-19 16:47:34 -08:00
Merissa Tan 1b077203d6 Merge "Create new DesktopNavbarButtonsViewController class." 2022-01-19 19:22:49 +00:00
Alex Chau 27b39b9668 Put AllApps in bottom sheet for tablets
http://screen/7steQ7W8U2ga3Hs

Bug: 208599118
Test: manual
Change-Id: I36cbac3cb7cb214081e5a33a6e042ae83e745f23
2022-01-19 18:57:34 +00:00
Tracy Zhou 0077caa15d End live tile when notification panel is pulled down for the first time in Overview.
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
2022-01-19 18:30:29 +00:00
Tony Wickham 5fa2ed27bf Update taskbar resume alignment anim if launcher state changes in the middle
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
2022-01-19 16:39:34 +00:00
Sunny Goyal 7dece749a3 Updating logic to check if icon needs badging
Bug: 209503720
Test: Manual
Change-Id: I66f0dbaf81be3190a106323fe3ce87717626d8e7
2022-01-19 17:22:46 +05:30
Iris Yang 36e0fd91a0 Merge "Set launch display id to an action performed on BaseQuickStepLauncher" 2022-01-19 06:09:30 +00:00
Jerry Chang d941d02d95 Merge "Consolidate recent animation in split screen with shell-transition" 2022-01-19 01:45:55 +00:00
Merissa Tan d41ce4980d Create new DesktopNavbarButtonsViewController class.
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
2022-01-18 17:10:15 -08:00
TreeHugger Robot f2172eba8c Merge "Make Taskbar focusable when a popup is open." 2022-01-15 00:00:55 +00:00
Schneider Victor-tulias 291d88460b Make Taskbar focusable when a popup is open.
- 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
2022-01-14 12:52:53 -08:00
Tony Wickham 7b40594bc7 Merge changes I36f6cfb8,I7c784765
* changes:
  Create new window for Taskbar Nav Buttons when taskbar is focusable
  Make taskbar focusable when folder is open to get IME input
2022-01-14 17:12:08 +00:00
TreeHugger Robot 1b6d46f880 Merge "Remving SurfaceControlCompat" 2022-01-14 07:04:53 +00:00
Lucas Dupin 470c987e2e Merge "Directly assign mDepth" into sc-v2-dev am: c518932f74 am: 7b71c2ee59
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16622831

Change-Id: I4686c845583d85ff58899869ac18a9d87762c537
2022-01-13 23:54:15 +00:00
Lucas Dupin c518932f74 Merge "Directly assign mDepth" into sc-v2-dev 2022-01-13 23:19:20 +00:00
TreeHugger Robot 05de8c874f Merge "TalkBack doesn't announce when a task has being closed." into sc-v2-dev am: c0a6d3fc8f am: e81cab2fa4
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16346766

Change-Id: I03d32f4df17adc36982ad03896583ede306934d3
2022-01-13 21:06:28 +00:00
TreeHugger Robot c0a6d3fc8f Merge "TalkBack doesn't announce when a task has being closed." into sc-v2-dev 2022-01-13 20:36:44 +00:00
Lucas Dupin 03064a1e60 Directly assign mDepth
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
2022-01-13 12:01:11 -08:00
Jerry Chang 85224ebd08 Consolidate recent animation in split screen with shell-transition
Also exclude corresponding parent task when wrapping up remote animation
target for recents animation.

Bug: 206487881
Test: manual check recent animation after split screen activated
Change-Id: I2e80eca1124d9a9e360513334211bde8a52575ea
2022-01-13 08:00:00 +00:00
TreeHugger Robot b92b229a80 Merge "Launch activity if click on a TaskView which has the task running on different display wit root." 2022-01-13 06:07:15 +00:00
Winson Chung 30fc033b0c Merge "Revert "Add logs for null task list"" into sc-v2-dev am: b92c4e2319 am: daaebc8959
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16615289

Change-Id: Ic3c9e5aae3bd858a4471de6a3be5027fc844f5a8
2022-01-12 23:27:41 +00:00
Winson Chung b92c4e2319 Merge "Revert "Add logs for null task list"" into sc-v2-dev 2022-01-12 23:00:00 +00:00
Tony Wickham 66971f87e1 Create new window for Taskbar Nav Buttons when taskbar is focusable
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
2022-01-12 14:22:47 -08:00
Tony Wickham c07fb08a1e Make taskbar focusable when folder is open to get IME input
- 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
2022-01-12 14:22:31 -08:00
Jerry Chang 5360c00c85 Merge "Fix NPE when consuming snapshots for recent animation" into sc-v2-dev am: f6086e74e3 am: 0e22f9947b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16598402

Change-Id: I7cd1665d8bc22aecfa9feb39261087656be7facf
2022-01-12 01:58:10 +00:00
Jerry Chang f6086e74e3 Merge "Fix NPE when consuming snapshots for recent animation" into sc-v2-dev 2022-01-12 01:21:14 +00:00
Winson Chung 08126d915c Revert "Add logs for null task list"
This reverts commit a46d36240b.

Reason for revert: Reverting logs for release

Change-Id: I65ae1ea691d5fb3d70a2db4beba08d7460b99e2b
2022-01-11 20:06:16 +00:00
Iris Yang 55f74d675c Set launch display id to an action performed on BaseQuickStepLauncher
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
2022-01-11 11:04:05 +00:00
Vinit Nayak 73d6b4c99e Remove code that assumes single GroupedTaskView am: 2c97c4ab19 am: b0786109bd
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16603208

Change-Id: I690c2f7740c94df5ae2b4ccf75e5a9c8ee8ffc37
2022-01-11 03:14:59 +00:00
Vinit Nayak 2c97c4ab19 Remove code that assumes single GroupedTaskView
* 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
2022-01-10 15:59:33 -08:00
Sunny Goyal 26a1a46b4d Remving SurfaceControlCompat
Bug: 213421974
Test: Presubmit
Change-Id: I1279789b09364b35a454e32417f687c1e055f27a
2022-01-10 14:41:21 +00:00
Jerry Chang 7f8e57ed68 Fix NPE when consuming snapshots for recent animation
Fix: 207716265
Test: no exception throws after recent animation
Change-Id: Ic35aea2285fb120f7d0b5215137ad9450518702f
2022-01-10 18:48:16 +08:00
Pat Manning 9d5962e173 Merge "Create taskbar for kids mode." 2022-01-10 10:46:48 +00:00