This is similar to the animations that add / remove a bubble at the
same time -- the overflow is generally added when a bubble is removed.
The overflow is generally removed when a bubble is added (i.e. user
promotes a bubble out of the overflow).
There are a couple of additional cases:
- when bubbles are first added to the bar -- if there were saved
bubbles in the overflow, the view should be added
- an app could cancel its bubbles / remove its shortcuts and not have
any in the stack but could have some in the overflow & it could
become empty without an addition.
Flag: com.android.wm.shell.enable_optional_bubble_overflow
Flag: com.android.wm.shell.enable_bubble_bar
Test: manual - add bubbles to the bubble bar for first time
=> observe there is no overflow
- dismiss a bubble
=> observe the overflow is added, tap on it, tap on the
bubble in it
=> observe that bubble is added & the overflow disappears
- dismiss all the bubbles
- add a bubble
=> observe the overflow is there & has the previously
dismissed bubbles
- cancel all the bubbles that are in the overflow via
adb
=> observe the overflow is remvoed
Bug: 334175587
Change-Id: I2b6e855e65520b4b2b1fde7757d46f00a468b4a6
Unit test ag/28323761 delays the preInflationCount check after creating ActivityContext on main thread, thus causing jank regression. This CL is a forward fix.
Fix: 354560500
Flag: NONE - jank fix
Test: Presubmit
Change-Id: I0e91dd765f1805b98895ce90804ec187e50285b4
- Both RecentsView.screenshotTask and RecentsView.updateThumbnail uses thumbnail that comes from recentsAnimationController.screenshotTask. recentsAnimationController.screenshotTask always results in TaskVisualsChangeListener.onTaskThumbnailChanged, which is a better source of truth to rely on rather than having 3 entry points for thumbnail override
- As a thumbnail objects from onTaskThumbnailChanged has the same snapshotId but are different instances, updated RecentsViewModel.waitForThumbnailsToUpdate to reflect that
Bug: 342560598
Test: RecentsViewModelTest
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Change-Id: I79b6e32224df4192e8df6930d87b222ed93bf8d8
I think this simplifies the BubbleBarController class and makes it
a bit easier to deal with the optional overflow (done in other CLs).
Flag: com.android.wm.shell.enable_bubble_bar
Test: manual - add some bubble to bubble bar, check that the overflow
is there & can be opened
Bug: 334175587
Change-Id: Ie17fa0279a981a019d5d50b9f71dc87f49d98dee
This reverts commit 00fb1adab4.
Also fixes test applyIconAndLabel_setsImageSpan_whenInactiveArchivedApp.
Bug: 350758155
Fixes: 356166053
Test: unit test
Flag: com.android.launcher3.enable_new_archiving_icon
Change-Id: I93f2ac47dc3a8fa81d59e0f089385d2b3fe93306
The info from DisplayController is the rotation of display.
While the rotation hint is from the current configuration of
the activity. Because system supports to display activities
with individual rotation at the same time, it is more accurate
to use the hint for layout.
Because there are 4 DeviceProfile instances for 4 rotations.
The instance will be used for corresponding rotation. So the seascape
attributes is a final state which no longer needs to be updated.
Bug: 356164050
Flag: EXEMPT bugfix
Test: Enable auto rotation. Enable home rotation.
Launch a fixed portrait activity.
Rotate device to 270 degree (seascape).
Swipe navigation to return to home.
Home should use 270 layout directly instead of 90
and then change to 270 after animation is finished.
Change-Id: Iad0f6ada0ec1cb7f0b5281b508d58276332076fb
Refactored
onTaskbarOrBubblebarWindowHeightOrInsetsChanged(). Made code more kotlin
idiomatic and easier to read.
Flag: com.android.wm.shell.enable_bubble_bar
Test: N/A. Refactoring
Bug: 356903636
Change-Id: If839856c449a9799c4c039d5e9b7fd30595c11aa
Included bubble bar bounds to the taskbar touch area instead of
replacing taskbar touch area.
Fixes: 356903636
Flag: com.android.wm.shell.enable_bubble_bar
Test: Manual. Switch to the persistent task bar mode, have bubble. Go to
any application or overview. Task bar icons are touchable.
Change-Id: I3775c2e69a7bf89f1d5223707d7c4c94175fcfa8
Skip preinflating all apps icons if RecyclerView doesn't have layout manager yet. Also force crash in studio build to help find a repro case
Fix: 355192472
Flag: NONE - npe fix
Test: presubmit
Change-Id: I1e3e271eb6d5b732a7a71eb466bff402c172be0a
- Simplified AbsSwipeUpHandler.switchToScreenshot to remove the unused refreshView=false parameter, so we RecentsView.updateThumbnail don't need to return a TaskView
- Changed TasksRepository.setThumbnailOverride to addThumbnailOverride, that'll accumulate overrides being sent to it
- Handled RecentsView.updateThumbnail to add an override to TasksRepository
- visibleTaskIds being sent to TasksRepository now take acccount of fileering out mTmpRunningTasks
- Updated a few TODOs around thumbnail/icon reloading
Bug: 342560598
Test: TasksRepositoryTest
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Change-Id: Ia892819c45f20e82fbda275fd0e39081d6362cb6
When finding last active tasks we didn't account for the fact that there
could be more than 2 tasks in a GroupTask. This cl fixes that so it
finds the correct last active tasks in desktop cases.
Also make sure that if a DesktopTaskView is found, we don't launch it
through TaskView#LaunchTasks to create a transition that we can handle
in WM Shell.
Fix: 327447672
Fix: 354171747
Flag: EXEMPT Bugfix
Test: atest SplitSelectStateControllerTest
Change-Id: I71cc630a79f23e5eaad10b3c2284496422ce6994
Replace usages of the old get/setPendingIntentBackgroundActivityLaunchAllowedByPermission
API with the new replacement (passing in mode = ALWAYS).
Test: atest TaskAnimationManagerTest
Flag: EXEMPT refactor
Bug: 352182359
Change-Id: I76998b2bfa9d76ab3659ddd4d4c42d74872f5b2f