Commit Graph

331 Commits

Author SHA1 Message Date
Jon Miranda
ed79f7f269 Merge "Crop based on real-time insets" into main 2025-03-19 10:28:40 -07:00
Evan Rosky
d057a2a636 Crop based on real-time insets
This crops above taskbar unless app is immersive

Bug: 336511494
Test: Enable pinned taskbar, launch app, note correct bounds
Flag: com.android.wm.shell.enable_dynamic_insets_for_app_launch

Change-Id: Ie8124ae18176d167986f9861876d426ec2c6097f
2025-03-14 15:29:40 -07:00
Jon Miranda
0c762ac84f Merge "Synchronize the app launch and taskbar stash animations." into main 2025-03-14 11:05:08 -07:00
Shamali Patwa
a29ec52cce Merge changes from topic "prp-fix" into main
* changes:
  Improve reliability of cleanup done in onDestroy.
  Change the studio build specific onEndCallback exception to a log.e
2025-03-13 10:25:06 -07:00
Jon Miranda
0779b1fa1b Synchronize the app launch and taskbar stash animations.
Introduce FLAG_IGNORE_IN_APP to prevent taskbar from stashing
prematurely due to HomeTransitionListener signal.

Fixes leak by adding event callback to clear runnable when launcher is
destroyed.

Bug: 319162553
Test: Launch an app, note the two animations are synced
      Verified by locally introducing a startDelay (since otherwise it is hard to tell)
Flag: com.android.launcher3.sync_app_launch_with_taskbar_stash
Change-Id: I684c714bb84fb1717b0e26620f2aa938671eb19a
2025-03-12 16:17:55 -07:00
Shamali P
8f126e8e66 Change the studio build specific onEndCallback exception to a log.e
Since developers have been relying on detecting leaks from studio build
and this exception can cause rest of on destroy to not run, to avoid
false positives, we could just rely on Log.e instead.

See bug for more details.

Bug: 400793700
Flag: EXEMPT BUGFIX
Test: Leak canary and studio heap dump
Change-Id: Ieea35ecfcc4b0f048b47c204809bbbf39e367b06
2025-03-12 23:00:40 +00:00
Sunny Goyal
018356d3c3 Introducing a wrapper over binder to simplify lifecycle management for IPC
Fix: 400733213
Flag: NONE - release code
Test: manual
Change-Id: I5e143fce6a4cbc1dbb246bc6e0141ebbbc8bd274
2025-03-10 10:27:58 -07:00
Sunny Goyal
476d926972 Simplifying some view iteration methods
Bug: 393703968
Flag: EXEMPT refactor
Test: Presubmit
Change-Id: Ieffa3a66fbf8595d542995c348df578a3aec9083
2025-03-04 10:39:55 -08:00
Jagrut Desai
269fb15e97 Merge "Desktop Mode Taskbar Recreate Animation" into main 2025-02-24 16:00:48 -08:00
Jagrut Desai
8b2e5eff9b Desktop Mode Taskbar Recreate Animation
This Cl includes
       - addition of entry/exit callback methods in DesktopVisibilityController.
       - taskbar manager now listens to desktop mode changes.
       - TaskbarBackrgroundRedererer can now individually animation backgrounds for transient and persistent taskbars
       - new channel for taskbar icon alpha added to TaskbarViewController
       - new animated float to handle background alpha while we are recreating taskbar with animation.

Solution:

we use the callabck we get from DekstopVisibilty for entry/exit to first change logic of when we are considered inDesktopMode. Upon entry/exit we notify display controller for info change.
we also at notify taskbar manager who is now a listener to the desktop mode change and start the recreate process. TaskbarManager first animates existing taskbar out of user view and then follows the original recreate flow.

Test: Presubmit
Bug: 343882478
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: Ib827564cacd194f499e7d9b1965e2bb13e3548ab
2025-02-24 11:59:53 -08:00
Jagrut Desai
e49214080f Fix Taskbar Edu accessibility anmimation
This cl include: Allows user to click on lottie animation views to play and pause animations. If user have choosen to remove animations we will honor it and not play the animation from begaining.

Test: Manual, Presubmit
Bug: 378980835
Flag: EXEMPT bugfix
Change-Id: Ieaaf771bc307837f042f6e59d8f02fefb2e8286a
2025-02-24 09:36:22 -08:00
Fengjiang Li
c926dd5be2 [Memory Leak] Attempt to fix leak caused by onEndCallback created for open app animation not running
Fix: 397690719
Flag: NONE - release code
Test: presubmit
Change-Id: Icf36b744f21f50b7182c81437ef29b5886c2d43d
2025-02-19 18:00:41 -08:00
Gustav Sennton
57ce690d4e Pass TransitionInfo from onTasksAppeared() to TransformParams
Pass the TransitionInfo of the merging recents-transition through to
TransformParams to allow setting the corner radius of desktop tasks to
zero during the second part of a recents transition.

Bug: 378657004
Flag: com.android.window.flags.enable_desktop_recents_transitions_corners_bugfix
Test: swipe up from fullscreen app to overview, then tap desktop tile

Change-Id: I08f87aa1b9a2feca9e9f8bed2c55279e0ddc1edb
2025-02-12 10:19:14 +00:00
Gustav Sennton
b15df95186 Merge "Add CUJ_DESKTOP_MODE_EXIT_MODE_ON_LAST_WINDOW_CLOSE to launcher side" into main 2025-01-28 10:32:41 -08:00
Gustav Sennton
1c84b90fe2 Add CUJ_DESKTOP_MODE_EXIT_MODE_ON_LAST_WINDOW_CLOSE to launcher side
Move the CUJ to where the actual animation is taking place, so we can
target the correct surface/leash.

Bug: 374214290
Flag: NONE jank logging
Test: manual

Change-Id: Iccb30ff7ceee84b68428606575e1b8588eeb8aa9
2025-01-28 15:22:01 +00:00
Gustav Sennton
1cce85f197 Remove old Desktop transitions flags usages
Bug: 369763947
Test: n/a
Flag: EXEMPT flags removal
Change-Id: Ie4cd157bb94477db83a1995f976c2057f78902e4
2025-01-27 14:44:22 +00:00
Johannes Gallmann
c8fd3f23fe Play workspace reveal animation for predictive back-to-home
Bug: 382453424
Test: Manual, i.e. tested back-to-home and back-to-allapps animation on phones, tablets and foldables, including interruptions.
Flag: com.android.launcher3.predictive_back_to_home_polish
Change-Id: I092a74ab2340828e18067ca15c7019c44d30f40b
2024-12-12 14:18:03 +00:00
Johannes Gallmann
6b1272ad9f Revert "Play workspace reveal animation for predictive back-to-home"
This reverts commit 09603bfb39.

Reason for revert: Launcher icons are sometimes not visible during the back-to-home animation when immediately swiping back after opening the app.

Change-Id: I13869cf755160986e323365a460f6ebe128008a9
2024-12-11 06:05:39 -08:00
Johannes Gallmann
09603bfb39 Play workspace reveal animation for predictive back-to-home
Bug: 382453424
Test: Manual, i.e. tested back-to-home and back-to-allapps animation on phones, tablets and foldables, including interruptions.
Flag: EXEMPT bugfix
Change-Id: Iece001b6b9edd9ca7a909e3ccbe8ebdff2e71d9f
2024-12-10 12:42:12 +00:00
Gustav Sennton
68648283a8 Use bugfix flags for desktop mode transitions (exit, applaunch, alttab)
The transitions changes are bug fixes / polish, so use bugfix flags
for these changes.
An existing non-bugfix flag cannot be changed into a bugfix flag, so
instead we create new flags with the bugfix type.

Bug: 380224768
Bug: 380225486
Bug: 380224832
Test: manual - disable main flags, use bugfix flags
Flag: com.android.window.flags.enable_desktop_windowing_enter_transition_bugfix
Change-Id: I1c9ea635a362db741f4a632e6360aee87c12750e
2024-11-28 12:32:34 +00:00
Johannes Gallmann
0610c625e0 Only register Launcher back-callback when ROLE_HOME is held.
When using a 3P Launcher, i.e. when the ROLE_HOME is not held by QuickstepLauncher, there should be no back callback registered with SystemUI.

Bug: 374882166
Flag: EXEMPT bugfix
Test: Manual, i.e. verified back-callback registration updates in SystemUI and also verified that back-to-home navigations in Nova Launcher are responsive.
Change-Id: I03187f80a4c3c893a6529f0a22613f6fdfe7b7b3
2024-11-22 13:49:00 +00:00
Jagrut Desai
a9095ca0c8 Merge "Fix launching app animation from launcher all apps." into main 2024-11-15 22:43:39 +00:00
Jagrut Desai
596594c684 Fix launching app animation from launcher all apps.
This cl includes
	- making pinned taskbar animate slide in/out animation from bottom of screen.
        - no icon aligment with hotseat when taksbar is pinned

The solution
	- upon state change applied on TaskbarLauncherStateController. offset taskbar background and icons to bottom of screeen and animate with slide in/out effects.

Test: manual, presubmit
Bug: 314279101
Flag: EXEMPT bugfix

Change-Id: Ife336ebd57eb2f60c2bc33ed6a4527c42111808f
2024-11-14 15:51:50 -08:00
Gustav Sennton
8e4cae1258 Change fallback closing animators for Desktop Mode.
The main changes are:
1. the amount to move the window horizontally (much less for Desktop
Mode), and
2. the timing for when the alpha animation is applied - we remove the
   25ms delay for freeform windows.

Bug: 378675987
Test: manual
Flag: com.android.window.flags.enable_desktop_windowing_exit_transitions
Change-Id: Ieeb6b827eee2e6314ea9c79213cdf401f48d3c85
2024-11-14 16:26:07 +00:00
Luca Zuccarini
75883dd89e Merge "Make workspace and hotseat scale animations interruptible." into main 2024-09-30 09:42:59 +00:00
Luca Zuccarini
2831d1eaf7 Make workspace and hotseat scale animations interruptible.
This affects app launches and returns to home. When launching
immediately after returning to home (before the return animation is
complete), the two animations could overlap, causing the two property
setters to conflict.

Bug: 367591368
Flag: com.android.launcher3.coordinate_workspace_scale
Test: tested with flag off and on, see before and after in the bug
Change-Id: Ie1483fa0bf589caee315ae298e9e68ca361709d8
2024-09-27 13:30:09 +00:00
mpodolian
dfb48214ea Update placement of the hotseat according to the bubble bar location.
Update the hotseat and Qsb placement according to the 3 nav buttons bar.

Test: Manual.
Set navigation mode to 3 buttons.
On launcher home screen move the bubble bar from one side to another.
Observe that the Hotseat and Qsb moving together with the navigation
bar.
Once moved the bubble bar, expand the bubble bar and collapse it.
Observe how the Hotseat is stashing and un-stashing.
After bubble bar changes position hit the recent apps button, observe
the transition.
On launcher home screen start application with the hotseat icon and exit
opened application. Observe that flying icon comes back to the correct
position in the hotseat.
Video with the above scenarios:
http://recall/-/gx8ASgewUeUS3QYohfrd1J/blTYrKopTyufOcRoPuVpYK
Bug: 346381754
Flag: com.android.wm.shell.enable_bubble_bar_in_persistent_task_bar

Change-Id: Ic8c6acdffbbb111cbe4f3fd6bc60195578d7035d
2024-09-26 19:04:01 -07:00
Sunny Goyal
5ee3d98641 Cleaning up some enabled features
Flag: EXEMPT LEGACY
		CONTINUOUS_VIEW_TREE_CAPTURE
		ALL_APPS_GONE_VISIBILITY
		ENABLE_BACK_SWIPE_HOME_ANIMATION
		ENABLE_DYNAMIC_TASKBAR_THRESHOLDS
		PREEMPTIVE_UNFOLD_ANIMATION_START
		ENABLE_NEW_GESTURE_NAV_TUTORIAL
		ENABLE_ENFORCED_ROUNDED_CORNERS
		ENABLE_TRACKPAD_GESTURE
		ENABLE_KEYBOARD_QUICK_SWITCH
		ENABLE_KEYBOARD_TASKBAR_TOGGLE
		ENABLE_ALL_APPS_RV_PREINFLATION
Test: Presubmit
Bug: 270395171, 291651514, 270393426, 294252473,
     270397209, 270396257, 270393258, 271010401,
     270396844, 281726846, 288161355

Change-Id: I6ef1e12dfc2203a4cca8e91aa291485f1ff24c42
2024-09-12 15:12:08 -07:00
Sunny Goyal
b55d9ca407 Fixing back animation for container views
> Looking up views during back instead of holding the reference
  This allows back animation even if Launcher restarts
> Fixing back animation not working with progressive back
> Fixing container animation overriding Launcher cookie used be gestureNav

Bug: 365866488
Test: Verified manually by enabling flag
Flag: com.android.launcher3.enable_container_return_animations
Change-Id: Ic235b238cca6a31e9a5502200ff6b07c72b4e4d7
2024-09-12 00:51:07 -07:00
Sunny Goyal
8f8932b0f8 Merge "Adding open/close animartion when launching app-info target" into main 2024-09-11 20:31:34 +00:00
Sunny Goyal
65342edc89 Removing obsolete flags
Flag: EXEMPT legacy ENABLE_PARAMETRIZE_REORDER, KEYGUARD_ANIMATION, ENABLE_SCRIM_FOR_APP_LAUNCH
Bug: 289420844
Bug: 270390904
Bug: 270393276
Test: Verified manually
Change-Id: I0eb166168100419fdf4d264f7ccddeeba86524b7
2024-09-10 21:24:47 +00:00
Sunny Goyal
cb98fb26b8 Adding open/close animartion when launching app-info target
Bug: 356914468
Test: Verified manually
Flag: EXEMPT bugfix
Change-Id: I3a4e48363728153a96c75466824fb03de44c0ad9
2024-09-10 13:35:46 -07:00
Sunny Goyal
f158286c34 Adding more properties in LaunchCookie, instead of just itemId
This allows better matching of items who do not have a fixed id

Bug: 364363493
Flag: EXEMPT bug fix
Test: Manual- Verified app launch and back animation
Change-Id: I4f9deba89399b89974686b64226b99f91a3d46be
2024-09-09 12:11:36 -07:00
Winson Chung
d159e61166 5/ Remove unused recents code
- The shell transit flag is already hardcoded to true in Launcher
  so we can remove the non-shell transit paths
- The minimized split was from legacy splitscreen where launcher would
  show in a minimized state, which is no longer the case

Flag: EXEMPT bugfix
Bug: 359608026
Test: atest NexusLauncherTests
Change-Id: Idea46fc065485233b9e508dae3ebc4ee87c29ba6
Signed-off-by: Winson Chung <winsonc@google.com>
2024-08-29 23:17:23 +00:00
Jon Miranda
50a7279ae6 Revert "Synchronize the app launch and taskbar stash animations."
This reverts commit cde962dcb7.

Fixes: 355666644
Reason for revert: Memory leak b/355666644

Change-Id: I2eee00d2d8d65e1e1805ad76fafc7caab8626715
2024-08-13 00:41:01 +00:00
Robin Lee
004849d2ec Skip launcher return for custom task transitions
Overriding the task exit transition requires a permission that indicates the exiting task already knows more than the launcher about what its exit is supposed to look like, so we
will let it play the animation it likes instead of the default return-to-launcher one.

Change-Id: I8f4b7292ae0863d378ec6319816e1b9cc7735c24
Test: atest transition-hotlaunch-phone
Flag: EXEMPT bugfix
Bug: 350712843
2024-07-24 20:49:39 +00:00
Jon Miranda
6d5ab854d1 Merge "Synchronize the app launch and taskbar stash animations." into main 2024-07-19 00:26:33 +00:00
Jon Miranda
cde962dcb7 Synchronize the app launch and taskbar stash animations.
Introduce FLAG_IGNORE_IN_APP to prevent taskbar from stashing prematurely
due to HomeTransitionListener signal.

Bug: 345768019
Fixes: 319162553
Test: Launch an app, note the two animations are synced
      Verified by locally introducing a startDelay (since otherwise it is hard to tell)
Flag: com.android.launcher3.enable_scaling_reveal_home_animation
Change-Id: Ibb64e0321f33cf81e337fc7c1b2c3edfb23e6ba4
2024-07-19 00:26:13 +00:00
Johannes Gallmann
93af1db6a3 Fix CUJ_LAUNCHER_APP_CLOSE_TO_HOME Cuj for predictive back to home
CUJ_LAUNCHER_APP_CLOSE_TO_HOME was broken because in the non-fallback case, the anim on which addCujInstrumentation was called on was empty.

Bug: 300078127
Flag: com.android.window.flags.predictive_back_system_anims
Test: Manual, i.e. verifying that CUJ_LAUNCHER_APP_CLOSE_TO_HOME shows up properly in perfetto trace with the fix applied in the predictive back case
Change-Id: I4a1130bd7c4622c057db054d829f662a16443799
2024-07-16 13:42:03 +02:00
Luca Zuccarini
52545edb41 Add return animations to Toast search results.
This only applies to targets that already use the Animation library for
launch animations.

Bug: 336719605
Bug: 298089923
Flag: com.android.launcher3.enable_container_return_animations
Flag: com.android.systemui.shared.return_animation_framework_library
Test: tested manually with flag on and off
Change-Id: Ib824e78fa8b1b226b32d23d8325f06b496ba5deb
2024-06-20 10:25:57 +00:00
Luca Zuccarini
0f6668d011 Miscellaneous polish for new home animation.
1. Update the starting window velocity when coming from 3-button nav or
   predictive back

Before we used an arbitrary fixed velocity which goes down to basically
0 with the old implementation, but caused a noticeable jump up in the
new one when using predictive back. Now we just pass 0, since the
predictive back framework doesn't give us the actual velocity.

2. Add the scaling home reveal to the targetless (not going back to a
   specific app icon or widget) animation and 3-button nav

Bug: 298089923
Fix: 343143876
Flag: com.android.launcher3.enable_scaling_reveal_home_animation
Test: manually tested with flag on and off
Change-Id: Ied3630a51862731fad044b68f76a45dc87f2e17b
2024-06-05 13:21:46 +00:00
samcackett
76331b6c17 Add metric logging for fake landscape usage
- Reuse existing TaskSwitcherContainer for Overview metric logging
- Log current orientation state for Overview when interacting with
gestures or via three button nav
- Log current orientation state on each phone rotation

Bug: 332870519
Test: Manual
Flag: NA
Change-Id: Ia10cf1acb809432175daab55151998f0d77362f9
2024-05-15 09:42:08 +01:00
Jordan Demeulenaere
5512003c0d Delay TransitionAnimator.onAnimationEnd by one frame (2/4)
Bug: 330672236
Test: atest ActivityTransitionAnimatorTest
Test: atest DialogTransitionAnimatorTest
Flag: N/A
Change-Id: I81e85df79256d013f6c3ef5cb58a5d96c0c7deec
2024-05-08 16:28:53 +02:00
Sunny Goyal
89931316a2 Moving various nav-bar configs out of feature flags
Bug: 332588958
Test: Presubmit
Flag: None
Change-Id: Ia4dc5b69bcf4d461e3444b9e37bb7334bb74aae4
2024-04-08 16:54:04 -07:00
Luca Zuccarini
c9cbc9d5a1 Introduce a new Home animation for workspace and the outgoing task.
The values are currently the same for all display and orientation
configurations, but they might change before launch.

There are a couple known imperfections:
* Swiping out of a hotseat app with very low velocity doesn't look
  great
* Sometimes, if the window movement reaches its final location faster
  than the background is done scaling, there is a small snap in icon
  position

Bug: 298089923
Flag: ACONFIG com.android.launcher3.enable_scaling_reveal_home_animation DISABLED
Test: verified with the flag on and off

Change-Id: Id54c7f0a76f62108d8b92a3b5e78634fff64dbef
2024-03-14 10:48:02 +00:00
Federico Baron
f9aa2a4a47 Merge "Remove logspam for resolved bug" into main 2024-03-08 16:29:17 +00:00
fbaron
7e5d855886 Remove logspam for resolved bug
b/318394698 was fixed so we can now remove these logs.

Fix: 321837497
Test: N/A
Flag: NONE
Change-Id: Ifc8b18238778f6aa2c0ad1be5df627c07cbaf1d8
2024-03-07 11:11:36 -08:00
Sunny Goyal
f584b32811 Using fractions in MultiValueUpdateListener instead of absolute durations
This ensures that any global animation scale applies properly

Bug: 327645429
Flag: NONE
Test: Manual
Change-Id: I12205429dca5a87208fa9964b3307fb718af4fd0
2024-03-04 09:15:11 -08:00
Luca Zuccarini
0547036143 Merge "Move remote animation utils to the Animation lib." into main 2024-02-27 13:53:59 +00:00
Johannes Gallmann
c71b48c658 Transfer coordinate into new Rect instead of in-place
Other parts of the animation rely on currentRectF to remain stable, therefore we shouldn't modify the RectF object in place.

Bug: 323628523
Flag: NONE
Test: Manual, i.e. verifying that widget close (and app close) animation animates correctly regardless of device orientation
Change-Id: I48e9ed047b956db654192eef39e5d94fbac53553
2024-02-23 12:30:46 +01:00