Commit Graph

713 Commits

Author SHA1 Message Date
Saumya Prakash
7adea11bfa Report lower insets for SUW if expressive theme enabled
This change addresses the desire to lower the footer for SUW content if
the expressive theme is enabled in SUW. This would remove the extra gap
at the bottom of the screen.

Fix: 409897759
Test: Enable expressive theme and relaunch SUW. Check that the bottom
buttons are closer to the bottom edge of the screen.
Flag: EXEMPT bugfix

Change-Id: I7a4961549ec888e57c89a564028843f1e8c0000b
2025-05-23 20:06:14 +00:00
Treehugger Robot
7103e478b3 Merge "Register KEY_GESTURE_TYPE_RECENT_APPS[_SWITCHER] in the quickstep" into main 2025-04-29 04:53:12 -07:00
Li Lin
6e718cffb1 Merge "Show Growth Framework nudge driven by nudge payload." into main 2025-04-28 17:01:20 -07:00
Li Lin
0f82810cdb Show Growth Framework nudge driven by nudge payload.
Current implementation of the nudge will show at default position
(bottom left corner) and may extended to other position in the future.
More detail at: go/al-growth-framework-nudge

Bug: 398033012
Test: NudgeControllerTest.*
Flag: com.android.launcher3.enable_growth_nudge
Change-Id: Idff9d62a5b1b26aa1cfbef5817f5425f8e94b7c9
2025-04-28 13:59:30 -07:00
Steven Ng
776e157934 Register KEY_GESTURE_TYPE_RECENT_APPS[_SWITCHER] in the quickstep
Before this change, the overview keyboard shortcut pipeline is as follow:
PhoneWindowManager (System server)
StatusBarManagerService (System server)
CommandQueue (SysUi)
Recent (SysUi)
OverviewProxyRecentsImpl (SysUi)
TISBinder (Quickstep launcher)
This cross-process communication chain through the system server, SysUI, and quick step launcher created significant challenges. Firstly, it complicated efforts to pass additional data to the key gesture handler. Secondly, it was less performant than the streamlined new approach. Lastly, the StatusBarManagerService's responsibilities were ambiguous because it also handled unrelated tasks, such as overview, wallet.

Flag: com.android.window.flags.enable_key_gesture_handler_for_recents
Test: atest NexusLauncherTests:com.android.quickstep.input.QuickstepKeyGestureEventsHandlerTest
Test: atest NexusLauncherTests:AllAppsActionManagerTest
Bug: 406452076
Change-Id: I2899e49c8c0a44c6ad58228db1c9eb587daf68c4
2025-04-28 17:19:35 +00:00
Sunny Goyal
07cfe33533 Renaming CONTAINER_PREDICTION to CONTAINER_ALL_APPS_PREDICTION
This avoids confusion with CONTAINER_HOTSEAT_PREDICTION

Bug: 390572144
Flag: EXEMPT refactor
Test: Presubmit
Change-Id: I0e110e2884dd0566bd2e621e60e7458605b9bad7
2025-04-28 09:30:12 -07:00
Jordan Silva
af7016c3ef Merge "Make repeated recents button double tap return to previous task" into main 2025-04-28 04:36:13 -07:00
Ats Jenk
963df5dca3 Merge "Rename method to set bubble bar expanded state [1/N]" into main 2025-04-25 14:21:49 -07:00
Alex Chau
abb2133bf1 Make repeated recents button double tap return to previous task
- With grid only Overivew, we can no longer rely on positioning in RecentsView to returning to previous task by using nextTaskView
- After a double tap, on the 2nd TOGGLE command, record the task Ids that this double tap comes from as ToggleInfo
- In the next double tap, if there is a ToggleInfo within last 5 second, return to the previous task
- Also make double tap from home picks up the first grid task instead of a Desktop task
- Simplified special handling when there is only large tile to always fallback to `previousTaskView` when there are no `nextTaskView`. This does not affect cases where there are no Desktop tasks (as previousTaskView will be null).

Fix: 411029836
Test: OverviewCommandHelperTest
Flag: com.android.launcher3.enable_grid_only_overview
Change-Id: I1caa6b3db1bfd2c6203d4f1c5bf3e50c1b3c53c3
2025-04-25 18:24:47 +01:00
Ats Jenk
416f80dc82 Rename method to set bubble bar expanded state [1/N]
Rename methods in BubbleBarViewController and BubbleBarView that set the
expanded state.
These will update the state using an animation.
Update the name to highlight this.
Enables us to create methods to set the state without animation.

Bug: 357115534
Test: refactor, presubmit
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I9d2c46ab1640ab0b19f54103ab8cdb37a5d19dbb
2025-04-25 10:20:41 -07:00
Anushree Ganjam
99ba7b61be Merge "Move NavHandleLongPressHandler to Dagger." into main 2025-04-24 16:29:24 -07:00
Uwais Ashraf
a6f5fda29e Merge "Add tracking of visibleTasks to enable more reliable request creation." into main 2025-04-24 08:26:41 -07:00
Uwais Ashraf
d99cbd8b41 Add tracking of visibleTasks to enable more reliable request creation.
Enforce synchronisation of parallel operations (e.g. updating task requests and tasks map MSF)

Fix: 395717365
Fix: 395331030
Fix: 410825381
Fix: 407558302
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: TasksRepositoryTest
Test: ABTD run for black thumbnails (OverviewImageTest, OverviewSplitTaskImageTest, OverviewMenuImageTest)
Test: ABTD run for memory metrics
Change-Id: Ib21487361b3e877170acfcdfed8d095bf1424061
2025-04-24 09:57:10 +00:00
Shamali Patwa
d83ecd4c44 Merge changes from topic "dwb-refactor-domain" into main
* changes:
  Move app timer in the taskContentView behind a refactor flag.
  Change task content view to be a constraint layout.
  Extract out timer text specific utility from the dwb view
  Add a ui state for the app timer toast and add a mapper function for it
2025-04-23 19:49:38 -07:00
Jon Miranda
a19e4e2063 Switch taskbar overflow flag to lse_desktop_experience
Both flags are in Nextfood, so there will be no change to
user experience.

Bug: 368119679
Bug: 375627272
Test: TaskbarOverflowTest
Flag: com.android.window.flags.enable_taskbar_overflow
Change-Id: Ie3ef3bd49e078f5657bd069bc92c5a48a136e7cb
2025-04-23 15:20:04 -07:00
Treehugger Robot
59e208c28e Merge "Moving various launcher binding logic, outside LauncherModel" into main 2025-04-23 12:32:54 -07:00
Shamali P
a7b69dc3d5 Extract out timer text specific utility from the dwb view
Bug: 405359383
Flag: com.android.launcher3.enable_refactor_digital_wellbeing_toast
Test: Unit test for the util
Change-Id: Ic7444e3e874e3b9870894cd16f7259f6fa1197c6
2025-04-23 09:43:36 -07:00
Shamali P
1ce7abb6fb Add a ui state for the app timer toast and add a mapper function for it
Bug: 405359383
Flag: com.android.launcher3.enable_refactor_digital_wellbeing_toast
Test: Unit test for mapper
Change-Id: I35271ff33c8610d79674438fb18a3d851eb3d2d3
2025-04-23 09:43:23 -07:00
Will Osborn
05e4134b73 Merge "Pass display id to startRecentsAnimation" into main 2025-04-23 02:23:40 -07:00
Anushree Ganjam
93b2c414d4 Move NavHandleLongPressHandler to Dagger.
Helps us to delete ResourceBasedOverride class.
Delete "nav_handle_long_press_handler_class" resource from config.

Bug: 361850561
Test: Presubmit
Flag: EXEMPT dagger
Change-Id: I3ea307c8da95756ade84dc9c3210dacdeccf9a51
2025-04-23 00:35:57 +00:00
Treehugger Robot
e7cb23a501 Merge "Fix TaskbarOverflorTest failures with multi-desks on" into main 2025-04-22 16:30:44 -07:00
Sunny Goyal
c078d6554c Moving various launcher binding logic, outside LauncherModel
This brings the BgCallbacks closer to a repository pattern making is easier to switch eventually

Bug: 390572144
Flag: EXEMPT refactor
Test: Updated AsyncBindingTest to use real ModelCalbacks
Change-Id: I9c932b00ea8ac7330473b9c0f5d778453fe7a390
2025-04-22 14:12:17 -07:00
Treehugger Robot
055a15a214 Merge "Get DesktopVisibilityController via dagger in TopTaskTracker" into main 2025-04-22 11:15:22 -07:00
Will Osborn
50a1b9089c Pass display id to startRecentsAnimation
Test: local + unit
Bug: 392703464
Flag: com.android.launcher3.enable_overview_on_connected_displays
Change-Id: I7eb65a1d6b98703a19432b9fa24c3c4b262aa045
2025-04-22 17:46:01 +00:00
minch
d5d15c493f Fix TaskbarOverflorTest failures with multi-desks on
Bug: 362720309
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Change-Id: I91621d4c71d1ab28fb4b17ab62ba6c8ff43cb7d2
2025-04-22 16:10:57 +00:00
minch
4b694fa2c4 Get DesktopVisibilityController via dagger in TopTaskTracker
Bug: None
Test: m
Flag: EXEMPT refactor
Change-Id: I5adcf67be8a1afb6902820e30eec20630285f413
2025-04-22 15:33:35 +00:00
Ajinkya Chalke
c96b9adf79 Add unit tests for KQS CD changes
Bug: 382762871
Bug: 382769617
Test: KeyboardQuickSwitchControllerTest and TaskbarOverflowTest
Flag: EXEMPT adding tests
Change-Id: I053af97774230a9bc3d21ff8e1e328344519f728
2025-04-22 15:07:37 +00:00
Wen-chien Wang
c496829044 Merge "pin-shortcut: Add tests to verify the behavior" into main 2025-04-22 03:56:09 -07:00
Anushree Ganjam
291438aaec Move StatsLogManager to Dagger
Helps us to delete ResourceBasedOverride class.
Delete "stats_log_manager_class" resource from config.

Delete unused "app_launch_tracker_class" resource from config.

Bug: 361850561
Test: Presubmit
Flag: EXEMPT dagger

Change-Id: I71ed7ffca62e7c74d4ee0d0b4c045ffed9599cfe
2025-04-21 19:13:22 +00:00
Wen-Chien Wang
ed04537faa pin-shortcut: Add tests to verify the behavior
Bug: 375648361
Test: This is the cl for tests
Flag: EXEMPT tests
Change-Id: I7209cebcc7e7c34d5f1362121fea5e062e3170de
2025-04-19 07:34:33 +00:00
Jorge Gil
82ad2a0387 Desks: Let split-select and recents use a combined WCT
Flag: com.android.window.flags.enable_multiple_desktops_backend
Bug: 409639676
Test: enter split from desktop handle menu, verify it enters split
select

Change-Id: Ib215ce9666fb4a07101ff32a78aebef0c8198749
2025-04-18 23:40:26 +00:00
Treehugger Robot
82f07a82ff Merge "Improve TaskbarRecentAppsController on multi-display" into main 2025-04-18 16:05:10 -07:00
Mykola Podolian
daf5d90a37 Merge "Stash the taskbar on every bubble bar expansion" into main 2025-04-18 14:51:36 -07:00
mpodolian
04bd5b49ea Stash the taskbar on every bubble bar expansion
Added logic to enable BubbleBarView to  notify BubbleBarViewController
of expanded state change. Also updated all the test that uses
BubbleBarView to pass empty Controller.

Fixes: 411304392
Flag: com.android.wm.shell.enable_bubble_bar
Test: Manual. Go to any app. Swipe up to show the taskbar. Trigger any
bubble. Observe taskbar is stashed on bubble bar expanded.

Change-Id: I88ad167eb0ed444629716df3672bbb06ca8adcc4
2025-04-18 11:16:40 -07:00
Toni Barzic
5207024240 Improve TaskbarRecentAppsController on multi-display
Fixes two issues:
1.  TaskbarRecentAppsController was reflecting tasks from the first
    DesktopTasks it found in the RecentsModel - this does not work in
    multi-display environemnt where each display may have a separate
    DesktopTask. The CL updates the logic to gather tasks from all
    available DesktopTasks.
2.  RecentsModel supported a single recent apps changed listener. In
    multi-display, each display has its own taskbar, and thus its own
    TaskbarRecentAppsController, each of which needs to listen for
    RecentsModel changes. This meant that second taskbar that registered
    a listener was clearing out the listener set by the first taskbar.

Bug: 406183146
Flag: com.android.window.flags.enable_taskbar_connected_displays
Test: On multidisplay, open apps on different displays. Taskbar reflects
      all running desktop tasks regardless of the display on which
      they're open.
Change-Id: I1dd750e5bcd58d8d90b7b859053e2616c7d18441
2025-04-17 16:32:12 -07:00
Treehugger Robot
efd9b79a4c Merge "Remove feature flag for OverviewCommandHelper timeout" into main 2025-04-17 14:33:39 -07:00
Sunny Goyal
452b9855de Merge "Creating a dumpmanager class to allow dumping state from singleton objects" into main 2025-04-17 13:38:19 -07:00
Fengjiang Li
dda14192b7 Merge "[Taskbar] Add taskbar root view on per-window-thread" into main 2025-04-17 12:51:01 -07:00
Sunny Goyal
54e5ed0d36 Creating a dumpmanager class to allow dumping state from singleton objects
Bug: 410927105
Flag: EXEMPT refactor
Test: atest DumpManagerTest
Change-Id: Idcd1c74b1edf7a79ec8e4fa91676e617afa04907
2025-04-17 11:05:20 -07:00
Jordan Silva
5713bf2ef0 Remove feature flag for OverviewCommandHelper timeout
Fix: 409608875
Flag: EXEMPT Flag removal.
Test: OverviewCommandHelperTest.kt
Change-Id: I094eed94620665b8b089716b2cfe15773243e573
2025-04-17 08:36:06 -07:00
Fengjiang Li
d952514e04 [Taskbar] Add taskbar root view on per-window-thread
1. Add LooperExecutor in TaskbarManager
2. Add taskbar root view to window in that LooperThread if flag is on

Bug: 404636836
Test: presubmit
Flag: com.android.launcher3.enable_taskbar_ui_thread
Change-Id: I45c6db760b1aafbd186d433ae6f15292f7fe5b43
2025-04-16 19:03:53 -07:00
Sunny Goyal
613db2b609 Removing flag enable_smartspace_removal_toggle
Test: Presubmit
Flag: EXEMPT cleanup
Bug: 303471576
Change-Id: Iae8cc3afbf15c66612589fd1e19377e4339af7fc
2025-04-16 10:54:45 -07:00
Treehugger Robot
14a18dbf9b Merge "Fix launcher tests in studio" into main 2025-04-15 13:05:00 -07:00
Dave Mankoff
396d69956b Fix launcher tests in studio
Fixes: 410874290
Flag: EXEMPT small fixes for gradle
Test: test_gradle_build.sh
Change-Id: Iab8ad757d11e1d0ba5f85a7063e2d087ffc38d2b
2025-04-15 19:05:48 +00:00
Treehugger Robot
d1c2f620a5 Merge "Disable overlay on Desktop tasks to match existing behaviour." into main 2025-04-15 11:25:02 -07:00
Steven Ng
c5e8d1a929 Merge "Use SysUi focus display ID as the source of truth" into main 2025-04-15 10:11:20 -07:00
Uwais Ashraf
dfef467212 Disable overlay on Desktop tasks to match existing behaviour.
Fix: 406931344
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: TaskViewModelTest#taskOverlayDisabled_when_OverlayIsEnabledForVisibleDesktopTask
Change-Id: Iadf6946e5eb67dc422c20f91f4395baf22c7ed57
2025-04-15 15:29:03 +00:00
helencheuk
f4d8a9d3a2 [Action Corner] Handle overview action in launcher
Add a new command type "TOGGLE_OVERVIEW_PREVIOUS" to toggle between overview and the previous task or homepage.
Renamed the existing command types to make them more precise

Bug: 409036363
Flag: com.android.systemui.shared.cursor_hot_corner
Test: OverviewCommandHelperTest
Change-Id: I7bab39adb0c933e16ac222fafc8be3f60fe36cc1
2025-04-15 15:08:54 +01:00
Steven Ng
8cb1ae879b Use SysUi focus display ID as the source of truth
For key gesture events received in SysUi & Launcher, we will use the SysUi tracked display Id as the source of truth.
The KeyGestureHandler mechanism will be kept because it has less redirection compare to the existing pipeline.

Bug: 406452076
Test: atest NexusLauncherTests:QuickstepKeyGestureEventsHandlerTest
Test: atest NexusLauncherTests:AllAppsActionManagerTest
Test: atest NexusLauncherOutOfProcTests:com.google.android.apps.nexuslauncher.TaplTestsNexus
Test: Verfiy manually that meta key event triggered all apps if the display focused is the default display.
Flag: com.android.window.flags.enable_key_gesture_handler_for_recents
Change-Id: I032a44b903e4e49e85c2a40a1e0bdc49ef8d86b0
2025-04-15 12:51:05 +01:00
Treehugger Robot
bb2b582e7f Merge "Injrect WindowContext into RecentsWindowManager" into main 2025-04-15 02:22:07 -07:00