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
- 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
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
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
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
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
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
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
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
- 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
- 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