Commit Graph

688 Commits

Author SHA1 Message Date
Tony Wickham
41b1c52c7f Remove IME-specific touch passthrough for Taskbar
It doesn't seem necessary anymore (and anyway, existing cases like
Taskbar being stashed while IME is showing handle this as well).
Removing the specific block fixes a bug where touches were going
to the underlying app even though Taskbar window is fullscreen
while editing a Folder name.

Fixes: 400859085
Test: TaskbarInsetsControllerTest
Flag: EXEMPT bugfix

Change-Id: If30acd0b3b9c3fd0b29b94ca963beb1c70162416
2025-05-01 16:43:31 +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
Adnan Begovic
7f1ba2e7e7 Merge changes from topic "launcher-executors" into main
* changes:
  launcher3: Implement ExecutorsModule
  launcher3: Introduce executors modules.
2025-04-14 15:55:58 -07:00
Shamali Patwa
310b205de2 Merge changes from topic "dwb-refactor-domain" into main
* changes:
  Map timer info to ui state in TaskViewModel
  Update getTaskUseCase to return timer info
2025-04-14 11:14:30 -07:00
Alex Chau
b4c6104925 Injrect WindowContext into RecentsWindowManager
- Also inject SystemUiProxy and RecentsModel
- Also creates a DesktopRecentsTransitionController to avoid crashing when launching desktop tasks
- Minor clean-up to use this instead of injected context in RecentsWindowManager

Bug: 408988616
Test: manual
Flag: com.android.launcher3.enable_fallback_overview_in_window
Flag: com.android.launcher3.enable_launcher_overview_in_window
Change-Id: I0691d5266f3eae1376ffadd6b29e3ec635b0354b
2025-04-14 18:23:12 +01:00
Sunny Goyal
46aa3ccdf6 Merge "Adding HomeScreenRepo to expose homescreen data as repository" into main 2025-04-14 09:27:37 -07:00
Adnan Begovic
3b0dd96093 launcher3: Implement ExecutorsModule
Implement the ExecutorsModule interface
to provide the necessary dependencies needed
for having injectable executors.

Bug: 407593767
Test: N/A
Flag: NONE - new module
Change-Id: I4a53fc6be31664b7a6fa907761ea93a2d0377f08
2025-04-14 09:16:57 -07:00
Alex Chau
62658b9d1b Merge "Migrate RecentsDisplayModel to PerDisplayRepository" into main 2025-04-14 06:13:57 -07:00
Shamali P
8fa26ebe5b Map timer info to ui state in TaskViewModel
Bug: 405359562
Flag: com.android.launcher3.enable_refactor_digital_wellbeing_toast
Test: Unit tests
Change-Id: I080e9c94a41c747210fa9621f913e43b9f584c29
2025-04-14 12:50:14 +00:00
Shamali P
b06f61a509 Update getTaskUseCase to return timer info
Bug: 405359952
Flag: com.android.launcher3.enable_refactor_digital_wellbeing_toast
Test: Unit tests
Change-Id: I8b3f5713a44d38dff6c01dbbb7d5fcbb61c2217b
2025-04-14 12:32:27 +00:00
Alex Chau
2c2088ed87 Migrate RecentsDisplayModel to PerDisplayRepository
- RecentsWindowManager/FallbackWindowInterface should be accessed through the respecitve REPOSITORY_INSTANCE or through Dagger
- RecentsDisplayModel is no longer needed as PerDisplayRepository manages lifecycle of all per-display objects

Fix: 410224937
Test: manual and presubmit
Flag: EXEMPT refactor
Change-Id: Iddfddbdcbe15be5075c038d98d02aa79ab55117b
2025-04-12 22:05:38 +01:00
Treehugger Robot
08a65bfd06 Merge "Use shell's SplitBounds class instead of our own" into main 2025-04-11 17:16:27 -07:00
Brandon Dayauon
b570514ee0 Merge "Add nudgeView to Taskbar.xml" into main 2025-04-11 16:28:59 -07:00
Sunny Goyal
040ff3a7bf Adding HomeScreenRepo to expose homescreen data as repository
Bug: 390572144
Test: Presubmit
Flag: com.android.launcher3.model_repository
Change-Id: If82a388a44d7a9c448f6eb4901c2acdb508ccfdc
2025-04-11 13:28:08 -07:00
Brandon Dayauon
1fc6f916d3 Add nudgeView to Taskbar.xml
Aiai will send a broadcast to Launcher and will animate the stashHandleView and nudgeView accordingly.
Verified on large screen device that transient taskbar is not affected as its not in scope at the moment.

bug:409121556
Test: manual - video in bug
Flag: com.android.launcher3.nudge_pill

Change-Id: I740e5d81dd008a230aa089f311d38bac665fc227
2025-04-11 13:24:22 -07:00
Alex Chau
45f4721a6e Merge "Clean-up enable_separate_external_display_tasks" into main 2025-04-11 10:12:48 -07:00
Alex Chau
60595d7037 Clean-up enable_separate_external_display_tasks
Fix: 409611251
Test: manual
Flag: EXEMPT flag removal
Change-Id: Ib0ab4f6d994ba30d68f3a31d88b4f681e8e9d718
2025-04-11 14:25:38 +01:00
Sergey Pinkevich
9bddbabc73 Merge "Relax condition for the OPEN change to be on top of transition" into main 2025-04-11 02:17:22 -07:00
Vinit Nayak
fdcfb61f1b Use shell's SplitBounds class instead of our own
* Previously we had duplicated classes because of some
launcher3 and quickstep package separation. That got refactored
so now we can conslidate to only use one class. Yay!

Bug: 254378592
Test: Compiles, manual
Flag: EXEMPT refactor

Change-Id: Ifea3358ac38c1d2881cb19bb88cf14ef9c0aaa29
2025-04-10 15:18:24 -04:00
Treehugger Robot
a2b5b589dc Merge "Register all apps key gesture event in quickstep launcher" into main 2025-04-10 09:57:21 -07:00
Steven Ng
28d37181eb Register all apps key gesture event in quickstep launcher
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: I654cdf527670fddc0bd6eb4d8cab18a9e1206ec1
2025-04-10 15:14:09 +01:00
Sam Cackett
bf69d6e6a5 Merge "Add TaskContentView wrapper to TaskThumbnailView" into main 2025-04-09 23:54:40 -07:00
samcackett
2244b633cc Add TaskContentView wrapper to TaskThumbnailView
- Keep TaskThumbnailViewDeprecated as-is
- Due to flag guarding and xml changes, added bottomright_snapshot id
- Remove redundant FrameLayout from task_header_view.xml and refactor
the view to handle alignment correctly
- Move feature flag logic to the state mapper
- Extract TaskThumbnailViewHeader logic and any related state out of
TaskThumbnailView and move to TaskContentView
- Use vertical LinearLayoutManager to hold the TaskThumbnailViewHeader
and TaskThumbnailView
- Rename TaskThumbnailViewHeader to TaskHeaderView. Rename xml and state
 similarly

This reverts commit df6dc455a7.
This reverts commit 714370a9bfb2e53738b0cd9958acd6540d8d649c.

Reason for revert: Reland previously reverted CL's with fixes

Fix: 408971730
Fix: 397889146
Fix: 401469907
Fix: 402277471
Fix: 403826044
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: TaskUiStateMapperTest & TaskContentViewScreenshotTest & TaskThumbnailViewScreenshotTest & TaskHeaderViewScreenshotTest & SwitchBetweenSplitPairsGesturalNavPortrait
Change-Id: I01758447ad1194ebbeab748113621b42f3384db8
2025-04-09 16:36:51 +01:00
Sergey Pinkevich
979b6f8df5 Relax condition for the OPEN change to be on top of transition
Bug: 403591045
Flag: com.android.window.flags.enable_desktop_app_launch_bugfix
Test: DesktopAppLaunchTransitionManagerTest

Change-Id: Ie54877b767148c9874de41d717b013b116c4823a
2025-04-09 12:20:36 +00:00
Graciela Wissen Putri
b6488e052c Add displayId to back event
This will allow core to determine which display the back event was
started from.

Flag: com.android.window.flags.enable_independent_back_in_projected
Bug: 401530192
Test: atest TaskbarNavButtonControllerTest
Change-Id: I181aae3e9f5009f99e6ce21092dd45caeeae20cc
2025-04-08 13:28:02 +00:00
Schneider Victor-tulias
8ae40731ff Merge "Fix Initialization exception when creating RecentsDisplayModel" into main 2025-04-07 15:21:59 -07:00
Daniel Andersson
aba807d57f Merge "desktop-exploded-view: Basic support for minimized tasks" into main 2025-04-07 13:23:45 -07:00