Added a method to the device profile to calculate the vertical center of
the hotseat icons. Simplified the logic for positioning the bubble bar.
Test: TransientBubbleStashControllerTest
Test: PersistentBubbleStashControllerTest
Test: Visual. Go to home page, check that bubble bar is vertically
center aligned with the hotseat
Bug: 345491493
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I52f1b94de79f6c912f43a88fcc5c884e20e56310
* changes:
Set task properties to prevent the task being null. This behaviour is expected by existing callers and was likely broken by ag/28151977
TaskRepository performance improvement
This CL improves Overview's performance by preventing multiple thumbnail and icon fetches for visible tasks. It introduces manual cancellation and removal of tasks that are no longer visible to prevent fetching and listening to changes in such tasks.
- Renamed 'augmentedTasks' to 'tasks' and updated it to be a MutableStateFlow with a map of Task Id and Task.
- When a new task becomes visible, the task is added to a list of requests along with a Job that fetches the Thumbnail and Icon. Additionally, 'taskVisualChangesDelegated' is added and removed for that task per request.
- When a task becomes invisible, the Job is canceled to prevent fetching the Thumbnail and Icon. The thumbnail and icon are cleared from the list of tasks, and the listener from 'taskVisualChangesDelegated' is unregistered.
- The list of tasks is updated when the list of visible tasks changes and a new thumbnail or icon is updated. This list is also updated when a force fresh from getAllTaskData is requested.
Fix: 373361888
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: TasksRepositoryTest
Change-Id: Ifd9c54fdfcb85463c043c121fb829dec3e9faedc
This CL didn't improve the performance metrics significantly enough to use Executors.MAIN. b/366077002#comment12
This reverts commit 7eae20bcb1.
Reason for revert: 366077002
Change-Id: Ic92b83a65aef7f8cd5c00110fb1ab7343d4b12b6
When a bubble is created or updated we now animate the flyout view
as part of the bar animation.
Note that the flyout is not clickable yet, and that we're not yet
handling bubble notifications interrupting each other.
Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: atest BubbleBarViewAnimatorTest
Test: atest BubbleBarFlyoutControllerTest
Test: manual
- verify flyout view is showing when creating bubble
- on home
- in app
- when bubble bar is empty
Change-Id: I315e46c89a4d20aaaa22972f0d71290a63481d9d
SettingsChangeLogger depends on DisplayController which needs to be migrated
first. Otherwise it introduces a deadlock when initializing DisplayController
in constructor
Bug: 373557167
Test: Manual (will merge automated tests once all culprits are resolved)
Flag: EXEMPT dagger
Change-Id: I2386812693e470bcee1a64d5cec49c03fd36f230
- Removing suspicious duplicate uses of AbstractLauncherUiTest.initialize to prevent unnecesary launcher restarts
- Adding UiDevice#pressHome to AbstractLauncherUiTests.verifyLauncherState to ensure the next test starts with a known clean state
Flag: EXEMPT test fix
Fixes: 372956489
Test: AbstractLauncherUiTest
Change-Id: Id68ece4ab195a4f6c47aa401eb50a91b8ff70e10
Create a remote transition supporting alt-tab app-launches (app launches
caused by a user using alt-tab to select a minimized app) and any
minimization caused by hitting the window limit during such an app
launch.
Test: manual, and WindowAnimatorTest
Bug: 349791584
Flag: com.android.window.flags.enable_desktop_app_launch_alttab_transitions
Change-Id: I6474fff351f3d7681ca25cd7331e4955e3d1c6e0
This change updates the taskbar window size after the flyout view
has measured itself. This ensure that the taskbar window is tall
enough to display the entire flyout.
When the flyout is removed we reset the taskbar window size.
Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: builds successfully and tested manually -- code is not wired up
Change-Id: I5e8618e57443212e1c4f19ab20d1542ae2d1b865
This change will reduce the increase in the amount of missed frames measured by crystalball. I believe coroutines launch is competing with Executors.MAIN for scheduling and running tasks in the main thread, thus the increase in missing frames.
Fix: 366077002
Flag: com.android.launcher3.enable_overview_command_helper_timeout
Test: OverviewCommandHelperTest
Test: android.platform.test.scenario.launcher.CloseApp3ButtonModeMicrobenchmark#testOpenLauncher
Test: atp:v2/android-crystalball-eng/health/microbench/launcher/main/launcher-action-suite
Change-Id: I4477879d4f065ec3883f2c3cb3ef044e973ce0cb
After changes following swipe interactions are available for the bubble
bar:
1. stashed handle
- swipe up to show bubble bar, after swipe reaches unstash threshold, we
show the bubble bar
- swipe down to stash bubble bar in the same gesture (without lifting
finger), do this when swipe moves back below unstash threshold
- expand bubble bar on finger lifted when currently above unstash
threshold
2. collapsed bubble bar (used in home or overview)
- swipe up and release over unstash threshold to expand bubble bar
- bubble bar can't be swiped down to stash it
3. expanded bubble bar
- no swipe interactions available
Bug: 371229061
Flag: com.android.wm.shell.enable_bubble_bar
Test: BubbleBarSwipeControllerTest
Test: manually test:
- stashed bubble bar:
- swipe up and back down => bubble bar shown and stashed
- swipe up slightly and release => bubble bar not shown
- swipe up and release => bubble bar shown, expands on release
- collapsed bubble bar:
- swipe down => no action
- swipe up slightly => no action
- swipe up and release => bar expands on release
Change-Id: I42aa59dc288446603e06a3d02419be38cf17fa1f
This class has even better sandboxing and is a TestRule, making it easy to tear down singletons.
Flag: TEST_ONLY
Fix: 369504330
Test: go/testedequals
Change-Id: I86fbfecc275da536ab745d61bef8b9bebb28379c
Extracts the flyout message from the bundle and stores it in
BubbleBarBubble.
Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: builds successfully -- code is not wired up yet
Change-Id: I5e810290991b4ee638f43add4d6a6514edb167af
- When invalidateHandler() is called, it calls endRunningWindowAnim()
which includes mParallelRunningAnim. This causes a jump if
mParallelRunningAnim was not already finished, so we now wait to
invalidate the handler after mParallelRunningAnim ends.
Flag: EXEMPT bugfix
Test: AbsSwipeUpHandlerTestCase (added two tests for this)
Fixes: 370208192
Change-Id: I37ed281a993b1d2fa3634754378314511f3295f0
Long term we'd like to use bubbles for any app, so this change
uses more general names instead of the chat-specific naming
Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: built and tested on a device
Change-Id: Idec2aa7d9a8df5df0df49231e8871298084f8aa1
Update bubble bar visibility when it is stashed.
Ensures that if alpha is updated, it won't show up.
Bug: 345687278
Test: TransientBubbleStashController
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I603a67a824a5cee0fb35de7c3f2dc98d9d2323ed