Commit Graph

2287 Commits

Author SHA1 Message Date
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 Putri
3d08afcbb9 Merge "Add displayId to back event" into main 2025-04-09 00:50:47 -07:00
Sebastián Franco
59ae5808c7 Merge "Use LauncherActivityScenarioRule in BaseLauncherActivityTest" into main 2025-04-08 15:28:11 -07:00
minch
42efd0c6cc Let TaskView.bind take GroupTask instead of Task
1. Introduce a `groupTask` property to `TaskView` and let all the
   `bind` functions take a type of `GroupTask` as the parameter
   instead of a `Task`.
2. Then let `RecentsView.removeGroupTaskInternal` take the
   `GroupTask` as the parameter instead of a `TaskView`.
3. Caches the `groupTask` before `removeGroupTaskInternal` then
   we can avoid the corresponding `deskId` being set to invalid
   on `removeViewInLayout` in the main thread, which might happen
   before `removeGroupTaskInternal`.

Bug: 408032417
Test: m
Flag: EXEMPT refactor
Change-Id: I51c5b810eb63bc1267b90b915f90164f7ca3cba5
2025-04-08 17:16:08 +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
Daniel Andersson
641ffe50d8 desktop-exploded-view: Basic support for minimized tasks
This makes minimized tasks visible in overview. These tasks are
immediately placed in the exploded position and then fade in during
the course of EXPLODE_PROGRESS.

This CL also moves isLiveTile from TaskTileUiState to TaskData.Data
since it's no longer a TaskView wide state.

Note: this CL only makes the minimized tasks visible in overview. It
does not yet un-minimize tasks on click.

Flag: com.android.launcher3.enable_desktop_exploded_view
Test: Manual
BUG=370495260

Change-Id: I5e441e81ae542902be9cd33d49bcb76d06bb1190
2025-04-07 10:31:47 -07:00
Schneider Victor-Tulias
6e79190f45 Fix Initialization exception when creating RecentsDisplayModel
Flag: com.android.launcher3.enable_launcher_overview_in_window
Bug: 377678992
Test: pre/postsubmit tests
Change-Id: I5599b02dd34f92ca8645412b61b3c86b4cd91032
2025-04-07 13:20:16 -04:00
Alex Chau
b9b817f3c7 Merge "Taskbar nav per-display" into main 2025-04-07 08:31:13 -07:00
Alex Chau
68439fefa4 Merge "Filter tasks by display id" into main 2025-04-07 05:09:49 -07:00
Alex Chau
7dce980f9a Merge "Refactor RotationTouchHelper to be per-display" into main 2025-04-07 04:27:26 -07:00
Eghosa Ewansiha-Vlachavas
6665030709 Merge "[2/n] Isolate desktop entry point disabling from window exemptions" into main 2025-04-04 15:45:16 -07:00
Will Osborn
d8be141eed Filter tasks by display id
Test: tested locally on tablet
Flag: com.android.launcher3.enable_overview_on_connected_displays
Bug: 402363691
Change-Id: I5148f2ef09dde4a07d4b34f1752f12249bba69b6
2025-04-04 14:08:20 +00:00
Will Osborn
d515f1a3ed Refactor RotationTouchHelper to be per-display
Bug: 398195845
Test: locally tested + ran unit tests
Flag: EXEMPT refactor
Change-Id: I2a5ae4171fd211650624291574f84f8bff8b8825
2025-04-04 12:59:34 +00:00
Will Osborn
90ac376da8 Taskbar nav per-display
Test: local + unit
Bug: 402364626
Flag: com.android.launcher3.enable_overview_on_connected_displays

Change-Id: I9643367e19b107a2811e93db4e3dd32e9355da71
2025-04-04 10:32:46 +00:00
Treehugger Robot
21c065ae3d Merge "[Memory Leak] Fix leak of Launcher activity from recent view's input consumer" into main 2025-04-03 15:57:40 -07:00
Treehugger Robot
6b7cd9fbe8 Merge "Revert "Demote unstable test testQuickSwitchFromApp from presubmit"" into main 2025-04-03 15:55:16 -07:00
Sebastian Franco
089f07c2b6 Use LauncherActivityScenarioRule in BaseLauncherActivityTest
The goal is that eventually remove BaseLauncherActivityTest and
uase LauncherActivityScenarioRule by compositions instead of
using inheritance and move methods that make sense to have in
LauncherActivityScenarioRule and other in utility classes.

Bug: 324261526
Test: All Tests that inherit from BaseLauncherActivityTest
Flag: TEST_ONLY
Change-Id: I1b2f3ed9e9d41a9185711ba682895b0b3fffe2df
2025-04-03 15:35:20 -07:00
Fengjiang Li
222fb581bd [Memory Leak] Fix leak of Launcher activity from recent view's input consumer
Ensure we always clear the consumer, which has strong ref to RecentsView and launcher activity, once gesture is ended

Fix: 407823225
Test: presubmit
Flag: NONE - released code
Change-Id: I90f2212247965697a4077890404bb577943efa37
2025-04-03 13:47:29 -07:00
Vadim Tryshev
94a9dca7fc Revert "Demote unstable test testQuickSwitchFromApp from presubmit"
This reverts commit 67c85d8fc2.

Reason for revert: Test is stable

Change-Id: Ie76ff933c2871278ba0a86291ed73c118231cbdc
2025-04-02 14:30:58 -07:00
Wen-Chien Wang
9d962c8c3e pin-shortcut: Move flag to lse
Bug: 375648361
Test: EXEMPT changing flag
Flag: EXEMPT moving flag
Change-Id: I13065db6dcf42e26e87aba27f395e4345c569d6f
2025-04-01 18:29:59 +00:00
Eghosa Ewansiha-Vlachavas
34605d8575 [2/n] Isolate desktop entry point disabling from window exemptions
The windowing exemptions logic is used for both exempting apps from
opening in desktop but also hiding the entry point so apps cannot be
moved into desktop. However, disabling desktop entry points is not
constrained by the same security restrictions as exempting apps from
opening as freeform in desktop. Instead we should have a separate
heuristic for disabling entry points and forcing to fullscreen.

Flag: EXEMPT Refactoring
Fixes: 407704088
Test: atest NexusLauncherTests:com.android.quickstep.ExternalDisplaySystemShortcutTest.kt,
      atest NexusLauncherTests:com.android.quickstep.DisplaySystemShortcutTest.kt

Change-Id: I268566072ca5fba090d05f0202468d086c41a66d
2025-04-01 15:24:11 +00:00
Schneider Victor-tulias
f311ff67ff Merge changes Ib386c3b8,I2315e0af into main
* changes:
  Fix broken uses of TISBinder.refreshOverviewTarget
  Fix missing TAPL test state checks
2025-04-01 07:26:27 -07:00
Treehugger Robot
181a4b1911 Merge "Initialise and retain TaskViewModel in TaskView's constructor." into main 2025-04-01 06:22:15 -07:00
Uwais Ashraf
e65743b7de Initialise and retain TaskViewModel in TaskView's constructor.
This means that the VMs are created on the bg threads in the ViewPool setup stage rather than at critical points in CUJs.

Bug: 395294954
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: Manual - checking perfetto traces
Change-Id: I3aab5271d552e5f292533617a6842a046cb43bf1
2025-04-01 11:11:36 +00:00
Will Osborn
f655091164 V small tidy of InputConsumerUtilsTest
Test: locally tested on Tangor
Bug: 399371607
Flag: EXEMPT refactor
Change-Id: Ie034525cfb88c378c7edfbbcabeb7d68d62ea5da
2025-04-01 11:06:14 +00:00
Treehugger Robot
8bc47e7df1 Merge "Add ScreenRecord for DigitalWellBeingToastTest" into main 2025-03-31 16:46:17 -07:00
Schneider Victor-Tulias
924c181fcd Fix missing TAPL test state checks
Flag: com.android.launcher3.enable_launcher_overview_in_window
Bug: 377678992
Test: pre/postsubmit
Change-Id: I2315e0af7b0567368ddc194a2d5ec7b3e563175f
2025-03-31 16:15:42 -07:00
Wen-chien Wang
edf603cf95 Merge "pin-shortcut: Make single recent task pinnable from taskbar" into main 2025-03-31 14:12:43 -07:00