Commit Graph

809 Commits

Author SHA1 Message Date
Treehugger Robot
3eed388766 Merge "Add missing nullability checks for AbsSwipeUpHandler.mRecentsView" into main 2025-06-04 14:21:53 -07:00
Schneider Victor-Tulias
053d45170d Add missing nullability checks for AbsSwipeUpHandler.mRecentsView
Flag: EXEMPT bug fix
Fixes: 422239562
Test: AbsSwipeUpHandlerTestCase.testRecentsViewNullability
Change-Id: I0e2ac2d14bf8ee6130e1349d3c776df0c46fe256
2025-06-04 14:05:53 -04:00
Brian Isganitis
1352955035 Merge "Use displayId from sandbox context." into main 2025-06-03 13:26:13 -07:00
Jagrut Desai
12cdeb2fe2 Merge "Fix Hotseat flashing during DW to home transition" into main 2025-06-03 13:06:23 -07:00
Brian Isganitis
a2c2cf6c26 Use displayId from sandbox context.
This matches the default display.

Flag: TEST_ONLY
Test: TaskbarOverflowTest
Bug: 415326979
Change-Id: If8edf46c16cd10105587ced5dfff316d08bbf2fd
2025-06-02 17:06:28 -04:00
Treehugger Robot
cb6b287f16 Merge "Fix TaskbarAutohideSuspendControllerTest with grant_manage_key_gestures_to_recents enabled" into main 2025-06-02 12:13:45 -07:00
Jagrut Desai
b5d2f3ee7f Fix Hotseat flashing during DW to home transition
Problem: upon exiting the deesktop mode we were getting change in recents tasks which we were commiting to ui and that resulted in hotseat flashing.

Solution: since layout transition is only in use while we are in desktop windowing mode, we will only need to change icon layout bound while we are in desktop mode and not when we are exiting.

Test: Manual, Presubmit
Bug: 417696108
Bug: 415700104
Flag: EXEMPT bugfix
Change-Id: Ibcf65df49e7b48312a27d2750d3d0c6c5d392006
2025-06-02 10:30:58 -07:00
Steven Ng
38ff87fca6 Fix TaskbarAutohideSuspendControllerTest with grant_manage_key_gestures_to_recents enabled
Problem:
The framework prevents a key gesture handler from being re-registered by the same process ID. In `TaskbarAutohideSuspendControllerTest`, we observed two calls to `QuickstepKeyGestureEventsManager#registerAllAppsKeyGestureEvent`. The first call originated from TouchInteractionService (as expected). The second, however, came from a new TaskbarManager instance created within `TaskbarbarUnitTestRule`. This occurs because `TaskManager#recreateTaskbarForDisplay` triggers `AllAppsActionManager#isTaskbarPresent`, which ultimately leads to the duplicate call to `QuickstepKeyGestureEventsManager#registerAllAppsKeyGestureEvent`.

Solution:
Since this problem only occurs in tests and not in practice, we can mock out `QuickstepKeyGestureEventsManager`'s [un]registration calls to do nothing within `TaskbarbarUnitTestRule` to prevent duplicated re-registration.

Flag: com.android.window.flags.grant_manage_key_gestures_to_recents
Test: atest NexusLauncherTests:TaskbarAutohideSuspendControllerTest
Test: atest NexusLauncherTests:TaskbarEduTooltipControllerTest
Fix: 421853013
Change-Id: Ic87bd8d36ce018935002b8698b1d53e30b2fca6d
2025-06-02 17:33:20 +01:00
Treehugger Robot
31ae5a7c6d Merge "Don't cap number of items in taskbar overflow" into main 2025-06-02 08:55:22 -07:00
Steven Ng
d3c7533a55 Unregister all apps key gesture handler at AllAppsActionManager#onDestory
Bug: 406452076
Flag: com.android.window.flags.grant_manage_key_gestures_to_recents
Test: atest NexusLauncherTests:AllAppsActionManagerTest
Change-Id: Idec5ad32b190eff58c263d6c7696a9f218084f5a
2025-05-31 09:35:09 -07:00
Treehugger Robot
5e67f9d7cd Merge "Update DisplayControllerSpy for overview on CD" into main 2025-05-30 16:19:33 -07:00
Treehugger Robot
bb41fe629a Merge "Make RecentTasksRepository dispayId aware" into main 2025-05-30 14:22:46 -07:00
Will Osborn
4589acb53d Make RecentTasksRepository dispayId aware
Bug: 402365283
Flag: com.android.launcher3.enable_overview_on_connected_displays
Test: unit tests + local test on tablet + foldable
Change-Id: I379547e41029baedb95c67b4440f23adfb29b1ba
2025-05-30 15:40:06 +00:00
Shamali Patwa
cddba00520 Merge changes from topic "widget-picker-launcher" into main
* changes:
  Add dagger2-compiler to some of picker module targets.
  Add no-op widget picker module to some test modules / graphs.
  Wire the compose based widget picker in widget picker activity
  Repository and datasource implementations backing the widget picker.
  Add widget picker module dependency to launcher when compose is enabled
  Open widget picker activity instead of full sheet when refactor flag is on
2025-05-30 04:18:55 -07:00
Treehugger Robot
ca758f80a7 Merge "Do not reflow dismissed grid task is already in split select." into main 2025-05-30 04:00:20 -07:00
Ajinkya Chalke
d2ea106305 Update DisplayControllerSpy for overview on CD
- Use both infoModifier and infoModifierForDisplay to support overview
  on CD changes in DisplayController.

Test: TaskbarModeRuleTest TaskbarInsetsControllerTes
Bug: 363251602
Flag: EXEMPT test only change
Change-Id: I18f2dd7f6c486a269769d93f5ad7623bcba5fe3c
2025-05-30 08:30:39 +00:00
Mykola Podolian
bd997ba791 Merge "Notify taskbar and nav bar of bubble bar location updates." into main 2025-05-29 21:12:09 -07:00
mpodolian
6f82248053 Notify taskbar and nav bar of bubble bar location updates.
Added logic to notify the BubbleBarLocationListener implementors on
bubble bar location updated.

Bug: 411506181
Test: DragToBubbleControllerTest
Flag: com.android.wm.shell.enable_create_any_bubble
Change-Id: I51290bb6c2b35ff913a43c04db35be65b377ea03
2025-05-29 15:54:05 -07:00
Toni Barzic
229bbf059c Don't cap number of items in taskbar overflow
Updates KQS view not to show fullscreen tasks, and not to cap off number
of items in the view if shown for taskbar overflow.

Bug:419279335
Test: TaskbarOverflowTest
Flag: com.android.window.flags.enable_taskbar_overflow

Change-Id: I771cabc51ffa527b7db83cf12747cf8c4793670d
2025-05-29 22:14:44 +00:00
Shamali Patwa
9d946aa755 Add no-op widget picker module to some test modules / graphs.
Bug: 408283627
Flag: EXEMPT not applicable
Test: dagger build
Change-Id: I77b2f9f32037303ddfd7f2950c7b235f9aff8f2c
2025-05-29 13:26:10 -07:00
Sebastian Franco
8244449a9f Moving taskbar variables in DeviceProfile to their own class
Bug: 419264653
Flag: EXEMPT refactor
Test: DeviceProfileDumpTest
Test: All Image tests
Change-Id: I05ec9e15ef02096326596af4835adb706473a736
2025-05-29 11:04:06 -07:00
Jagrut Desai
2cb88061e4 Merge "Fix Settting Cache NPE" into main 2025-05-29 09:44:39 -07:00
Treehugger Robot
3893804a59 Merge "Moving hotseat variables in DeviceProfile to their own class" into main 2025-05-29 09:01:51 -07:00
Pat Manning
14b76f7867 Do not reflow dismissed grid task is already in split select.
When the task is not found in top or bottom set, return current page. This fixes rotation in overview while split select is already active.

Fix: 420546041
Test: TaskGridNavHelperTest
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: I4f654b017a0c051bd373e78ebd3d3f02f7bdf3cf
2025-05-29 14:49:55 +01:00
Uwais Ashraf
478f07798e Moving hotseat variables in DeviceProfile to their own class
Bug: 419264653
Flag: EXEMPT refactor
Test: DeviceProfileDumpTest
Test: All Image tests
Change-Id: I377b33668c3ed330d362527f62226dd84a5773db
2025-05-29 13:16:05 +00:00
Sunny Goyal
bb0f554148 Converting StatsLogManager to kotlin
This is make it easier to create factory classes for individual when adding more injected parameters

Bug: 361850561
Test: Presumit
Flag: EXEMPT refactor
Change-Id: Ie68e9e24aae801b7fed14d1b03df760e5b67c183
2025-05-28 14:12:13 -07:00
Jagrut Desai
bcd634a31f Fix Settting Cache NPE
Test: Presubmit
Bug: 406906811
Flag: EXEMPT bugfix
Change-Id: If2dacf2686339a0c8b9e87fdd9a8e555a813aab1
2025-05-28 09:55:39 -07:00
Simon (Qiong) Sun
be9eea8f23 Merge "Support multiple tasks per split screen via SplitRemoteTargetHandles" into main 2025-05-27 18:11:37 -07:00
Treehugger Robot
97594d1e94 Merge "Unregister AbsSwipeUpHandler's ContextInitListener on launcher destroy" into main 2025-05-27 11:45:32 -07:00
Schneider Victor-Tulias
8f88cb272d Unregister AbsSwipeUpHandler's ContextInitListener on launcher destroy
- Unregister the init listener on launcher destroy to unblock the home button
- This also exposes a crash in AbsSwipeUpHandler.onRecentsAnimation start since the home bounds aren't available. So, also adding handling to reload the launcher on night mode change

Flag: EXEMPT bug fix
Fixes: 384423890
Fixes: 416536400
Test: changed dark theme then swiped/pressed home and overview buttons.
Change-Id: Ic26192e8d0e4e6b226fb9af6dba596aa78a09e96
2025-05-27 11:39:53 -07:00
Xiaoqian (Daisy) Dai
d108ef020b Merge "desktop-exploded-view: Fix various values for Task windows in desktop tile." into main 2025-05-27 09:25:51 -07:00
Saumya Prakash
a272ff81ad Merge "Report lower insets for SUW if expressive theme enabled" into main 2025-05-27 08:57:52 -07:00
Treehugger Robot
d5b20e3940 Merge "Add recents animation start timeout handling to TaskAnimationManager" into main 2025-05-23 19:10:36 -07:00
Treehugger Robot
52608ce7cb Merge "pin-shortcut: Use unpin option for AllApps apps that are pinned" into main 2025-05-23 18:27:54 -07:00
Wen-Chien Wang
9942721299 pin-shortcut: Use unpin option for AllApps apps that are pinned
For the apps in All apps view, if the app is already pinned in the
taskbar, we should show the unpin option for users to unpin it
instead of a pin option that is no-op.

Bug: 375648361
Bug: 418058610
Test: manual + TaskbarPopupControllerTest
Flag: com.android.window.flags.enable_pinning_app_with_context_menu
Change-Id: I770afcf3abd6cb08c574230d27c4cbcbb83b29a6
2025-05-23 23:00:30 +00:00
Xiaoqian (Daisy) Dai
a66268c9fc desktop-exploded-view: Fix various values for Task windows in desktop tile.
To match with the UX spec, this CL updates the insets based on the
number of tasks within a tile. It also sets a maximum height to the
task window when multiple apps are available.

Flag: com.android.launcher3.enable_desktop_exploded_view
Test: OrganizeDesktopTasksUseCaseTest
Bug: 414614454
Change-Id: Icfecc1e41dfd0b95bae10b495adae95fe10dfef2
2025-05-23 14:09:05 -07:00
Sebastián Franco
e1d31e5406 Revert "Revert "Moving DeviceProfile properties into DevicePrope..."
Revert submission 33716851-revert-33672643-DataDeviceProfile1-XHYRAPLEBK

Reason for revert: Error is fixed

Reverted changes: /q/submissionid:33716851-revert-33672643-DataDeviceProfile1-XHYRAPLEBK

Change-Id: Ib86824134955903c11e51e52dbfd6368aba1cd50
2025-05-23 14:08:11 -07:00
Priyanka Advani (xWF)
7705e92d93 Revert "Moving DeviceProfile properties into DeviceProperties da..."
Revert submission 33672643-DataDeviceProfile1

Reason for revert: Droidmonitor created revert due to b/419867875. Will be verifying through ABTD before submission.

Fix: 419867875

Reverted changes: /q/submissionid:33672643-DataDeviceProfile1

Change-Id: Icb66aefbbcee24e05806b2139923e1f2ea1c65e3
2025-05-23 13:53:04 -07:00
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
Sebastian Franco
e1111e28c2 Moving DeviceProfile properties into DeviceProperties data class
Bug: 419264653
Flag: EXEMPT refactor
Test: DeviceProfileDumpTest
Test: All Image tests
Change-Id: I638f88cd76b926917965dbf9e70b5bdfff5971e0
2025-05-23 10:42:26 -07:00
Sergey Pinkevich
6e0ace619f Merge "Convert DesktopVisibilityControllerTest to multivalent" into main 2025-05-23 01:56:12 -07:00
Rob Mickle
61aab4893b Update test to use fake repository instead of mock.
Bug: 378443899
Test: OverviewCommandHelperTest
Flag: EXEMPT test cleanup up
Change-Id: Ie449a659bf6b1b33acbb6f9f6f45b800e31cf447
2025-05-22 07:42:34 -07:00
Lucas Dupin
66923a912c Merge "Add recents position callback to SystemUiProxy" into main 2025-05-21 23:11:59 -07:00
Treehugger Robot
091890adbc Merge "Support workspace cells with two-line labels" into main 2025-05-21 18:25:15 -07:00
Toni Barzic
83b8cc19ca Support workspace cells with two-line labels
Adds `maxLineCount` attribute to CellSpec. The attribute indicates the max
number of lines of text the cell was speced to support. It's used to:
*   enable two-line labels in `BubbleTextViews` for workspace (including
    folder children) items
*   Update cell dimension calculation to inform cell vertical padding

When calculating cell content size the icon text size will be included
`maxLineCount` times, so the cell content gets centered as if it
contains `maxLineCount` lines of text. That way the icon position will
be consistent between cells with text that fits into one line, and cells
that contain two lines of text.

Adds `maxLineCountMatchesWorkspace` attribute to specify that the cell
should inherit `maxLineCount` from workspace cell spec.

Bug: 30153091
Flag: com.android.launcher3.enable_scalability_for_desktop_experience
Test: Manual

Change-Id: I150a62f427a0ad755a4746a736d9846d3bea4d2e
2025-05-21 22:04:33 +00:00
Lucas Dupin
02c6fd6604 Add recents position callback to SystemUiProxy
Flag: com.android.systemui.enable_underlay
Test: atest AmbientCueRepositoryTest
Test: atest AmbientCueInteractorTest
Test: atest AmbientCueViewModelTest
Test: atest TaskbarNavButtonControllerTest
Bug: 415914274
Bug: 415914083
Change-Id: Ie6c7412d3bbc9cd64e4c9993db47821962e1b1fc
2025-05-21 14:04:18 -07:00
Schneider Victor-Tulias
124b010ea9 Add recents animation start timeout handling to TaskAnimationManager
In cases where a recents aniamtion transition was successfully requested but failed to start, we should clean up the gesture state to recover.

Flag: EXEMPT bug fix
Fixes: 415930274
Test: TaskAnimationManagerTest.testRecentsAnimationStartTimeout_cleansUpRecentsAnimation
Change-Id: If1a24d6c7baac7338c49056531bc01665f082ddf
2025-05-21 15:55:44 -04:00
Sergey Pinkevich
d0fccf8773 Convert DesktopVisibilityControllerTest to multivalent
Bug: 397902030
Flag: NONE test fix, not actual code editing
Test: atest NexusLauncherTests:DesktopVisibilityControllerTest

Change-Id: Ie6ae4abb2a894d4f7403e77cf797cdce924fd9e3
2025-05-21 18:50:43 +00:00
Simon (Qiong) Sun
00063bcf2f Support multiple tasks per split screen via SplitRemoteTargetHandles
It enables support for assigning SplitRemoteTargetHandles to multiple tasks within a split-screen.

The changes include:

- Retrieving the list of split-screen tasks directly from `SplitBounds`.
- Iterating through the task list and setting the remoteTargetHandle for each individual task.
- General code refactoring to set the remoteTargetHandle.

Bug: 346295292
Bug: 360782849
Flag: com.android.wm.shell.enable_flexible_two_app_split
Test: manual test.
Video: Before: http://recall/-/gvQq7Z7JECwxnxKrBmr3wt/fnHVbaVwMWfvrOaez5eO6L
Video: After: http://recall/-/gvQq7Z7JECwxnxKrBmr3wt/dzv6tZMlAYG1bBBtYdsWxF

Change-Id: I1e8c8316947b0d4fd72c9cf36dff8ecd99d2f170
2025-05-21 17:51:09 +00:00
Helen Cheuk
444161df77 Merge "[Action Corner] Make home action corner irreversible" into main 2025-05-21 09:13:31 -07:00