Commit Graph

229 Commits

Author SHA1 Message Date
Jon Miranda 9ce27637d7 Filter out running pinned app tasks from KeyboardQuickSwitch.
- Opening KQS from keyboard shortcuts shows all the tasks.
- Opening KQS from taskbar will filter out all the running pinned apps
  from the list of views.

Bug: 368119679
Change-Id: I6090679f9fc359212db00a325917892ae6e1eb39
Test: open KQS via taskbar affordance, obseerve filtered list,
      use alt + option
      observe list changes to show all tasks
      click affordance again, observe list changes back to filtered
Flag: com.android.launcher3.taskbar_overflow
2024-09-26 16:05:23 +00: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
mpodolian b79e1742bd Fixed the navigation bar placement on device restart.
Moved logic that adjusts the hotseat position from the constructor of
the NavbarButtonsViewController to onTaskbarLayoutChange() method that
is called from the TaskbarViewController TaskbarView layout change
listener.

Test: Manual:
Moved the bubble bar to the default right position. Rebooted the device.
Navigation bar was placed on the left side of the screen.
Flag: com.android.wm.shell.enable_bubble_bar_in_persistent_task_bar
Bug: 367829539

Change-Id: Ife0c48a72b318d6051b7b09bde13818546e65d98
2024-09-19 11:42:29 -07: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
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
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 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
Tracy Zhou 4cbceb1208 Skip nav button animation in gesture nav mode
- Also removed unused rotation button code
- Skip adding certain property holders in phone mode
- Update FLAG_SMALL_SCREEN value from isPhoneButtonNavMode to isPhoneMode, so that it's more aligned with what the name suggests (it shouldn't affect the functionality regardless as the view is invisible in small screen)

Based on https://b.corp.google.com/issues/361593564#comment4

Bug: 361593564
Test: manual
Flag: EXEMPT bugfix
Change-Id: I1de7fa061a6c6aba9f949a0bcf8cfced84273e3f
2024-08-27 21:15:55 -07:00
Treehugger Robot cc22b62109 Merge "Recreate icon alignment controller when isIconAlignedWithHotseat changes." into main 2024-08-26 19:10:31 +00:00
Jon Miranda f9e46eaa15 Recreate icon alignment controller when isIconAlignedWithHotseat changes.
Before: when launching an app and immediately swiping home, the icon alignment
animation would become stale, which lead us to playing the wrong interpolator
for the action key alpha animator.

Fixes: 359579152
Test: open app, then immediately swipe home
Flag: EXEMPT bugfix
Change-Id: Ief08bd0fcb9fdc60efd0b8dd0821c1122cfa6f4f
2024-08-26 17:24:46 +00:00
Tony Wickham 3a47759619 Merge "Fix Taskbar being visible over Hotseat when recreated in Overview" into main 2024-08-22 18:51:55 +00:00
Tony Wickham 79f3cefae2 Animate away Recent Apps section when going to home
Also fix calculation for divider position during this transition
when there are recent apps. Added tests as well.

Flag: com.android.launcher3.enable_recents_in_taskbar
Flag: com.android.window.flags.enable_desktop_windowing_taskbar_running_apps
Test: TaskbarViewControllerTest
Bug: 343522351

Change-Id: Ifffd620c1d4c156b37561584d6e3278b39804439
2024-08-21 22:48:06 +00:00
Tony Wickham 5c32af7e5b Fix Taskbar being visible over Hotseat when recreated in Overview
Debugging locally, it seems there were a couple of state changes
and the last one (which is correct) was getting clobbered by a
previously destroyed instance of TaskbarLauncherStateController.
Fixed this by updating the isDestroyed() call which previously
only checked TaskbarActivityContext to now check
TaskbarLauncherStateController's destroyed state directly. This
is needed because TaskbarLauncherStateController is part of
LauncherTaskbarUIController which can be destroyed independently
of the other Taskbar controllers when Launcher is destroyed.

Also fix a debug log that was not updated long ago in ag/21122190

Flag: EXEMPT bugfix
Test: Go to overview, change Font Scale or Dark Theme from Quick
settings, ensure Taskbar is not visible over Hotseat
Fixes: 302923055

Change-Id: I1299462955b51a2bf931f022177045b1cec039c5
2024-08-21 21:43:54 +00:00
mpodolian 6ba789a98f Added taskbar in/out animation when the bubble bar is expanded/collapsed
Added taskbar icon animation when the bubble bar expansion changes.

If there is enough space to accommodate both bars with spacing in
between, the taskbar remains. If there is not enough space, the taskbar
is animated out and then animated in when the bubble bar is collapsed.

Bug: 346391377
Flag: com.android.wm.shell.enable_bubble_bar
Test: Manual. Set taskbar to persistent mode via 3-button navigation or
through the taskbar itself. Have enough bubbles to cover the taskbar
when the bubble bar is extended. Expand the bubble bar and observe the
taskbar icons animating out. Remove a few bubbles so there is enough
space to accommodate both bars. Expand the bubble bar and observe that
both bars are visible.

Change-Id: I0b03a010c1e49ab39a17934f6629d5496fd66978
2024-08-09 11:10:28 -07:00
Mykola Podolian bd8b839e0d Merge "Added scrim visibility check." into main 2024-07-30 18:19:01 +00:00
Jon Miranda e8b47c540f Merge "Add support for taskbar background to wrap around hotseat" into main 2024-07-30 15:59:48 +00:00
Jon Miranda 5dc07d786f Add support for taskbar background to wrap around hotseat
Currently only enabled for app launch animation

Future work is planned:
- Overview to home
- App dismiss
- When QSB is drawn inline

Bug: 345768019
Test: Launch an app, taskbar background and stashed handle will
      first wrap around hotseat before transforming into the
      stashed handle.
      Verified by locally forcing taskbar background and
      stashed handle to always draw.
Flag: com.android.launcher3.enable_scaling_reveal_home_animation
Change-Id: I9ab1870f87247b6a1b53a352ac3eb0183b7a1a1d
2024-07-26 08:10:50 -07:00
mpodolian baf0307494 Added scrim visibility check.
Scrim view was not shown because the TaskbarScrimViewController did not
check taskbar visibility on initialization. Added the check to fix the
issue.

Fixes: 353583417
Flag: com.android.wm.shell.enable_bubble_bar
Test: manual
Switch task bar to transient mode on overview screen or inside an
application. Expand bubble bar.

Change-Id: Ia8a05802a779a4bac70906e7e52ac6650308c85c
2024-07-17 22:32:54 +01:00
Brian Isganitis 2477f89fd2 Disable model loading in Taskbar unit tests.
We do not need this for now and it is making development more difficult on macs.

Test: Taskbar unit tests
Bug: 230027385
Flag: TEST_ONLY
Change-Id: I2e74e91e21aa650544d8264fab7b336b97b52547
2024-07-16 18:37:28 -04:00
Gustav Sennton f3108c59ed Taskbar running apps: show one icon per task + tap opens that task
Before this CL we would show only one Taskbar icon per app, making it
impossible (through the taskbar) to switch between several windows of
the same app.
With this CL we add one icon per task instead, making it possible to
bring each task to the front individually.

Flag: com.android.window.flags.enable_desktop_windowing_taskbar_running_apps
Bug: 351118893
Bug: 349790805
Bug: 351156858
Test: Started several Chrome windows -> taskbar has one icon per window

Change-Id: Ia692977effceb9ce339906bf6ca24d73e19d8769
2024-07-09 14:48:04 +00:00
Tony Wickham c5995c8f6d Load and draw Recent/Running tasks that aren't in Hotseat
- Re-support GroupTask as a tag on TaskbarView BubbleTextViews
- Can tap to launch (startActivityFromRecents) or drag and drop
- Move divider when enable_recents_in_taskbar is true

Behavior:
- While in Desktop mode, all open tasks show up in TaskbarView,
  either in the Hotseat section or the Running apps section
  past the divider. Each one also has a running line indicator.
- While in Fullscreen mode, up to 2 Recent apps that are not
  part of Hotseat will be added to the right of the divider.

Flag: com.android.launcher3.enable_recents_in_taskbar
Test: TaskbarRecentAppsControllerTest
Bug: 315354060
Change-Id: I2e2870cca434b51f276a701860edb32069109159
2024-06-19 00:27:30 +00:00
Tony Wickham 2021727f1e Change running apps section to use GroupTask instead of AppInfo
- No longer bind All Apps to TaskbarRecentsController, and register
  RecentsModel.RecentTasksChangedListener instead
- The source of truth for "running tasks" in Desktop mode is the
  DesktopTask#tasks list itself, instead of
  RecentsModel.RunningTasksListener (which is no longer used)
- Added TaskInfo.TaskKey#isVisible to distinguish minimized running apps
- Next CL will hook up the UI for Recent/Running tasks that are
  not part of the Hotseat.

Flag: com.android.launcher3.enable_recents_in_taskbar
Test: TaskbarRecentAppsControllerTest
Fixes: 335398876
Bug: 315354060
Change-Id: I1313f97a791c5c0c1db7443a5d4f1d5bc761981f
2024-06-19 00:27:30 +00:00
Jagrut Desai 31a65a08dc Fix Taskbar All Apps Button to be Fixed in Minimal Taskbar State
Test: Manual
Bug: 346387672
Flag: NONE taskbar all apps is not behind a flag
Change-Id: Iea63ccf57354a1e2941bd51f7f6f9e69187c4545
2024-06-11 09:23:23 -07:00
Pierre Barbier de Reuille f60dd5471c Update desktop mode to identify minimized tasks
When a task is minimised, it becomes invisible but is still running.
WMShell now signals to the launcher when a task's visibility changes.
The task bar takes the visibility into account to know if a running task
is, in fact, minimised.

Test: atest NexusLauncherTests:DesktopTaskbarRunningAppsControllerTest
Flag: com.android.window.flags.enable_desktop_windowing_taskbar_running_apps
Bug: 333872717
Change-Id: Iaff6b1240d354bb3c4de8e4884948acf9bf40112
2024-05-23 20:59:16 +01:00
Luca Zuccarini 50a7190efa Merge "Update alpha animation for All Apps / Divider icon." into main 2024-05-13 13:32:23 +00:00
Jon Miranda c7e5813d97 Update alpha animation for All Apps / Divider icon.
This prevents the icons from lingering as the spring settles for the scaling reveal
home animation.

Bug: 298089923
Test: go from app to home, from overview to home, vice versa
Flag: ACONFIG com.android.launcher3.enable_scaling_reveal_home_animation DISABLED
Change-Id: I6bc3f0fcbdc63f0c064d425c8ebaf62a20451ac1
2024-05-09 13:34:46 -07:00
Anushree Ganjam c9eda41c31 Hardcode the className instead of class.getSimpleName().
class.getSimpleName() causes issues with obfuscation.

Bug: 332171918
Test: Manual
Flag: NA
Change-Id: I5119a7ba0e4e27d8745c94df67881934fed282a4
2024-05-08 12:31:24 -07:00
Gustav Sennton 52a8b7e24b [Desktop Mode] Show indicators under Taskbar app icons for running apps
In Desktop Mode we show running Desktop apps in the Taskbar. With this
change we also show an indicator under the app icon for each such
running app.

Bug: 332504528
Test: manual
Test: DesktopTaskbarRunningAppsControllerTest
Flag: ACONFIG com.android.window.flags.Flags.enableDesktopWindowingTaskbarRunningApps DEVELOPMENT
Change-Id: If0906dab8ad0bd8a78d93a4e99db47550e763bed
2024-04-26 15:29:00 +00:00
Jagrut Desai e6f349b3dd Adjusting Taskbar Icons for larger display size
Bug: 323948193
Test: Manual
Flag: NONE

Change-Id: I0bdfcaebf3de050ac850fe42c061c82ffebdb7c2
2024-04-04 14:01:57 -07:00
Jeremy Sim 742630c2f8 Reparent folders and app pairs
Previously, app pairs and folders shared a common data model, FolderInfo. Now we need to separate them, so a new type, CollectionInfo, will serve as the parent of both types.

Bug: 315731527
Fixes: 326664798
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual, unit tests to follow
Change-Id: Ia8c429cf6e6a376f2554ae1866549ef0bcab2a22
2024-03-29 15:39:28 -07:00
Saumya Prakash ba04c0c1dc Remove the tint from taskbar themed icons for dark mode.
We remove the added tint to taskbar themed icons to match how they look
in the hotseat on launcher home screen specifically for dark mode.

Fix: 323952706
Test: Turn on themed icons and dark mode. Compare app icons in taskbar
and in hotseat
Flag: N/A

Change-Id: I4dfe352ca17ef5537e48fcc3cff66ba4fd4f603a
2024-02-28 23:07:07 +00:00
Andy Wickham 0ae51bcdb9 Extract TaskbarViewCallbacks to a separate class + factory.
Also log long presses on the taskbar all apps button.

Test: Manual
Flag: NA
Change-Id: Id2bf194f09007bfccff9f83162e4bcfb6562580f
2024-02-13 18:51:48 -08:00
Tracy Zhou a009a5e82e Update task bar height update logic to consider screen rotation cases
When home screen rotation is enabled, instead of updating taskbar height (assuming that folded task bar is always on the bottom of screen display), we should update taskbar width instead.

Bug: 313371759
Test: try out both folded and unfolded 3-button and gesture nav modes, enable home rotation, make sure all the nav buttons are functional and visible when they should be.
Change-Id: I16f53d9e9c3cd0229fc50b73613b032a96322b97
2024-01-19 16:58:03 -08:00
Saumya Prakash b617daa6c6 Merge "Add standalone taskbar edu tooltip for the pinnable taskbar feature" into main 2024-01-18 01:41:14 +00:00
Saumya Prakash dddebdff0c Add standalone taskbar edu tooltip for the pinnable taskbar feature
This change adds in a standalone edu window for the pinnable taskbar
feature. The reason for the change is to educate users about pinnable
taskbar to those who have already seen taskbar edu before.

Fixes: 302589411, 300161174
Test: Went through taskbar education taskbar with the flag on and off.
Check that the standalone pinning taskbar only shows up if previous
taskbar education was already completed.
Flag:  ACONFIG com.android.launcher3.enable_taskbar_pinning DISABLED

Change-Id: I03a5fb05ae5f15892421a57355f6d503de56d9fd
2024-01-17 21:23:30 +00:00
Jagrut Desai a3d3c06967 Taskbar Pinning Animation Improvements
Test: Manual
Bug: 312178646
Flag: ACONFIG com.android.launcher3.enable_taskbar_pinning DISABLED

Change-Id: I708127be8301a61994168f780474c75be726815d
2024-01-05 12:12:12 -08:00
Tracy Zhou 95c4c8d268 Fix crash from folding/unfolding
This is fundamentally caused by the phone device profile not having task bar related attributes, which crashes in icon alignment animation. We had resolved it by skipping this animation based on isPhoneMode check. However, we passed in launcherDp instead of taskbarDp (from TaskbarActivityContext) which doesn't always have the most up to date information in race conditions (e.g. repetitively fold/unfold)

Fixes: 311431054
Test: repetively fold/unfold, make sure it doesn't crash
Change-Id: I65f600112da4123d337b3f59a2fe6dd13ac7af74
2023-12-14 18:39:42 -08:00
Tracy Zhou 9ccd5d4257 Introduce taskbar_phone_size
In small screen, we use 48dp for nav bar height, while it's 60dp for task bar.

Bug: 230395757
Test: manual
Change-Id: Ia7083a1b2246981466e1163404c63b645a6bf5b1
2023-12-13 00:38:15 -08:00
Tony Wickham 18551f29fe Remove ENABLE_TRANSIENT_TASKBAR and long-press stash support
Flag: NA
Test: manual, TaplTestsTaskbar, TaplTestsPersistent, TaplTestsTransient
Fixes: 270395798
Change-Id: I4ecf5ddcd1206e846538175c684043c5e065fd5d
2023-12-06 22:13:10 +00:00
Pat Manning 4c5ea5fd02 Show taskbar pinning dialog on right-click.
Fix: 308768942
Test: Manual.
Flag: ACONFIG com.android.launcher3.enable_taskbar_pinning DISABLED
Change-Id: I37e49452fada944186c8300562061bf9650a0d0a
2023-11-21 14:51:15 +00:00
Jagrut Desai 2c7556d4c7 Merge "Fix RTL issue with all apps meta icon" into main 2023-11-13 20:13:34 +00:00
Jagrut Desai 1ab8da20f5 Fix RTL issue with all apps meta icon
Test: Presubmit, Manual
Bug: 309453796
Flag: NONE
Change-Id: I5d8bda2c48a0815d7005a0727f67f871f75d4f0f
2023-11-10 09:44:51 -08:00
Jagrut Desai 90dd098c85 Migrate ENABLE_TASKBAR_PINNING to aconfig flag
Test: Manual, Presubmit
Bug: 265437087
Flag: ACONFIG com.android.launcher3.enable_taskbar_pinning DISABLED

Change-Id: I4800230c04feceefa2398e189c493c8c4a7b2fe5
2023-11-09 23:20:03 +00:00
Tracy Zhou f2d7be1cec Make enableTaskbarNoRecreate() depend on ENABLE_TASKBAR_PINNING and ENABLE_TASKBAR_NAVBAR_UNIFICATION
We want to turn on the flag when either of the dependent features is on

Bug: 299193589
Test: N/A
Change-Id: I7b48ff2be0cf9da3b6bc00d75370fa585ce4140d
2023-11-08 14:52:58 -08:00
Tracy Zhou 6fe69f5a2a Migrate HIDE_NAVBAR_WINDOW to aconfig and rename is to enable_taskbar_navbar_unification
Bug: 309671494
Test: N/A
Change-Id: If35d807c17351146029498a876a055384eff3c2f
2023-11-07 13:51:38 -08:00
Jagrut Desai 2d9f2c1cec Merge "Animate aways Notification Dots for Taskbar Pinning Annimation" into main 2023-11-03 02:02:49 +00:00
Jagrut Desai 47bf322e21 Animate aways Notification Dots for Taskbar Pinning Annimation
Test: Manual
Bug: 308460959
Flag: LEGACY ENABLE_TASKBAR_PINNING DISABLED
Change-Id: Ic16881c05c70ed717dc63131d94ece805c39f6fc
2023-11-02 17:39:37 -07:00