Commit Graph

79893 Commits

Author SHA1 Message Date
Jordan Silva be4ceb26c9 Add TaskViewModel to fetch and map Tasks data
This commit introduces a new `TaskViewModel` which retrieves task data using `GetTaskUseCase` and maps them to `TaskTileUiState`.
It also adds new files `TaskTileUiState` and `GetTaskUseCase` with their corresponding models.
- `TaskTileUiState` is used to represent the UI state of a single overview tile.
- Introduced `TaskData` sealed interface to encapsulate different states of a task.
- `GetTaskUseCase` is used to fetch a single task given an id from the repository.
- `TaskViewModel` fetches and maps tasks to `TaskUiState`.
- Added unit tests for `TaskViewModel` to ensure the correct data is being emitted.
- Added unit tests for `GetTaskUseCaseTest` for testing task retrieval logic.
- `TaskModel` is the new data model representing the data fetched by the repository.

Fix: 390578940
Fix: 390578937
Bug: 388486032
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: GetTaskUseCaseTest
Test: TaskViewModelTest
Change-Id: Ibf728eccc31270c0d0d8668a503e26d6d0e88f59
2025-01-17 16:44:56 +00:00
Alex Chau 3dd59f0e7e Merge "Preparation for adding the AddDesktopButton to the view hierarchy" into main 2025-01-15 02:45:57 -08:00
Treehugger Robot 0650e9da6d Merge "Add nullable annotation to getAndInvalidateIfModified which returns null" into main 2025-01-15 02:09:16 -08:00
Uwais Ashraf b853ff5edd Add nullable annotation to getAndInvalidateIfModified which returns null
Fix: 389069343
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Flag: com.android.launcher3.enable_grid_only_overview
Test: Code compiles after adding @Nullable annotation
Change-Id: I692b260eeabb2d69d6daa6ef91d1ab063ab0fe72
2025-01-15 00:05:10 -08:00
Treehugger Robot 93cd05e34a Merge "Remove some usages of GroupTask.task2" into main 2025-01-14 17:03:25 -08:00
Bill Yi 6f539e4019 Merge "Import translations. DO NOT MERGE ANYWHERE" into main 2025-01-14 16:28:14 -08:00
Bill Yi d1c2619c94 Merge "Import translations. DO NOT MERGE ANYWHERE" into main 2025-01-14 16:28:14 -08:00
Bill Yi 816322840c Merge "Import translations. DO NOT MERGE ANYWHERE" into main 2025-01-14 16:28:14 -08:00
Treehugger Robot bc3995222b Merge "Moving DisplayController to dagger" into main 2025-01-14 13:39:19 -08:00
minch 9e8f5ee62a Preparation for adding the AddDesktopButton to the view hierarchy
- Update the logic of `getRunningTaskExpectedIndex` to make sure it
  will still work with the AddDesktopButton added as the first child
  of the RecentsView.
- Introduce `mTaskAlignmentTranslationY` to ClearAllButton, and set
  it through RecentsView. Thus, the logic can be used by the
  AddDesktopButton as well. etc.

Flag: EXEMPT refactor
Bug: 382057498
Test: Manual
Change-Id: I6d0c031fe1fc0b4c198b9c890a27a69d911d38d9
2025-01-14 21:10:53 +00:00
Alex Chau e3b4b66d79 Merge "Support both grid and large tile with gridOnlyOverivew" into main 2025-01-14 12:24:19 -08:00
Saumya Prakash 25923178be Merge "Fix talkback not automatically announcing in Gesture Nav Tutorial" into main 2025-01-14 12:06:25 -08:00
Sunny Goyal 55dc2d1c31 Moving DisplayController to dagger
Separating various overrides to individual modules so that they can be reused in tests

Removing ContextualEduStatsManager and directly using SysUiProxy as all the usescases
are only in quickstep/
This avoids additional Module definition and delegation

Bug: 361850561
Test: Presubmit
Flag: EXEMPT dagger
Change-Id: I096459d638553991ed01766002b874589c6b976e
2025-01-14 11:40:35 -08:00
Treehugger Robot b96a51e181 Merge "Drop initial default values from flows." into main 2025-01-14 11:27:59 -08:00
Treehugger Robot 236bdbd7bf Merge "Convert GroupTask and DesktopTask to Kotlin" into main 2025-01-14 11:23:14 -08:00
Treehugger Robot 5850008ade Merge "Remove ScreenRecord for a closed bug" into main 2025-01-14 10:51:03 -08:00
Ahmed Fakhry 28869b86e9 Remove some usages of GroupTask.task2
This CL marks `GroupTask.task1` and `GroupTask.task2` as deprecated, and
removes some of the usages of the `task2`. Follow-up CLs will continue
replacing all the usages.

Bug: 388593902
Test: m
Flag: EXEMPT pure refactor with no behavior change.
Change-Id: I530bbba00bd41cf33a952b083de7670d9a490e81
2025-01-14 18:13:46 +00:00
Vinit Nayak 75d7e07844 Merge "Remove and cleanup splitContextual flag" into main 2025-01-14 09:39:59 -08:00
Pat Manning 2e6e9a6f4f Merge "Add Launcher Jank instrumentation to dismiss recent task" into main 2025-01-14 09:33:06 -08:00
Ahmed Fakhry 5ca0a51c60 Convert GroupTask and DesktopTask to Kotlin
This is the first step in refactoring GroupTask to remove the assumption
about `task1` being always present.

Bug: 388593902
Test: m
Flag: EXEMPT pure refactor with no behavior change.
Change-Id: Ib79d9f2ad7f028b971e2509d846b50fa220bee26
2025-01-14 17:22:22 +00:00
Uwais Ashraf 279f4ba6a2 Drop initial default values from flows.
Bug: 387511656
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: Checking perfetto traces shows that this reduces the number of continuations on main by ~100 for 30 apps
Test: Opening Overview shows correct content.
Test: TaskThumbnailViewScreenshotTest
Change-Id: If8d3c6a8f82cea38a3fb78339946bec2c8646ab7
2025-01-14 16:50:25 +00:00
Charlie Anderson 3799932a38 Add ability to preview and apply shapes from Picker
Bug: 372887760
Bug: 372887555
Bug: 388579538
Flag: com.android.launcher3.enable_launcher_icon_shapes
Test: Manually change icon shapes

Change-Id: Ie423306e3ae5ae8176898ff5ffc59b4b576c20f4
2025-01-14 07:24:52 -08:00
Vinit Nayak 3815a095f1 Remove and cleanup splitContextual flag
Bug: 276361926
Flag: EXEMPT removing flag
Change-Id: I6f567a8aae5b962f36ec2bc96b7fb05906b4ff2f
2025-01-14 10:23:59 -05:00
Uwais Ashraf a395d929ff Merge "Fix how touch deadzone work in RecentsView" into main 2025-01-14 07:13:17 -08:00
Pat Manning eee3a78186 Add Launcher Jank instrumentation to dismiss recent task
Bug: 385698952
Fix: 389653070
Test: OverviewTaskDismiss#dismissTask (Functional & microbenchmark test)
Flag: EXEMPT adding CUJ for existing recents

Change-Id: Ic5b50cd333d824f208b3d02829a8d5e8acc5f31d
2025-01-14 05:59:59 -08:00
Pat Manning 0a617c4cc2 Merge "Add flag for expressive dismiss task motion in Overview." into main 2025-01-14 03:46:06 -08:00
Treehugger Robot 3196197f41 Merge "Removing shape detection in icon loader lib" into main 2025-01-13 23:55:12 -08:00
Bill Yi 522a8d230e Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I5ca8d3c28881c372c6d7928f7c46948ad1ca199b
2025-01-13 19:08:16 -08:00
Bill Yi d4d919b6a6 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I977aad96cfe6f3bad1a876e40057ac63ef58b6e0
2025-01-13 19:07:46 -08:00
Bill Yi 544d105047 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: Ie09a66cbda62872f9d71668822de2a3962abfb09
2025-01-13 19:07:18 -08:00
Treehugger Robot af8990f9b0 Merge "Improve 2 stage logging slightly." into main 2025-01-13 17:05:20 -08:00
Treehugger Robot 7af13c29be Merge "Add screenrecord for testLaunchShortcut_fromTaskbarAllApps" into main 2025-01-13 16:10:35 -08:00
Adnan Begovic 8d3eaf1a36 Merge "launcher3: Introduce onGridMigrationComplete callback." into main 2025-01-13 15:22:18 -08:00
Saumya Prakash c0149f4e70 Fix talkback not automatically announcing in Gesture Nav Tutorial
This change explicitly sets the Talkback attributes to allow for
automatically scrolling to the subtitle in the gesture navigation
tutorial. Previously, you would have to tap the subtitle for it to be
announced.

Fix: 386884587
Test: Run the tutorial with talkback enabled and observe talkback announcing the
title and subtitle of the current gesture
Flag: EXEMPT bugfix

Change-Id: I6ca2c1654f9e481165e2135e9afd72fa178f8184
2025-01-13 22:19:18 +00:00
fbaron 486016efd6 Add screenrecord for testLaunchShortcut_fromTaskbarAllApps
Flag: TEST_ONLY
Test: testLaunchShortcut_fromTaskbarAllApps
Bug: 373417111
Change-Id: Iee2eba237920228e5658bd7746beae03edaeff8b
2025-01-13 14:11:58 -08:00
Treehugger Robot d64bb9392c Merge "Fix NPE in LauncherSwipeHandlerV2Test.setup (follow up)" into main 2025-01-13 13:34:59 -08:00
Mykola Podolian fc8db9afc3 Merge "Shift transient taskbar to ensure 12dp distance with the bubble bar." into main 2025-01-13 12:52:21 -08:00
Xiaoqian (Daisy) Dai 6dbd67ae7d Merge "desktop-exploded-view: Add header to individual windows." into main 2025-01-13 11:40:53 -08:00
Mykola Podolian 987de5534e Merge "Hide bubble bar stash handle when the notification shade is open." into main 2025-01-13 11:40:18 -08:00
Schneider Victor-Tulias 2b64aa0b13 Fix NPE in LauncherSwipeHandlerV2Test.setup (follow up)
Since there is no display being used for LauncherSwipeHandlerV2Test, then no RecentsDisplayResource gets created for the DEFAULT_DISPLAY (and so RecentsDisplayModel.getFallbackWindowInterface returns null). Adding a mock display

Flag: com.android.launcher3.enable_fallback_overview_in_window
Bug: 377678992
Test: pre/postsubmit
Change-Id: I43754eafb4f6a9b393e6a7b7fbd5b27903d2f9b9
2025-01-13 14:12:29 -05:00
Treehugger Robot 3ddd380c14 Merge "Remove ScreenRecord for a closed bug" into main 2025-01-13 10:19:05 -08:00
Adnan Begovic 4b9b9d7e40 launcher3: Introduce onGridMigrationComplete callback.
onGridMigrationComplete is invoked when grid migration
  successfully completes.

  ModelDelegate's can choose to observe this by overriding
  the callback.

Test: manual, existing
Flag: com.android.launcher3.one_grid_specs
Bug: 386802204

Change-Id: Iaca2e61a95c3d3decc12b2cc54461dba441202a0
2025-01-13 09:52:16 -08:00
Pat Manning 04be6044af Add flag for expressive dismiss task motion in Overview.
Fix: 389080352
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Test: None. Flag addition.
Change-Id: I3d5edac7aa20db16445026d3ec02af4dab5b118b
2025-01-13 09:44:35 -08:00
Treehugger Robot 441a7ecfd1 Merge "Remove unused test debug tracing" into main 2025-01-13 09:35:05 -08:00
Treehugger Robot 7741fccfee Merge "Remove TaplIsTabletTest" into main 2025-01-13 08:16:27 -08:00
Schneider Victor-Tulias 2734f9854d Remove unused test debug tracing
Flag: EXEMPT debug tracing cleanup
Fixes: 289161193
Test: TaplAddWidgetTest
Change-Id: I3929379cbe77d6c1d74b80b705d63f073f3d21eb
2025-01-13 10:39:18 -05:00
Alex Chau ad9821d8ed Fix how touch deadzone work in RecentsView
- The new design have 3 deadzones Rect:
  - TaskView (for desktop tasks, focused task or all tasks in small screen)
  - Top row
  - Bottom row
- The shorter row between top/bottom row is expanded to cover space between the 2 rows
- The large tile row is expanded to cover space between large and small tiles
- Rect illustration: http://screen/8vHAqrYdUB5Rqbc.png

Fix: 323143607
Fix: 323143607
Test: Tap empty space between tasks, Oveview should not dismiss
Test: Tap empty space on shorter rows in grid, Overview should dismiss
Flag: EXEMPT bugfix
Change-Id: Id59c1238df33dfbe67a696d0836ba393321b38ac
2025-01-13 13:34:11 +00:00
Alex Chau 9c85596111 Support both grid and large tile with gridOnlyOverivew
- With the introduction of Desktop windowing, we'll need to supprot grid task and large tile (desktop tile) coexisting
- The previous gridOnlyOverview aimed to have taskSize matches actual grid task size, and introduced another carouselTaskSize for scaling in swipe up carousel
- Now I'm reverting to pre-gridOnlyOverview implementation of having taskSize as both large tile size and carousel task size, and gridTaskSize as only task size in grid

TaskViewSimualtor
- Removed no longer needed carousel translation and related calculations
- mIsGridTask is now determined with DeviceProfile, so when swipeing to Desktop task it won't use grid task size

TaskView
- Removed no longer used nonGridPivotTranslationX

RecentsView
- Make getSelectedTaskBounds / getTaskBounds picks the correct taskSize

Fix: 359573248
Fix: 321697299
Fix: 325606690
Bug: 322816508
Test: Swipe up, quick switch, task launching with grid task and desktop tasks; repeat with RTL, three button, phone
Flag: com.android.launcher3.enable_grid_only_overview
Change-Id: I14648c6682c53a4d06f9c9585d53f28dddef4f8f
2025-01-13 13:31:29 +00:00
Brandon Dayauon f48e1d42e3 Merge "Remove screen record annotation from test" into main 2025-01-11 11:33:05 -08:00
Treehugger Robot c9f33fba00 Merge "Revert "Override desktop tasks corner radius during recents tran..."" into main 2025-01-11 01:06:00 -08:00