Commit Graph

535 Commits

Author SHA1 Message Date
Tony Wickham 4ad57959d6 Merge "End icon alignment early when touching down during 3 button anim to home" into main 2024-11-18 18:53:55 +00:00
Tony Wickham 5903216275 End icon alignment early when touching down during 3 button anim to home
This will allow Hotseat to handle the touch during the transition.

Test: manually touch Hotseat in pinned/transient/3-button taskbar during
the transition to home, ensure Hotseat handles it in all cases
Flag: EXEMPT bug fix
Fixes: 368419997

Change-Id: I3d998876ed4d8423bdb4fd48fa0d55f719da8d01
2024-11-15 22:17:50 +00:00
Toni Barzic 28ebd1bacd Account for bubble bar bounds for taskbar overflow
When caculating number of icons to show in taskbar, account for bubble
bar size (the max size when in collapsed state) when bubble bar has
bubbles (even if the bubble bar is stashed). Note that the bubble bar
visibility may change, so max number of icons in the taskbar may change
during the taskbar view lieftime. TaskbarViewController already had a
method called when the bubble bar visibility changed - adapt it to also
reclaculate max number of icons to show in the taskbar, and update the
list of icons shown in the UI if necessary (if the change in the bubble
bar visibility would also cause a change in number of icons shown in the
taskbar).

Bug: 368119679
Test: Launch enough apps for taskbar to enter overflow, open an app that
supports bubbles, and trigger 2 or more bubbles so bubble bar shows up.
Verify that the buble bar does not overlap with taskbar bounds, both
in transient and persistent taskbar. Remove bubbles, and verify the
taskbar bounds expand, allowing more icons to be shown.
Flag: com.android.launcher3.taskbar_overflow

Change-Id: Ifed4e5e5dd64df5256090f5ba55f24203c09e839
2024-11-12 18:40:40 +00:00
Gustav Sennton da2c2c0f7f Handle Desktop app launches from Taskbar/AllApps icon clicks.
- Provide both launch and minimize animations from
  DesktopAppLaunchTransition
- Add support to TaskbarRecentAppsController to check whether an app is
  visible vs. minimized vs. not showing at all in Desktop Mode
- Use DesktopAppLaunchTransition when clicking a Taskbar/AllApps app
  icon (when in Desktop Mode and the app is not visible) to animate the
  app launch
- The animation / transition is passed to Shell through ActivityOptions

Note: this CL does not add animations for launching managed/work
profile apps. That will be handled in b/376819104.

Test: launch apps in Desktop from Taskbar/AllApps
Bug: 327428659
Flag: com.android.window.flags.enable_desktop_app_launch_transitions
Change-Id: I44be96b9c53718b2082d2f630e1921356785fc4b
2024-11-07 23:06:24 +00:00
Liran Binyamin a2603e829a Merge "Disable bubble bar in vertical taskbar" into main 2024-11-07 20:01:41 +00:00
Liran Binyamin 35e1be7ade Disable bubble bar in vertical taskbar
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 348694846
Test: manual
      - force vertical taskbar
      - observe that bubbles are floating
Change-Id: I831787933efb922877ee14911e395f27d6936336
2024-11-07 11:12:21 -05:00
Gustav Sennton 461caa7c5f Support Desktop unminimize animations, and move app-state logic
- Support Desktop unminimize animations through
    1. keyboard alt-tab shortcut
    2. taskbar hotseat icon click (TaskItemInfo)
    3. taskbar running-app icon click (GroupTask)
- move taskbar running-app state logic from TaskbarViewController to
  TaskbarRecentAppsController.

Test: manual - ensure the transitions above cause unminimize animations
Bug: 369966334
Flag: com.android.window.flags.enable_desktop_app_launch_alttab_transitions

Change-Id: I20322bdf58bc69cff360bf26e533e0732d5297b9
2024-11-05 13:39:46 +00:00
Treehugger Robot 5e77702197 Merge "Prevent tap in swipe up zone from closing KQS" into main 2024-10-29 01:57:55 +00:00
Toni Barzic befd6bb1ea Prevent tap in swipe up zone from closing KQS
Tap down action in swipe up start zone may or may not be start of a
navigation gesture - for example, it may be start of a tab on an icon in
the task bar. If the user taps on the taskbar overflow button, closing
the KQS on tap down produces unintended behavior (KQS is closed on tap
down, and reopened on tap up). Additionally, this produces inconsistent
behavior in response to app icon taps depending on whether gesture
navigation is enabled or not.
Instead, close KQS as part of `hideOverlayWindow()`, which gets called
when a swipe gesture actually starts (note that KQS is added to the
overlay's drag layer).
Additionally, make sure that KeyboardQuickSwitchController state is
reset if KeyboardQuickSwitchView gets detached from UI due to the
taskbar overlay getting hidden (e.g. in response to home button).
Without this, in certain situations, KQS may get hidden with the
controller thinking the UI is still shown - in case the user releases
the Alt + Tab key combination in this state, the shortcut would end up
getting handled, and switch to the next task.

Bug: 368119679

Test: Press and hold Alt+Tab (while an app is open). After KQS is open,
Swipe up to transition to overflow, or home screen - KQS gets hidden.
Releasing Alt+Tab is no-op.
Test: Press and hold Alt+Tab (while an app is open) with three button
navigation enabled. Press home button. KQS gets hidden. Releasting
Alt+Tab is no-op.
Test: Press and hold Alt+Tab. After KQS is open, open an app from task
bar (either transient or persistent), or all apps list. KQS gets closed,
Releasing Alt+Tab is no-op.

Flag: EXEMPT bugfix

Change-Id: I8b561db3c6ec8a9c7de93e330faf8e3e4d3c8f4e
2024-10-25 21:43:56 +00:00
mpodolian f230eee2ff Updated bubble bar position to be center aligned with the hotseat
Added a method to the device profile to calculate the vertical center of
the hotseat icons. Simplified the logic for positioning the bubble bar.

Test: TransientBubbleStashControllerTest
Test: PersistentBubbleStashControllerTest
Test: Visual. Go to home page, check that bubble bar is vertically
center aligned with the hotseat
Bug: 345491493
Flag: com.android.wm.shell.enable_bubble_bar

Change-Id: I52f1b94de79f6c912f43a88fcc5c884e20e56310
2024-10-23 14:44:40 -07:00
Toni Barzic 6957a037fe Make mAllAppsButtonContainer not Nullable
Bug: None
Test: None
Flag: EXEMPT cleanup
Change-Id: Iebf2eff8e9657e5960375f80a0f5bc4d46dcead3
2024-10-18 17:14:01 +00:00
Treehugger Robot fc4420dc3e Merge "Add animation runner for alt-tab desktop app launch" into main 2024-10-17 18:48:31 +00:00
Treehugger Robot c9b444c790 Merge "Fixed the opened folder on taskbar when NotifShade is shown" into main 2024-10-17 02:42:19 +00:00
Wen-Chien Wang e37b479b17 Fixed the opened folder on taskbar when NotifShade is shown
This cl fixes the bug by closing all abstract floating views
including opened folders when the notification shade is shown.
Usually this was handled in the folder class where it intercepted
the touch event to close it by dispatching the back key, but this
didn't work when the virtual keyboard existed.

More context is added in the bug.

Flag: EXEMPT bug fix
Fixes: 267529599
Test: Ran on a 1P device

Change-Id: Ifdd357668ece2c11888ecfc69af64b1742c07d6e
2024-10-16 17:53:08 +00:00
Gustav Sennton 6bb9d56ded Add animation runner for alt-tab desktop app launch
Create a remote transition supporting alt-tab app-launches (app launches
caused by a user using alt-tab to select a minimized app) and any
minimization caused by hitting the window limit during such an app
launch.

Test: manual, and WindowAnimatorTest
Bug: 349791584
Flag: com.android.window.flags.enable_desktop_app_launch_alttab_transitions
Change-Id: I6474fff351f3d7681ca25cd7331e4955e3d1c6e0
2024-10-15 17:34:53 +00:00
Liran Binyamin c25aa0c20f Create container view for bubble bar
The container will be used to inflate the bubble bar flyout view

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: builds successfully -- code is not wired up yet

Change-Id: I3012caa801c73f9e13f26c8803595b59e250ae1e
2024-10-09 11:09:48 -04:00
Sukesh Ram fb1088ef87 Merge "Refactor Taskbar Button Coloring Code" into main 2024-10-08 08:06:51 +00:00
Sukesh Ram 9a723c8f21 Refactor Taskbar Button Coloring Code
Given the emergence of b/341190547, this CL seeks to simply refactor the code for readability to aid in investigation efforts.

Flag: EXEMPT bugfix
Bug: 341190547
Test: Manual
Change-Id: I2e42d9c9e8eebd96d4e507b6dd357d7bedcd4a30
2024-10-07 16:03:38 -07:00
Ats Jenk ea6e59537e Merge changes I74af6a72,I603a67a8 into main
* changes:
  Animate bubble bar alpha when notif shade opens
  Set bubble bar invisible while stashed
2024-10-07 22:23:02 +00:00
mpodolian 989aa8ac83 3 button nav is laid out correctly.
Updated logic of laying out the 3 nav buttons container. Also updated
placement of the hotseat, so it is not shifted on the phone.

Test: Manual. Fold and unfold felix with and without bubbles. Reboot
the devices and perform the same test.
Fixes: 370773620
Flag: com.android.wm.shell.enable_bubble_bar

Change-Id: I7d5ba51f7ded275f7456a8690d04001b9651f6c5
2024-10-03 16:57:58 -07:00
Ats Jenk d819f32e46 Animate bubble bar alpha when notif shade opens
Similar to taskbar, animate the alpha for bubble bar when notification
shade is expanded.

Bug: 345687278
Test: have bubbles on home screen, swipe down notification shade,
  bubbles are hidden with an animation
Test: have bubbles in app, stashed, swipe down notification shade,
  no change
Test: have bubbles in app, unstashed, swipe down notification shade,
  bubbles hidden with an animation
Test: receive bubble notification while shade is open, check that
  bubble bar is not shown

Test: compare bubble bar shadow and stroke before and after change
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I74af6a7230f81628540f9b935cbe7dc801bd7a01
2024-10-03 15:33:38 -07:00
Ats Jenk bf09e036b3 Merge "Have bubble bar unstash gesture track finger" into main 2024-09-24 22:33:02 +00:00
Sunny Goyal e1b7ca566e Merge "Moving various application into related methods to a separate class" into main 2024-09-24 22:05:52 +00:00
Ats Jenk 26d74b9ec0 Have bubble bar unstash gesture track finger
Follow the taskbar motion for unstashing via gesture.
When swiping up in the handle area, move the handle slightly up with the
finger movement.
Once reaching a certain threshold, unstash the bubble bar.
If user swipes up past a certain other threshold, and lifts the finger,
expand the bubble bar. Otherwise leave bubble bar in collapsed state.

Only stashed handle or collapsed bar can be swiped up on.

Bug: 325673340
Test: atest NexusLauncherTests:com.android.launcher3.taskbar.bubbles.BubbleBarSwipeControllerTest
Test: swipe up on stashed handle
Test: tap on stashed handle
Test: enable 3 button nav and tap on bubble bar
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I6bb3c201cd03f05e2be55ebb0c972c577373ea79
2024-09-24 09:56:49 -07:00
Sunny Goyal 28d6bbd6b4 Moving various application into related methods to a separate class
> This avoids duplicate RPCs when trying to get multiple properties
  from AppInfo
> This would be used in a followup cl when AppInfo is added to caching
  logic in IconCache

Bug: 366237794
Test: atest ApplicationInfoWrapperTest
Flag: EXEMPT refactor
Change-Id: I55b964d4f8cfa1ff1770e310ac278719495e285d
2024-09-23 22:09:24 -07:00
Jon Miranda 9c09196dfd Revert "Add support for taskbar background to wrap around hotseat"
This reverts commit 5dc07d786f.

Reason for revert: b/360116669

Bug: 345768019
Change-Id: Id70ceed141e2106f746d4a0e68a09675ba45dd28
Fixes: 360116669
Test: open taskbar, open all apps w/ ime, use ime back button
Flag: com.android.launcher3.enable_scaling_reveal_home_animation
2024-09-23 22:38:35 +00:00
Jon Miranda 7645ef2ebd Simple implementation of Taskbar Overflow.
- Adds placeholder view to represent the Overflow affordance.
- Overflow button will always appear as long as there are any
  recent apps.*
- Click / long click on the button will open KeyboardQuickSwitch
- Relevant code is Guarded by Flags.taskbarOverflow.

*Note that this is not up to spec. This change is only meant to
setup the codebase to support Taskbar Overflow.

Bug: 368119679
Test: open app, enter desktop windowing, click overflow button
Flag: com.android.launcher3.taskbar_overflow
Change-Id: I47f96797408fda09e8326ba8fb7981c91de80e36
2024-09-21 00:28:20 +00:00
Jon Miranda ab0372e767 Clear overlay when swiping up to unstash taskbar.
Once taskbar is unstashed, the user cannot return back to the overlay. We can
clear it here to set the expected state once the user goes home.

Fixes: 359096594
Test: open -1, launch app, go home
Flag: EXEMPT bugfix
Change-Id: I8059c2c45f10d15701ff2961480aef002d273a06
2024-09-18 20:42:38 +00:00
Jon Miranda aec1e05be5 Migrate ENABLE_ALL_APPS_BUTTON_IN_HOTSEAT to launcher.aconfig
Flag: com.android.launcher3.enable_all_apps_button_in_hotseat
Test: N/A
Bug: 270393897
Change-Id: Ib62a2f46a440d8f0d3f569c09c4f8754715db4ee
2024-09-16 22:00:39 +00:00
Mykola Podolian 56cda496c6 Merge "Update placement of the nav bar in persistent taskbar for 3 button nav" into main 2024-09-16 21:49:54 +00:00
Jon Miranda 86a4b653b9 Add FLAG_DELAY_TASKBAR_BG_TAG to restrict when taskbar bg anim gets delayed.
We set it only when user swipes up to unstash.

Fixes: 360778703
Test: swipe up to home, long click on taskbar icon before it settles
Flag: com.android.launcher3.enable_scaling_reveal_home_animation
Change-Id: I24ff466ee6730e3739d85307363567cfa1455cbf
2024-09-13 19:08:46 -07:00
mpodolian 04088ebef7 Update placement of the nav bar in persistent taskbar for 3 button nav
Implemented nav bar placement update to be located opposite to the
bubble bar.
When bubble bar is moved to the other side of the bar, 3 button nav will
swap sides (without animation).
If taskbar has to be repositioned it does that with the animation.

Test: TaskbarViewControllerTest
Bug: 346381754
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: Id031706183c60cbd9c67537b01530acb43bae614
2024-09-12 16:42:15 -07:00
Treehugger Robot 206e15b286 Merge "Move DesktopVisibilityController to TouchInteractionService" into main 2024-09-12 02:32:00 +00:00
Schneider Victor-Tulias 2b46c945a7 Move DesktopVisibilityController to TouchInteractionService
Moved DesktopVisibilityController to TIS for 3P launcher support.

Flag: EXEMPT bug fix
Fixes: 338063030
Fixes: 357859025
Test: Launched overview and resumed desktop task from desktop mode on 1P and 3P launchers
Change-Id: I64e99a32ed13bcb6e4a81a18c29df2643373dc35
2024-09-11 09:56:35 -07:00
Jagrut Desai 3405c0425a Merge "Fix Taskbar Container not being aligned center in 3 button nav mode" into main 2024-09-10 16:28:23 +00:00
Jagrut Desai a4f7e4577a Fix Taskbar Container not being aligned center in 3 button nav mode
We were applying padding to taskbar container in 3 button navigation mode which we don't need as icon size are already correct.

Test: Manual, Presubmit
Bug: 364492586
Flag: EXEMPT bugfix
Change-Id: Ib9bf55edf2b7bb67fcbeb044e0ad1e90027b17a6
2024-09-09 17:29:03 -07:00
Tracy Zhou 7b30d2d102 Pipe appTransition signal to taskbar to pause region sampling when it's ongoing
Bug: 361593564
Test: https://android-build.corp.google.com/builds/abtd/run/L78300030006280283
Flag: EXEMPT bugfix
Change-Id: Ib874e2b44c1cc59280da1250fd35f01572c39221
2024-09-08 21:50:18 -07:00
Alex Chau 54fc5e0e52 Improve Task launch logging and function naming
Fix: 360186814
Test: manual
Flag: EXEMPT REFACTOR
Change-Id: I22c5a08382800941f0dd8f64f6129438ac04edaa
2024-09-05 16:58:06 +01:00
Ats Jenk 9ab2b8c785 Update bubble bar stash and unstash animation
Bubble bar should stash and unstash from the handle.
Update the animation to match what is used for the taskbar animation.
Fix the stash handle reveal animation to animate the stash bounds to
bubble bar bounds and back.
This gives the effect of the handle morphing into the bubble bar and
bubble bar morphing back into the handle.

Bug: 345680453
Flag: com.android.wm.shell.enable_bubble_bar
Test: atest TransientBubbleStashControllerTest
Test: have bubbles in bubble bar and be in app, swipe up for taskbar and
  observe the bubble bar handle transforming into the bubble bar
Test: with taskbar and bubbles expanded, check that bubble bar
  transforms into the handle
Change-Id: I8508e9207092774cbdb990e65f7f84e56a924d0c
2024-08-29 22:34:19 -07:00
Jagrut Desai bc98db6820 Merge "Use TaskbarAllAppsButtonContainer and TaskbarDividerContainer in TaskbarView" into main 2024-08-29 21:44:04 +00:00
Jagrut Desai 6060db4970 Use TaskbarAllAppsButtonContainer and TaskbarDividerContainer in TaskbarView
This cl includes
	- Usage of TaskbarAllAppsButtonContainer and TaskbarDividerContainer in TaskbarView. This can be seen as a refactor.
	- Animation refactor related to all apps button container refactor

Test: Presubmit
Bug: 356465292
Flag: com.android.launcher3.enable_taskbar_customization

Change-Id: I5b7c4f56aacac18fc6872f77b15e2e9ae896799e
2024-08-29 11:11:35 -07:00
Jagrut Desai 62fb48d247 Merge "Extend DesktopVisibilityController Funcationality to handle taskbar corner radius in desktop windowing mode" into main 2024-08-28 23:36:08 +00:00
Jagrut Desai e62cb76491 Extend DesktopVisibilityController Funcationality to handle taskbar corner radius in desktop windowing mode
This cl includes
	- adding support for listenting into when desktop window mode task is resizing and we need to adjust taskbar corner radius.

Test: Presubmit
Bug: 348335379
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: Ic6ea3dc1353df7fa4b8079106f20fade0f740683
2024-08-26 11:39:40 -07:00
Tracy Zhou e5be9281c5 Only call notifyUpdateLayoutParams when the params is changed
Bug: 361405157
Test: manual
Flag: com.android.wm.shell.enable_taskbar_on_phones
Change-Id: Ieddcfbc8a8deea9415fe9815926e5fa5552b4be3
2024-08-24 03:10:42 +00:00
Mady Mellor 788a6ebb74 Make an input consumer for bubble bar
Instead of unstashing bubble bar in TaskbarUnstashInputConsumer
handle it in its own input consumer instead. This is a nicer
separation of concerns and simplifies the logic in both places.

Additionally, this fixes issues where swiping up the bubble bar
handle might initiate / be handled by gesture nav (or all apps) when
really any events originating on bubble UI should be managed by
bubbles instead.

Adds some mostly mock'd tests to check that the static method used
to indicate if bubbles should take the event or not works correctly.

Flag: com.android.wm.shell.enable_bubble_bar
Test: manual - test swipe up on bubble bar handle in an app
             - test swipe up on bubble bar on home - it should
               open & all apps / launcher transition shouldn't happen
             - longpress to drag bubbles around on home and overview,
               try the collapsed bar & individual bubbles in the
               expanded bar
             - test dragging on the bubble bar after it's revealed
               in an app
Test: atest BubbleBarInputConsumerTest
Bug: 345488529
Change-Id: I964d213d71de15e4350cff5202dfb9343de1af14
2024-08-19 15:26:37 -07:00
Pat Manning b488c88fa3 Show and hide taskbar tooltips immediately.
Fix: 356352494
Test: TaskbarHoverToolTipControllerTest
Flag: EXEMPT bugfix
Change-Id: Ie7dc1f341cf059bb38f61fa185152cb2555e36b1
2024-08-15 17:59:59 +01:00
Tracy Zhou ab63a991cd Do not animate unfolded bar when folded on certain SysUI flag update
Inspired by b/276864833

Test: https://android-build.corp.google.com/builds/abtd/run/L42600030005659107
Bug: 355973871
Flag: com.android.wm.shell.enable_taskbar_on_phones
Change-Id: I1c06062a17f147c3252048373eedfa53db356572
2024-08-07 22:11:02 -07:00
Tracy Zhou 7a247fb2ac Merge "[Taskbar Performance] Avoid calling notifyUpdateLayoutParams in code logic specifically for unfolded taskbar when folded" into main 2024-08-06 19:14:26 +00:00
Tracy Zhou 2cfc2e1b1c [Taskbar Performance] Avoid calling notifyUpdateLayoutParams in code logic specifically for unfolded taskbar when folded
Bug: 355968858
Test: https://android-build.corp.google.com/abtd/run/L59700030005634589/?referrer=email
Flag: com.android.wm.shell.enable_taskbar_on_phones
Change-Id: I27ee8aefa7dbb42028de4c2de617c0deac4452e8
2024-08-04 09:47:59 -07:00
Mady Mellor 5e8c0d60cc Move bubble icon / content loading into its own controller class
I think this simplifies the BubbleBarController class and makes it
a bit easier to deal with the optional overflow (done in other CLs).

Flag: com.android.wm.shell.enable_bubble_bar
Test: manual - add some bubble to bubble bar, check that the overflow
               is there & can be opened
Bug: 334175587
Change-Id: Ie17fa0279a981a019d5d50b9f71dc87f49d98dee
2024-08-02 10:30:00 -07:00