Revert submission 31332401-recents-device-state
Reason for revert: DroidMonitor: Potential culprit for http://b/391684419 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Reverted changes: /q/submissionid:31332401-recents-device-state
Change-Id: I3986328ee3aa8ebb822f7ef05b9f80ef68872aef
See go/refactor-group-task for details. This is another incremental
change towards deprecating `GroupTask.task1`.
Bug: 388593902
Test: m
Flag: EXEMPT pure refactor with no behavior change.
Change-Id: Ib9b38268374277f485c6856a012b5b7f02e37055
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
Inline mocks are leaking activity contexts and accumulation of these activity contexts led to OOM that resulted in test failure.
See https://github.com/mockito/mockito/issues/1614 for details on mockito caused memory leaks
This change works for both soong and gradle builds.
Bug: 378520480
Test: atest and android studio builds
Flag: TEST_ONLY
Change-Id: I4a50993621ea416a02a41dd2f9c330d1599f065c
Set the corner radius of desktop task surfaces to 0 during recents
transitions so that corner radius doesn't interfere with the surface
bounds and corner radius applied to the RemoteAnimationTarget leashes.
The issue in b/388979758 (causing the original CL to be reverted) was fixed by changes to OtherActivityInputConsumer - in the original CL the callback `FinishImmediatelyHandler#onRecentsAnimationStart()` in that class was never called because it wasn't annotated `@Override` and its base method had a default implementation.
Bug: 378657004
Change-Id: I40444e7e9367a6833171a2e413b51d0d3f974318
Test: manual
Flag: com.android.window.flags.enable_desktop_recents_transitions_corners_bugfix
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
Until Taskbar multi instance support was in place, Taskbar would show
multiple icons for different instances of the same app in desktop mode.
Now this is no longer needed as taskbar has multi instance support, so
now there is only one icon per instance of an app of the same user.
Fix: 382589460
Test: Started several Chrome windows -> Taskbar has 1 icon for chrome
Flag: com.android.launcher3.enable_multi_instance_menu_taskbar
Change-Id: I2df4327dcdc9d221164055ebc33ff508273e7ef9
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
Introduced logic to control the bubble bar stash handle alpha based on
the notification shade state.
Test: TransientBubbleStashControllerTest
Test: Manual. Have bubbles and the bubble bar stashed. Open the
notification shade, observe that the stash handle fades away. Close the
notification shade, observe that the stash handle fades back in.
Have few bubbles, open bubbles test app, click on bubble icon. Observe
the bubble bar expands without blinking.
Test: Manual.
http://recall/-/gx8ASgewUeUS3QYohfrd1J/e1iUtwaFdezKOb0gBRff7Z
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 376140839
Fixes: 376141264
Change-Id: Id9c473f9aead0e4c5830793d9f3b0b1ae86453e7
* changes:
Take bubble selection from the shell update.
Fix bubbles animation when the new bubble added and old bubble removed.
Fix arrow animation when the new bubble added and old bubble removed.
The header has an app icon, app title and a close button. Currently
clicking on the close button does nothing. Will address it in a
following CL.
Flag: com.android.launcher3.enable_desktop_exploded_view
Test: Manual
Bug: 353965691
Change-Id: I5e0303a02d5f8afd16a5f5f0335a8fa489ff98f2
The AddingAndRemoving animation now uses a newly selected bubble index
and added bubble index arguments.
Test: BubbleAnimatorTest
Test: Manual. Enable optional overflow bubble.
Create a bubble bar with overflow containing a single
bubble. Open the overflow menu and click an overflow bubble icon.
Observe that a new bubble is added and immediately expands while the
overflow bubble is collapsing. Observe that the arrow animates to the
new bubble's position.
Test: Manual. Have few bubbles in the bubble bar. Collapse any bubble.
Observe arrow animated correctly to the newly selected bubble position.
Flag: com.android.wm.shell.enable_bubble_bar
Bug: 359952121
Change-Id: I8321e2f532189e7599b029083199e034e38080e3
- Fixes a deadlock created when initializing RecentsDisplayModel
- Also fixes an IllegalStateException when initializing RecentsDisplayModel before the default display has initialized
Flag: com.android.launcher3.enable_fallback_overview_in_window
Bug: 377678992
Test: pre/post submit
Change-Id: I5d3e000d722c311e0d5431034b68635c402c8109
RecentsDisplayModel doesn't need to be a mock. If it is mocked, then RecentsDisplayModel.getFallbackWindowInterface also needs to be mocked.
Flag: com.android.launcher3.enable_fallback_overview_in_window
Bug: 377678992
Test: pre/post submit
Change-Id: Iceb7c9cf6e9c3b0f3d08f85097ee3fde7e71f157
Set the corner radius of desktop task surfaces to 0 during recents
transitions so that corner radius doesn't interfere with the surface
bounds and corner radius applied to the RemoteAnimationTarget leashes.
Bug: 378657004
Test: manual
Flag: com.android.window.flags.enable_desktop_recents_transitions_corners_bugfix
Change-Id: Ia653ace883cabfcd573ac138cb22affd96f7f229
RotationTouchHelper is a singleton and can manage its lifecycle statically
Bug: 386288280
Test: Presubmit
Flag: EXEMPT refactor
Change-Id: I3e3105ac982ec716d5e2ee10f459d3e1cf55cd0d
The new bubble animation now uses a "selected location" argument to
position the pointing arrow.
Test: BubbleAnimatorTest
Test: Manual. Create a bubble bar with overflow. Open the overflow menu
and click an overflow bubble icon. Observe that a new bubble is added
and immediately expands. Observe that the arrow animates to the new
bubble's position.
Test: Manual. Create a bubble bar with overflow. Open any bubble.
Trigger a new bubble notification. Observe that a new bubble is added
but does not expand, so the arrow remains at the currently open bubble.
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 359952121
Change-Id: I47f5b6c2aad775f2dd3e70f8c544a3711f192342
This means that when TaskOverlayViewModel.overlayState is combining flows it does it on background. If this combination results in an emission then there is still a message to main but if it does not emit (e.g. no change filtered by distinctUntilChanged()) then it will not result in a continuation on main.
Bug: 387511656
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: Checking perfetto traces shows that this reduces the number of continuations on main significantly
Test: Manual - overlay presence + select functionality
Test: Presubmit (TAPL/image tests etc)
Change-Id: I840cb86e91db5a0626191b5eab145978ef4192e9
This avoids a persistant connection to TouchInteractionService from WMProxy,
which keeps the service alive all the time
Bug: 384896306
Test: Presubmit
Flag: EXEMPT bugfix
Change-Id: Id6fe59471c8c3f9874514f71126631f217ab610c