Commit Graph

127 Commits

Author SHA1 Message Date
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
Jagrut Desai 0214b921aa Revert "[omni] Handle touch slop for LPAA."
This reverts commit 49dc99abb0.

Reason for revert: Failing Nexus Launcher Tests

Change-Id: I145dadaef4ff1959b7e617d7b832150579145725
2024-05-24 21:06:07 +00:00
Holly Sun 49dc99abb0 [omni] Handle touch slop for LPAA.
Only handle touch slop when the taskbar is pinned (not isTransientTaskbar).

Bug: 335018496
Test: manual
Flag: legacy CUSTOM_LPAA_THRESHOLDS disabled
Change-Id: I4dc6dba473455b02208ef254c271a767bd7c8d42
2024-05-14 16:16:02 -07:00
Holly Sun 8b38295fb2 [omni] Dynamically configure timeout for LPAA.
Video: https://drive.google.com/file/d/1N7qOIolcSYM9n3z40FO9O6S_IdLJav9l/view?usp=sharing

Bug: 335018496
Test: manual
Flag: legacy CUSTOM_LPAA_THRESHOLDS disabled
Change-Id: I5b0f7cc7815ecd85c51254ad34f2be521c44795c
2024-05-14 12:42:28 -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 0eaf9ebdaa Remove references to FEATURE_PC and related Desktop classes in Launcher
Also clean up TaskbarRecentAppsController APIs

Flag: NA
Test: DesktopTaskbarRunningAppsControllerTest
Bug: 330551930
Change-Id: Ibd9c3d6aa1d5423b51a48ed0a972196752d5199a
2024-04-30 13:15:28 +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 da4ba9336e Merge "Reparent folders and app pairs" into main 2024-03-30 03:06:44 +00: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
Jagrut Desai bc657f64c3 Merge "Remove Taskbar Pinning menu when in three button navigation mode" into main 2024-03-27 16:46:53 +00:00
Jagrut Desai c6f09490f7 Remove Taskbar Pinning menu when in three button navigation mode
Test: Manual
Bug: 331167630
Flag: ACONFIG com.android.launcher3.enable_taskbar_pinning NEXTFOOD
Change-Id: I257d1d3c0b3b37ef639578d0ccc6ec8d23d3d266
2024-03-26 13:42:09 -07:00
Jeremy Sim b37faec287 Refactor how app pair icons draw
This changes (and cleans up) the way app pair icons are composed. Previously, the background and 2 icons were drawn individually and separately onto the canvas. Now, they are composed into a combined drawable first. This also allows the full icon drawable to be requested by external functions (which will be needed for display app pairs in folder previews).

Bug: 315731527
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Visually confirmed that app pairs loooks the same in all scenarios: rotation, disabled, themed, taskbar, pinned taskbar. Screenshot test to follow.
Change-Id: I7242e0c525ef578a54a06fb9137fcfc42c6f0e86
2024-03-25 16:43:40 -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
Jagrut Desai f5a27ac0c5 Fixing folder drawLeaveBehind() with Taskbar Pinning enabled
Test: Manual
Bug: 320579559
Flag: NONE
Change-Id: If0c7cb7cf8deb89868cb34c310c91fd0cf028643
2024-01-22 10:08:09 -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
Jeremy Sim 2987d95ba4 App Pairs: Implement Taskbar functionality
[App Pairs 8/?]

This CL adds taskbar functionality for app pairs:
- Ability to drag an app pair icon to Taskbar
- App pair launch from Home Taskbar
- App pair launch from Overview Taskbar
- App pair launch from in-app Taskbar

KNOWN ISSUES:
- Bug (b/315190686): if user is inside a running split pair and attempts to launch the same pair from an app pair icon on taskbar, Overview tiles get temporarily messed up (recoverable by leaving Overview)
- User can attempt to split with an app pair icon on the Taskbar. This should result in a "can't split with this" bounce animation on the SplitInstructionsView (to be implemented). Currently does nothing.

Bug: 274835596
Flag: ACONFIG com.android.wm.shell.enable_app_pairs DEVELOPMENT
Test: Manual
Change-Id: I5256547af236fc2deeb192d60bfe1f2b7ddc5647
2023-12-08 15:07:45 -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 2a350af739 Merge "Show taskbar pinning dialog on right-click." into main 2023-11-30 10:57:41 +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
Pat Manning 06ecd24ee3 Allow right-click of taskbar icons to launch long-click menu.
Fix: 290459491
Test: TaplTestsTaskbar#testOpenMenuViaRightClick
Flag: NONE.
Change-Id: Ide85f62e5b08d5261f15871e85d3250cc66d0919
2023-11-21 14:45:31 +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
Jagrut Desai 631b284836 Taskbar pinning animation with no recreate
Test: Manual, Visual
Bug: 265436799
Flag: LEGACY ENABLE_TASKBAR_PINNING DISABLED

Change-Id: I84a4d1efdb0bd4a0f856fa1f46b6489ef54a3841
2023-10-26 10:36:48 -07:00
Pat Manning 4c27e8c6f0 Migrate cursor feature flag to trunk stable flag.
Fix: 300054410
Test: TaplTestsTransientTaskbar, TaplTestsQuickstep
Flag: enableCursorHoverStates
Change-Id: I5c320e0fd2bdd2ed39b00b62b1399e163c3384e7
2023-10-20 12:17:36 +01:00
Jagrut Desai 6965fdd12a Always use Transient Taskbar All apps icon for taskbar pinning
Test: Manual, Visual
Bug: 265436799
Flag: ENABLE_TASKBAR_PINNING
Change-Id: I253f3b7f6b0c1d198ba7c9849e99f6cf4b89a006
2023-10-13 12:49:18 -07:00
Mady Mellor b604e71fe8 Merge "Fix bubbles taskbar scrim showing when notification panel is shown" into main 2023-09-21 01:25:07 +00:00
Mady Mellor b898a3c8d3 Fix bubbles taskbar scrim showing when notification panel is shown
TaskbarScrimViewController was previously unaware of visibility
changes that happened to taskbar outside of when the sysui state
flags changed. Additionally, isTaskbarVisibileAndNotStashing is not
a reliable signal as the visibility might be GONE even though taskbar
is about to animate to be visible (i.e. shade is showing and then
you swipe it back up -- taskbar scrim wouldn't appear because when
the sysuiStateFlags changed, taskbar visibility would still be 'gone'
at that point so the taskbar scrim wouldn't animate back when
the shade is swiped up).

To resolve this, I've added a callback to notify the scrim
controller of visibility changes and it'll update if needed.

Bug: 270634233
Test: manual - enable 3 button nav
             - have a bubble
             - go to overview
             - expand bubbles
             => observe that scrim appears over taskbar
             - swipe down shade
             => observe that scrim fades out
             - swipe shade up
             => observe that scrim fades in

Change-Id: Ibaae8efb90b4558d30795298570208a52b31efb4
2023-09-18 11:49:52 -07:00
Pat Manning c49d60b946 Migrate ENABLE_CURSOR_HOVER_STATES to aconfig
- Keeping FeatureFlags.ENABLE_CURSOR_HOVER_STATES for local testing until aconfig is available in FlagFlipper
- Still reference ENABLE_CURSOR_HOVER_STATES in tests as aconfig still can't be mocked

Bug: 300054410
Test: manual
Change-Id: Id385e8ee32ccf8b920b9b7f9cc620af32def589f
2023-09-14 11:08:02 +01:00
Brian Isganitis 0b9c0589b7 Add All Apps search icon variant behind flag.
Bug: 265170176
Test: https://b.corp.google.com/issues/265170176#comment15
Flag: ENABLE_ALL_APPS_SEARCH_IN_TASKBAR
Change-Id: I0f5fa4fbbab687d92435d299656b9c27d93525b4
2023-09-07 18:29:46 +00:00
Jagrut Desai d34fe6d60c Merge "Correcting Taskbar Icon Layout bounds when Taskbar Divider is present" into udc-qpr-dev 2023-08-18 04:16:36 +00:00
Jagrut Desai e6a895ed6c Correcting Taskbar Icon Layout bounds when Taskbar Divider is present
- Breakout CL part 2
- This is a breakout cl from ag/24272821 to make it more readable and atomic.
- This cl consist of change to correct the icon layout bound calculation when taksbar divider line is present in taskbar view.

Test: Manual, Visual
Bug: 265170176
Flag: ENABLE_TASKBAR_PINNING
Change-Id: I259faf2cc0aa302b83337d104c4820885b925a6a
2023-08-16 13:50:08 -07:00
Jagrut Desai 579188aee0 Refactor taskbar divider view to IconButtonView
- Breakout CL part 1
- This is a breakout cl from ag/24272821 to make it more readable and atomic.
- This cl consist refactoring of Taskbar Divider Line to be using IconButtonView.

Test: Manual, Visual
Bug: 265170176
Flag: ENABLE_TASKBAR_PINNING
Change-Id: I6719dd568986dce7cf9cdf0f287c3f079fd35ba6
2023-08-16 13:11:14 -07:00
Pat Manning da69661add Show tooltips on cursor hover of taskbar icons.
Fix: 250092437
Test: TaskbarHoverToolTipControllerTest
Flag: ENABLE_CURSOR_HOVER_STATES
Change-Id: Ia0463518d13b313b354328078685930215fb7636
2023-07-14 13:42:30 +01:00
Jagrut Desai 2d5bb34b6b Merge "Set AccessibilityPaneTitle for taskbar view" into udc-dev 2023-06-09 22:26:39 +00:00
Jagrut Desai 78ddf47150 Set AccessibilityPaneTitle for taskbar view
we need to set pane title for taskbar view so accessibility service knows to focus/unfocus on it upon it appearing and disappearing

Test: Manual
Bug: 284081291
Flag: Not needed
Change-Id: I5404c97bdc3e1d3308942cd907e7f7701a04bee3
2023-06-08 17:08:40 -07:00
Jon Miranda 95f4472ba9 Update taskbar paddings/sizes to match spec.
Bug: 282798528
Test: manual with screenshots
Change-Id: I00c646d9cd11a9015e14f8311ba2ff233d8321ac
2023-06-07 11:19:50 -07:00
Jagrut Desai 1c9c6d0ea9 Design review updates for Taskbar Pinning
Changes:

- icon allignment animation for taskbar diviver view
- taskbar divider background color according to spec.

Test: Manual
Bug: 265170176
Flag: ENABLE_TASKBAR_PINNING
Change-Id: Ief45e48f4fc9f9b4cc30124c4c93cd3c5a880a33
2023-05-01 14:57:54 -07:00
Jagrut Desai c6d625b8db Exposing functionality to pin Taskbar from TaskbarDividerPopupView.
This CL allows user to long press on Taskbar divider view to bring up divider popup view. It also included functionality of allowing user to turn on always show taskbar from the divider popup view.

Test: Manual
Bug: 265436055
Bug: 265434718
Bug: 265434902
Bug: 265434705
Flag: ENABLE_TASKBAR_PINNING

Change-Id: Ied54d718483a9b06b053d68988e5c294a786002a
2023-04-20 22:04:21 -07:00
Vinit Nayak f00760ac23 Prevent taskbar on phone from crashing
* Update code behind flag to work with transient taskbar
* We explicitly set the mDestroyed flag to false in
TaskbarActivityContext because it gets set to true when
the flag is on, but nothing resets it unless it gets
recreated normally.

Bug: 274517647
Flag: persist.wm.debug.hide_navbar_window
Test: Enable flag and verify no crash
Change-Id: I9a149ffb47a10efedfc9dff8399d12d4c1a31553
2023-04-13 14:33:17 -07:00
Jon Miranda 04f051045c Allow grids to specify if we should start align taskbar in 3 button
nav.

Bug: 259712417
Test: check layout on tablet
      check layout on multi_display devices

Change-Id: I282f51e5d76a30e9ad9d8c52d03d4853e965d65a
2023-04-05 10:29:51 -07:00
Jon Miranda 156ff34f35 Align taskbar so that it does not overlap with nav buttons.
Fixes: 275510698
Bug: 259712417
Test: View device where taskbar should be start aligned
      Update Display size to make everything bigger
      Observe that taskbar icons never overlap nav buttons
Flag: ENABLE_TRANSIENT_TASKBAR true

Change-Id: I246374518f21c4b92d3e02e5582c929a471d9305
2023-03-29 21:04:03 +00:00
Jon Miranda 9c478b6c29 Add taskbarIconSize to GridOption/DisplayOptions
- Renamed variables to make it more clear what they represent
- DeviceProfile will be source of truth for taskbar
  sizes

Bug: 265144213
Test: phone, multi-display, tablet
Change-Id: Id9c19d15a65894fd7645e0f876a4b6527b713c34
Flag: ENABLE_TRANSIENT_TASKBAR=true
2023-03-24 12:29:11 -07:00
Tony Wickham 2b8b47952f Merge "Handle swipe down on taskbar to stash" into tm-qpr-dev 2023-03-23 18:54:09 +00:00
Tony Wickham c73db73a79 Handle swipe down on taskbar to stash
- Moved all touch-to-stash logic to new TaskbarStashViaTouchController
  (handles both tap outside to stash instantly as well as swipe down
  inside to stash after letting go)
- This is a TouchController on TaskbarDragLayer, so it intercepts
  touches from TaskbarView before icons can be dragged during swipe down

Test: swipe up to invoke transient taskbar in an app, swipe down or
touch outside to stash
Flag: ENABLE_TRANSIENT_TASKBAR=true
Fixes: 246631710

Change-Id: I5cf64848bba34ad32fcc80a93fb4f79ebd2c10a7
2023-03-23 15:13:52 +00:00
Tony Wickham 0165aa82c6 Merge "Update folder leave-behind color for taskbar" into tm-qpr-dev 2023-03-21 16:38:46 +00:00
Tony Wickham ec6fd6ffb5 Update folder leave-behind color for taskbar
Test: open folder in light theme and dark theme
Fixes: 265828742
Change-Id: Ib544ab85dad16c203917ae02f924650e8a5bbc6f
2023-03-16 18:13:20 +00:00
Tony Wickham 08ea122c79 Fix launcher <-> taskbar dark themed icons background color
- Moved colors to final in TaskbarViewController (since controllers are
  recreated on theme change)
- Clarified some variable names
- Animate from progress 1 to 0 instead of vice versa, since 0
  corresponds to launcher's theme icon color which is what the alignment
  animation is going towards

Test: in gesture nav with dark themed icons in hotseat, go to overview
and ensure smooth transition to ligher themed background; return home
and ensure reverse transition
Flag: none
Fixes: 271651337

Change-Id: I4451f995a3e79e512c59a834051f601ead70ff87
2023-03-16 16:04:50 +00:00
Jon Miranda 0fe7e089ca Merge "Align taskbar to the left/right in 3 button nav for certain devices." into tm-qpr-dev 2023-03-09 22:33:28 +00:00