Commit Graph

266 Commits

Author SHA1 Message Date
Ming-Shin Lu
30f891b014 Don't crop task with RemoteAnimaionTarget#contentInsets
..when willShowImeOnTarget is true, in case the task surface cropped by
the task bar insets since the task bar will end up stashed by IME
visible.

Bug: 219981732
Test: manual as steps
 0) enable taskbar with Settings > Developer options > Smallest width
    as 600dp.
 1) launch an app from all apps and show the IME by tapping the
    editor.
 2) swipe out to home and launch it again by pressing the shortcut.
 3) Verify the animating task preview with IME shown without being
    cropped.

Change-Id: I8d802887bd382a7d6f6429e269501c924e81c51b
2022-07-22 13:09:22 +00:00
Sunny Goyal
ced159075c Fixing surface blur when using multiple surfaces
Separating the depth controller logic into a base
class so that different controllers can be used
for different surfaces

Bug: 236780815
Test: Verified locally
Change-Id: I2bd7ed50438453d6e41c73c8001a0d6a73091653
2022-07-19 16:06:34 -07:00
Alex Chau
0c4e11b479 Make workspace and hotseat scale down in widgets picker
- Also centralized workspace content scale percentage to DeviceProfile

Test: manual
Fix: 231699666
Change-Id: I3f8dcb9921e0cd93ad391d51120b189005ad07df
2022-07-08 19:03:48 +01:00
Alex Chau
c1d26448c5 Animate inline QSB between home and apps
- Added a QSB to taskbar to be animated between inline QSB and taskbar
- Passed endValue of taskbar animator to TaskbarController to have aniamtion variation between home -> app and app -> home
- Tuned duartion of taskbar animation and also stagger animation when taskbar is present
- Disabled scaling down of taskbar and inline QSB for home -> app
- Disabled stagger animation of taskbar and inline QSB for app -> home

Bug: 220733187
Test: manual
Change-Id: I4aac0bbc343b992a0472298595770e2bf2a55990
2022-06-15 22:12:29 +01:00
Winson Chung
46c9c66048 Merge "Revert changes waiting for launcher to resume when transitioning to home" into tm-dev 2022-06-08 03:11:16 +00:00
Winson Chung
29c68e73dc Revert changes waiting for launcher to resume when transitioning to home
- This was added for Go when they had their own recents implementation
  and isn't necessary for the default implementation

Bug: 229668039
Test: Follow steps using test apk from the bug
Change-Id: I0c36f98683e1bf9a3dc11cde2d1113ed1c4d6448
2022-06-06 22:28:09 +00:00
Jon Miranda
46ecc0ca08 Pause expensive view updates before setting hw/sw layers.
Prevents widgets from updating mid animation.
Also pauses view updates during app close animation.

Bug: 220939231
Bug: 230617085
Bug: 226171754
Test: manual

Change-Id: I0138d57e6a7b2c22fd9a029e971b3e27c7e9f22e
2022-06-02 12:21:01 -07:00
Shan Huang
3e952539a1 Fix screen rounded corner flicker.
We've previously always played transitions with a fixed start corner
radius. This should however be an interpolated value based on gesture
progress.

Bug: 230115505
Test: Turn on predictive animations. Try completing a back swipe as well
as canceling a back swipe. Observe corner radius to make sure there's no
flicker.

Change-Id: Iae2517d969ed1b779bced866407b939b3a011b68
2022-04-26 17:16:22 +00:00
Sunny Goyal
7b8d63fcf8 Removing fade in logic during load.
Launcher already blocks the draw during load, which ensures
that system draws the loading screen. Additional fade animation
is not visible since the Launcher window is already getting fade in

Bug: 199120420
Bug: 199120420
Test: Verified on device

Change-Id: I7089cea4c5f97f6ef92eabcba56451de407c98b8
2022-04-22 16:35:40 +00:00
Sunny Goyal
25137534a1 Fixing potential NullPointer exceptions when Launcher is
created before TouchInteractionService is initialized

SystemUiProxy is a wrapper opject which holds the state information
until the actual proxy is initialized. It is safe to be initialized
lazily.

Bug: 221961069
Test: Verified on device
Change-Id: I1a621cad52e5b8384439ef02de6b95c6452bcb06
2022-04-18 15:42:07 -07:00
Shan Huang
4ce2b40f91 Polish the back to home gesture animation to match the spec.
Bug:228533817
Test: Enable back animation from FlagFlipper (Predicitve Back Animation)
and swipe back on Flag Flipper. Try in both portrait and landscape mode.

Change-Id: I7792dc5079698c1b5a7dd3cd06344ba46c4a2da6
2022-04-15 19:26:11 +00:00
Shikha Malhotra
f78da1bae3 Review comments followup
These are review comments followup from ag/17399997

Bug: b/218187058
Test: manually test thet Launcher3 features work correctly
Change-Id: I9865a37c1ed663370dc28e7678994f3d961e3cd1
2022-04-12 14:33:07 +00:00
Jon Miranda
f6780f66c3 Allow depth animation when user swipes back to home.
Bug: 221196062
Test: open app, swipe back to home, ensure blurs
Change-Id: I9faff4e41c2e8d22df72e41c7753e2090fa0973d
2022-03-18 09:58:55 -07:00
TreeHugger Robot
1b4d9b3b23 Merge "Launcher side implementation of gesture seekable back to home animation." into tm-dev 2022-03-11 02:11:03 +00:00
Shan Huang
581429b3dc Launcher side implementation of gesture seekable back to home animation.
This is a two part animation. The first part is an animation that tracks gesture location to scale and move the leaving app window. Once the gesture is committed, the second part takes over the app window and plays the rest of app close transitions in one go.

This animation is used only for apps that enable back dispatching via {@link android.view.OnBackInvokedDispatcher}. The controller registers an {@link IOnBackInvokedCallback} with WM Shell and receives back dispatches when a back navigation to launcher starts.

Apps using the legacy back dispatching will keep triggering the WALLPAPER_OPEN remote transition registered in {@link QuickstepTransitionManager}.

Bug: b/195946584
Test: m -j
Test: Swipe back to home on pre-T and T apps, at different life cycle
stages.

Change-Id: I615c5171cd875130f10346fa3ca2a8e9670176cf
2022-03-11 00:11:21 +00:00
Jon Miranda
e8b174482d Merge "Add debug logs for bad launcher state." into tm-dev 2022-03-10 22:03:37 +00:00
Jon Miranda
7ebe209c21 Add debug logs for bad launcher state.
Bug:223498680
Bug:221658803

Test: manual
Change-Id: I138a7ab031269009fa8ca492cd0bd48085aa4e68
2022-03-10 20:25:38 +00:00
Jon Miranda
7db484396a Merge "Never look for matching view in All Apps when swiping up to go home." into tm-dev 2022-03-10 18:46:51 +00:00
TreeHugger Robot
441a7d76ef Merge "Play fallback animation if there are multiple closing targets." into tm-dev 2022-03-09 20:44:18 +00:00
Jon Miranda
b42e124f5b Never look for matching view in All Apps when swiping up to go home.
The swiping up gesture will never return an app in All Apps,
so we can ignore All Apps state in those cases.

This fixes an edge case where user swipes up and launcher state
is still in All Apps. This causes us to animate the icon to
where it would be in All Apps, even though by the time the
animation starts we are actually in Normal state.

Bug: 222124240
Test: open app from  all apps then quickly swipe up to go home
Change-Id: I756a870660a397d6629aec82e4f5ec4914ed0669
2022-03-08 16:37:35 -08:00
Jon Miranda
b2a5f266ad Play fallback animation if there are multiple closing targets.
Bug: 200247089
Test: close app w/ gesture nav, 3 button nav
      close split screen apps

Change-Id: I748f038eaf1542014f3acbb8fa31488936835dfe
2022-03-08 14:45:16 -08:00
Schneider Victor-tulias
789a6a95cc Add method to pause expensive view updates during the app launch aimation
Fixes: 220922269
Test: Manual
Change-Id: I39066f575c0ddfc4868ab9e27149e2bd9492b39c
2022-03-04 13:59:33 -08:00
Sunny Goyal
6bc4257d86 Separating refresh rate tracking to a separate class
Bug: 221961069
Test: Presubmit
Change-Id: I04091ebc9f3d88d2dbbde1bf0d5390c815e026d1
2022-02-28 17:13:00 -08:00
tomnatan
9f12373bdd [11/n] Letterbox Education: set LAUNCHER_TASKBAR_EDUCATION_SHOWING.
The setting is set to 1 if the taskbar education should be shown as soon as the animation for opening an app starts and is set back to 0 when the taskbar education window is detached from the window.

Bug: 214590804
Test: N/A
Change-Id: Id26e3051a6e0ef1f9c2dcbeef98710efbb4df54f
2022-02-11 10:28:51 +00: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
Tony Huang
fc6fc6d651 Merge "Animate split divider" into sc-v2-dev 2021-12-22 02:47:05 +00:00
Jon Miranda
32ec4d52e1 Scale, crop, and translate window when swiping back to home.
This makes the animation consistent with what happens
when swiping up to home.

Bug: 208292857
Test: open app, swipe back to close, test on portrait and landscape
Change-Id: I096b20fe3d3398001e442d41981350e7b0321a46
2021-12-15 01:34:12 +00:00
Vinit Nayak
0d40e19c4a Animate split divider
* TODO currently it doesn't animate when
dragging a split task back down because we need
to sync that with the other task scaling
animation playback controllers.
* It also doesn't animate in when opening a
split pair from overview because I think shell
is setting it to be visible before the divider
leash even makes it to launcher

Bug: 202914644

Change-Id: I6c60cffdb63aa262d0b547f85acc604c0c8a3637
2021-12-07 11:20:30 -08:00
Jon Miranda
c4a99bff04 Play return to icon animation if user swipes back to All Apps.
Bug: 205187702
Test: open app in all apps, swipe back to go back to all apps
Change-Id: I9e79c8365fdf667321343aaac2f8d77cb60a316a
2021-11-23 11:27:42 -08:00
Jon Miranda
4e5664ac28 Play fallback animation when overlay is shown.
Bug: 205086529
Test: go to -1, click to open app, swipe back
Change-Id: I905511e0ac7576d2134a10088289a5ca37d1b257
2021-11-05 16:16:12 -07:00
Vinit Nayak
d0eea50a0c Show divider when GroupedTaskView expanded from recents
* Also increased animation duration to allow
apps to get ready

Fixes: 202928293
Change-Id: I8814ec2415e7985e4f433695f6cc55f83f0c0ac2
2021-11-05 11:15:01 -07:00
Evan Rosky
a3defa4d39 Merge "Provide app-process tokens to remote transitions so they can be boosted" into sc-v2-dev 2021-11-03 20:59:08 +00:00
Jonathan Miranda
9b85616119 Merge "Remove PROTOTYPE_APP_CLOSE feature flag and associated code." into sc-v2-dev 2021-11-01 18:35:44 +00:00
Jon Miranda
029a644a6e Remove PROTOTYPE_APP_CLOSE feature flag and associated code.
Flag was never enabled, safe to remove.

Bug: 200999899
Test: manual
Change-Id: Ie2646d8c4b9a1c40fac1bfd7dadf4ec714171aec
2021-10-29 16:07:29 -07:00
Tony Wickham
615cf6c431 Fix launching window bounds for immersive apps
Test: Open an immersive app (e.g. fullscreen YT video), ensure it fills
the screen; open a non-immersive app (e.g. Calculator), ensure it only
fills up to the top of the taskbar.
Fixes: 200036592

Change-Id: Id815bbc8140cbaf1e61ac587ae1f1325e7ec5b72
2021-10-13 21:17:16 +00:00
Tony Wickham
1ad55e6ab5 Merge "Use falllback animation when going back to no icon" into sc-v2-dev 2021-09-28 21:19:38 +00:00
Tony Wickham
b43374e9f9 Use falllback animation when going back to no icon
Test: Open settings from the shade (not on home screen) and go back, ensure animates reasonably
Bug: 197656915
Change-Id: I78baa3ad03655f66b9e9727e62247ec8a15f3bf9
2021-09-28 09:19:47 -07:00
Jon Miranda
3940470bed Avoids animating the background when launching app targets are translucent.
Bug: 200052247
Test: Pause an app, click on paused app and ensure background does not animate
Change-Id: Ib0a7cac0ab866441dd8fb27831a8333d0c931723
2021-09-24 16:00:25 -07:00
Jon Miranda
13519e4402 Significantly reduce gesture feedback when swiping up to home screen.
- Uses overscroll damping logic to reduce the velocity
- The start to target rect interpolation can be from the
  start, center, or bottom of the rect depending on where the item
  is on the workspace. This reduces the  amount of distance needed to
  travel between, which helps further reduce gesture feedback.

Bug: 173107751
Test: test closing app that is on:
      -  top row of home screen
      -  middle of home screen
      - in hotseat

Change-Id: I055dd61ca3491807109ff2f6c501bf710c8d340f
2021-09-23 20:13:40 +00:00
Jon Miranda
8d3d2757e2 Play window close animation to home for most app to launcher scenarios
- Animates into icon/widget location on workspace (when applicable)
- Excludes unlock animation
- Excludes when user goes back to to All Apps state

Bug: 197656197
Bug: 197450256
Bug: 197656915
Test: go in app, swipe back to land on home
Change-Id: Icdf680bd88599f1b6288822a177087283668431c
2021-09-21 20:19:23 -07:00
Evan Rosky
80ca459e7d Provide app-process tokens to remote transitions so they can be boosted
The app process token is required for shell to request delegated
transition animators to be boosted.

Bug: 183993977
Test: add logging in WPC.setRunningRemoteAnimation and verify calls
      during transitions
Change-Id: Ide2dd3e77714cca8e85e409c8d88c69c20122827
2021-09-03 13:38:00 -07:00
Shawn Lin
fe2aed97c5 Merge "[DO NOT MERGE] Update QuickStepContract.getWindowCornerRadius API" into sc-v2-dev 2021-09-03 03:57:09 +00:00
Evan Rosky
c12b7355b1 Fix NPE that happens occasionally on start-up
Was not checking if topActivity was null.

Bug: 189935087
Test: boot phone thousands of times.
Change-Id: I3c779be5f09d82d52a3df9478c801a1963e0a5c2
2021-08-31 15:10:47 -07:00
shawnlin
4e15fe0726 [DO NOT MERGE] Update QuickStepContract.getWindowCornerRadius API
Update from getWindowCornerRadius(Resources) to
getWindowCornerRadius(Context)

Bug: 131221697
Test: make
Change-Id: Ia5f10e9292e205dab7e69d97dfc82d17690816fb
2021-08-19 15:52:10 +08:00
TreeHugger Robot
fe5ce7334a Merge "New app animation specs." into sc-qpr1-dev am: 686d42a1d4
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15587964

Change-Id: If21b096b1d5ac025ffb4116c805d31acba6cc662
2021-08-19 00:57:46 +00:00
Jon Miranda
bda98de9f8 New app animation specs.
- New values and interpolators.

Bug: 173107751
Test: open apps from different parts of the home screen
Change-Id: I81bec0221aec9c04dac0bb3e926c879999699e57
2021-08-18 18:26:46 +00:00
Andy Wickham
13f3ffed95 Adds initial Taskbar Edu implementation.
Currently it just pops up with one placeholder image for splitscreen.
The Next button doesn't do anything.

Screenshots:
Light: https://screenshot.googleplex.com/B27CwBcwobHTghN.png
Dark: https://screenshot.googleplex.com/48EuJZv8evd5RGW.png

Known issues:
 - Back gesture is picked up behind by the app behind the taskbar.
 - When the flag is enabled, the Edu shows up each time you open
   an app, rather than only the first time.

Bug: 180605356
Test: Manual
Change-Id: Ifba9aa59abf1501b5f8ddebb3fcc13df85f6efaa
2021-08-17 09:57:47 -07:00
Tony Wickham
635e180e56 Extend taskbar color to entire screen in overview
Only when taskbar is unstashed in apps:
- Scrim workspace with the taskbar color when opening apps and in BackgroundAppState
- Crop opening apps to above the taskbar
- Crop TaskViews to above the taskbar during gestures

If taskbar is stashed in apps, behavior is the same as before, i.e. no scrim over the wallpaper and no cropping of tasks.

Added a field DeviceProfile#taskbkarPresentInApps to distinguish these cases. LauncherTaskbarUIController and TaskbarStashController ensure this value is set appropriately.

Test: Ensure tasks don't appear behind taskbar when it's unstashed; set ENABLE_SCRIM_FOR_APP_LAUNCH = true to test the whole screen scrimming when opening an app

Bug: 196257194
Fixes: 190681228
Change-Id: I481501457a5a6d49c380feea3db3b4058e4cf3f8
2021-08-16 16:50:52 -07:00
Evan Rosky
8fb6c2156b Part of fixing Splashcreen cts tests
This passes the launcher component name into the transition filter
so that it only matches if the launcher is the current home activity

Bug: 194112093
Test: atest SplashscreenTests
Change-Id: Ie2185545a5bef8b317e104b6ac878f6cde0d7350
2021-07-20 14:23:55 -07:00
Jonathan Miranda
e6f0509d1d Merge "Fix bug where app icon is gone for first frame on cold start." into sc-dev am: 3334c32120
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15164770

Change-Id: I38ace4adec4591e9259a8859ed547e1b951b922c
2021-07-01 18:36:20 +00:00