Commit Graph

14416 Commits

Author SHA1 Message Date
Randy Pfohl b0487db434 fixing splitview issue not receiving callback in recents in window
Test: Built and ran locally. Verified cycling back to default state.

Flag: com.android.launcher3.enable_fallback_overview_in_window
      com.android.launcher3.enable_launcher_overview_in_window

Bug: 292269949

Change-Id: I3054ef815baf1a852c365a07cad5e66a168f88c5
2025-04-14 18:27:41 +00:00
Randy Pfohl 6abaca4e03 Moving RecentsWindowManager away from taskstackchangelistener
Test: Built and ran locally, tested against various cases, verified with
logs

Flag: com.android.launcher3.enable_fallback_overview_in_window
      com.android.launcher3.enable_launcher_overview_in_window

Bug: 292269949

Change-Id: If90b1f98ad18286fa0c9b9625077237823197967
2025-04-14 18:27:41 +00: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 eb223b6b75 Merge "Use AplicationContext for getWindowCornerRadius on DEFAULT_DISPLAY" into main 2025-04-14 07:06:23 -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
Treehugger Robot 5a04fbb274 Merge "Use concurrent list to prevent ConcurrentModificationException" into main 2025-04-14 02:12:35 -07: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 d19d21fea0 Merge "Trigger taskbar state changes onActiveDeskChanged" into main 2025-04-11 20:08:54 -07:00
Uwais Ashraf 4dc3313044 Use concurrent list to prevent ConcurrentModificationException
TasksRepository.setVisibleTasks can add/remove listeners while HighResLoadingState.updateState iterates over them.

Bug: 408978565
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: SwitchBackToSplitFromRecentGesturalNavLandscape#switchBackToSplitFromRecent
Test: Manual - made exception extremely likely by constantly adding/removing listeners. Could easily repro exceptions, then added this CL and could no longer repro.
Change-Id: Ic04717527fcbdb9301a6e313f9e666e2f5135b3e
2025-04-12 00:40:18 +00:00
minch 9381184f58 Trigger taskbar state changes onActiveDeskChanged
1. Add [DisplayDeskConfig] when `onDeskAdded` if there is no config yet.
   As the display might start without any desks.
2. Trigger the task bar enter or exit on desktop mode changes inside
   `onActiveDeskChanged` instead, which is also transition based.

Bug: 408060477
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I6f77f2a8d9fe660175b739f44dc241937a6bcc7a
2025-04-12 00:24:51 +00: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
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
Schneider Victor-tulias ec8841a926 Merge "Clean up fully rolled out flag enable_desktop_task_alpha_animation" into main 2025-04-11 07:36:27 -07:00
Schneider Victor-tulias 34fcfddaa2 Merge "Clean up fully rolled out flag enable_handle_delayed_gesture_callbacks" into main 2025-04-11 07:36:12 -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
Alex Chau eee45c8dfd Merge "Mark all PerDisplayRepository as LauncherAppSingleton" into main 2025-04-11 04:42:11 -07:00
Alex Chau 3f314e5a07 Mark all PerDisplayRepository as LauncherAppSingleton
- Without this annotation, everytime the PerDisplayRepository is requested, a new PerDisplayRepository is created effectively not functioning as a repositroy.
- This caused RotationTouchHelper to be created whenever get() is called, thus losing its state across the swipe gesture

Fix: 409722063
Fix: 409258907
Test: manual
Flag: EXEMPT bug fix
Change-Id: Ibde4c6ce18b96bafea1c40d8c69a4552f371501a
2025-04-11 02:33:38 -07: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
Schneider Victor-Tulias 67a1a3646c Clean up fully rolled out flag enable_handle_delayed_gesture_callbacks
Flag: EXEMPT removing flag
Bug: 409605707
Test: None; flag is already fully rolled out
Change-Id: I06adfa8e0b88c14854fd80b1ccdcd6406c2cf2e9
2025-04-10 11:12:28 -07:00
Schneider Victor-Tulias a1366e3531 Clean up fully rolled out flag enable_desktop_task_alpha_animation
Flag: EXEMPT removing flag
Bug: 409605077
Test: None; flag is already fully rolled out
Change-Id: I92c8520ce1f924104453be7e969bd6095d612717
2025-04-10 11:11:58 -07:00
Schneider Victor-Tulias dbf9dee5a6 Fix broken recents view loading with overview in window enabled
If recents view is not attached to window when applyLoadPlan is called, then the taskviews will never update until mTaskListChangeId is invalidated. This mainly affects RecentsWindowManager, so added a callback to only initialize after recents view has attached to window.

Flag: com.android.launcher3.enable_launcher_overview_in_window
Bug: 377678992
Test: pre/post-submit tests; opened overview several times
Change-Id: Ie430fb5b0b2b6870c12fed1c6a394088cad1ac17
2025-04-10 09:58:21 -07:00
Treehugger Robot a2b5b589dc Merge "Register all apps key gesture event in quickstep launcher" into main 2025-04-10 09:57:21 -07:00
Treehugger Robot 09357adb4e Merge "Update taskbar flags to use DesktopExperienceFlag" into main 2025-04-10 09:25:23 -07:00
Alex Chau 2e7ef70770 Use AplicationContext for getWindowCornerRadius on DEFAULT_DISPLAY
- ag/32861507 changed getWindowCornerRadius to use DisplayContext, which does not get updated on configuartion changes, this caused potentially regression of having wrong corner radius after configuration changes
- ag/32896744  attempted to fix this with window context, get is rolled back due to perfroamcne regression
- This CL is a temp fix to make DEFAULT_DISPLAY continue usign AplicationContext for getWindowCornerRadius, if the AplicationContext is associated to a display, and otherwise fallback to displayContext

Bug: 408988616
Test: manual
Flag: EXEMPT bug fix
Change-Id: I72dbcfb7cd6cdc6783e96768b4f4b51b76d9a245
2025-04-10 16:10:12 +01:00
Alex Chau 5e619cd675 Merge "Provides displayContext instead of windowContext for RotationTouchHelper" into main 2025-04-10 07:39:15 -07:00
Alex Chau e246b3273b Provides displayContext instead of windowContext for RotationTouchHelper
- Also limit usage of displayContext on getWindowCornerRadius only, any other usage causes perf regression
- Note that displayContext does not respond to configuration changes, there might be existing functionality bug already that resources are stale after configuration changes, keeping b/408988616 open to handle it in the future

Bug: 408988616
Fix: 409222870
Fix: 409252967
Test: presubmit and ABTD
Flag: EXEMPT refactor
Change-Id: I024c76326a2deb1ecc035de8319976e31887486b
2025-04-10 07:38:55 -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
Treehugger Robot c20a68eb4b Merge "Remove EnableHoverOfChildElementsInTaskview flag" into main 2025-04-10 06:30:38 -07:00
samcackett 68a21ed111 Remove EnableHoverOfChildElementsInTaskview flag
Fix: 409610713
Flag: EXEMPT. Flag removal
Test: N/A
Change-Id: Ifa924cb2011bb6e633ee5b79c17601be82b4a779
2025-04-10 10:59:54 +01:00
Sam Cackett bf69d6e6a5 Merge "Add TaskContentView wrapper to TaskThumbnailView" into main 2025-04-09 23:54:40 -07:00
Ajinkya Chalke c19475ceef Update taskbar flags to use DesktopExperienceFlag
- Had previously incorrectly used DesktopModeFlags instead.

Bug: 407954660
Test: m
Flag: EXEMPT updating flags
Change-Id: Id486dfecdb97e70a7ee497b2076ddda1f7355b7d
2025-04-10 05:26:31 +00:00
Brian Isganitis 8c6dd04740 Merge "Expose desktop experience CD Taskbar flag to SecondaryDisplayLauncher." into main 2025-04-09 13:33:40 -07:00
Treehugger Robot 3726f6fe06 Merge "Reload visible task data when transitioning to Overview" into main 2025-04-09 12:05:35 -07:00
Alex Chau abd2716fea Reload visible task data when transitioning to Overview
- When onPrepareGestureEndAnimation is called, we already know the end target is Overview, loading thumbnail at this point ensure thumbanil is loaded throughout the transition

Fix: 407525135
Flag: com.android.launcher3.enable_grid_only_overview
Test: Home/app to Overview with gesture/3button
Change-Id: Ie91d3989654ff17df94704275523ca097f786293
2025-04-09 17:39:07 +01: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
Perry Wu c5d8fbcb82 Merge "Add null check for checking intent component" into main 2025-04-09 08:29:25 -07: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
Vinay Joglekar 96590ffeb0 Merge "Fix unnecessary creation of surface transactions during setBaseSurface." into main 2025-04-09 02:50:18 -07:00
Graciela Putri 3d08afcbb9 Merge "Add displayId to back event" into main 2025-04-09 00:50:47 -07:00
vinayjoglekar 425b11fd9e Fix unnecessary creation of surface transactions during setBaseSurface.
Also swap surface only when required.

Fix: 404647629
Fix: 408937692
Test: Manual. Enter/Exit overview from home/app
Flag: com.android.launcher3.enable_overview_background_wallpaper_blur
Change-Id: I1562ed11a14021565ec9b9560b7f0d7d2b1468c6
2025-04-09 08:24:35 +01:00
Treehugger Robot d9560b8f92 Merge "[Action Corner] Implement new LauncherProxy method in Launcher" into main 2025-04-08 23:23:05 -07:00
Treehugger Robot 1af8b49518 Merge "Use expressive dismiss when splitting tasks." into main 2025-04-08 16:27:15 -07:00
Treehugger Robot f17d86902a Merge "Fix TaskbarSnapshot leak and ANR." into main 2025-04-08 15:44:43 -07:00
Brian Isganitis b7a5dc0017 Expose desktop experience CD Taskbar flag to SecondaryDisplayLauncher.
Flag: EXEMPT refactor
Fix: 407924023
Test: go/testedequals
Change-Id: I06344f023eb1fab697f25276bc82e1be0209e4a8
2025-04-08 17:17:15 -04:00
Pat Manning f9865debb7 Use expressive dismiss when splitting tasks.
Snap last grid task to hide clear all during scrolls as well.

Fix: 389081467
Test: TaplTestsSplitscreen
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: I153b3dcacdf634358416f0793804c1c4c099a993
2025-04-08 22:07:36 +01:00