In other CLs we pass specific RemoteTransitions to Shell for app
launches and unminimize actions. Those CLs cover Launcher actions like
the keyboard alt-tab shortcut, or launching an app from Taskbar.
This CL covers launches that don't originate from Launcher, e.g.
launches through intents.
Test: DesktopAppLaunchTransitionManagerTest
Bug: 369966416
Flag: com.android.window.flags.enable_desktop_app_launch_transitions
Change-Id: I82fd72f870c1e38efe5a8ce533a60f282c10203c
When device is rotated, taskbar goes through recreate flow.
LauncherTaskbarUIController restores the state for taskbar in-app
display multiprop.
Ensure that bubble bar is positioned within the taskbar bounds.
The multiprop values in LauncherTaskbarUIController for taskbar in-app
display progress can be restored from shared state when the device
rotates. But this means when we receive updates to various indexes, the
progress for that index may not match what is the actual value of the
multiprop. As it relies on the max function.
Make sure we pass along the actual value for in-app display progress
when updating bubble bar and not the value for the index that got
updated.
Also make sure bubble bar translation always updates when updates are
received as this is the only path for bubble bar to receive updates.
Make sure that when we do override bubble bar translation using in-app
display progress, any existing animation for bubble bar translation y is
cancelled. Otherwise the unlock animation was animating the bubble bar
to the incorrect position after unlock.
Bug: 377621110
Flag: com.android.wm.shell.enable_bubble_bar
Test: atest PersistentBubbleStashControllerTest
Test: manual, have bubble bar with 3 button nav, swipe to -1 and rotate
the device, observe that bubble bar is in the correct position
Test: manual, repeat same test with all apps open, observe that bubble
bar has correct position after rotation
Test: manual, with gesture navigation, observe that bubble bar has
correct position on home screen, -1 and all apps after rotation
Change-Id: I66138e003c4b371299e40558fdadc142fbdbbcd5
Change logic to updated bubble properties even we do not have any
bubbles.
Fixes: 376141825
Flag: com.android.wm.shell.enable_bubble_bar
Test: Manual. Set 3 button navigation mode, rotate the device.
Change-Id: Ide6df73b3b24c628a0f9e6db6582d4e2ddadfc04
When taskbar is in pinned mode with bubble bar expanded, in some
scenarios, we hide taskbar contents (i.e. when bubbles overlaps with
taskbar) and the scrim still shows.
One of the existing tests in TaskbarScrimViewController checks that
the scrim would be 0 when taskbar is not visible, however, in the
bubble bar case this isn't always true... I think there probably are
cases where taskbar isn't visible for other reasons (e.g. shade is
pulled down, but there are other tests specific to that). I'm
setting this test to only run when bubble bar isn't running, because
in that case bubbles never impacts taskbar visibility.
I added a test case to ensure scrim is hidden when pinned BUT bubble
bar is on home -- in this case we shouldn't show the scrim.
When adding the enableFlag/disableFlag I saw some NPEs in onDestroy
methods of some controllers so I protect against those as well.
Flag: EXEMPT test change
Test: atest NexusLauncherTest:TaskbarScrimViewControllerTest
atest NexusLauncherRoboTest:TaskbarScrimViewControllerTest
Bug: 377764181
Change-Id: I71001222aa8a4393b341dd2b43a4b2e46e617a70
When persistent taskbar is used, bubbles align with hotseat when
launcher state is home. But when user navigates to the -1 page or all
apps, we show the persistent taskbar instead of hotseat.
3 button navigation container shifts in this case. Apply the same shift
to bubble bar.
Bug: 376141984
Flag: com.android.wm.shell.enable_bubble_bar
Test: atest PersistentBubbleStashControllerTest
Change-Id: I2765936e0bac43a790b628e7df2a1b4ddad32cae
- Provide both launch and minimize animations from
DesktopAppLaunchTransition
- Add support to TaskbarRecentAppsController to check whether an app is
visible vs. minimized vs. not showing at all in Desktop Mode
- Use DesktopAppLaunchTransition when clicking a Taskbar/AllApps app
icon (when in Desktop Mode and the app is not visible) to animate the
app launch
- The animation / transition is passed to Shell through ActivityOptions
Note: this CL does not add animations for launching managed/work
profile apps. That will be handled in b/376819104.
Test: launch apps in Desktop from Taskbar/AllApps
Bug: 327428659
Flag: com.android.window.flags.enable_desktop_app_launch_transitions
Change-Id: I44be96b9c53718b2082d2f630e1921356785fc4b
Making LauncherInstrumentation optional and removing some reduntant constants.
This allows less dependency on AbstractLauncherUITest
Bug: 377772352
Test: Presubmit
Flag: EXEMPT test refactor
Change-Id: I7cf78d6acc5fef0359dee141a06fd51ff9d4f5a8
When enough widgets are not passing the filter, additional randomly
selected widgets are added.
The count to decide whether to add more is a configuration, so that,
if some OEMs don't want any suggestions, can override the value to 0.
Bug: 356127021
Flag: com.android.launcher3.enable_tiered_widgets_by_default_in_picker
Test: Unit tests
Change-Id: Iffa8619149a1a4b468d367fc7bbee381be59469d
This CL updates a test to verify the behaviour while swiping up from a fullscreen app to Overview and checking if that TaskView is between DesktopTasks (right side) and Grid Tasks (left side).
The test adds the following validations:
- Launches adjacent task while DesktopTask is at the center of the screen
- Swipe up from a fullscreen app to Overview to validate whether the task is between other tasks and desktop tasks.
- Fling back to DesktopTask to dismiss the adjacent focused task
Fix: 353948167
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Test: TaplTestsOverviewDesktop
Change-Id: Iaa15d4061c3b6ba8fc0d03416b4721cdf3f047c3
After the flyout initializes to its collapsed state, hide the
notification dot so that the flyout and dot will seem visually as
one.
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 376276297
Test: atest BubbleBarFlyoutControllerTest
Change-Id: Ie581ddcd56a26844526f80b2169639c1a7d87500
When a new bubble notification is pushed during an ongoing animation
we now update it to reflect the new bubble.
- If the current animation is in the middle of animating in,
we only update the animating bubble without interrupting the
current animation. The flyout content will show the data for the
new bubble.
- If the current animation is in the IN state, then the flyout is
showing and we're just waiting for it to be hidden. In this case
we update the flyout and reschedule the hide animation to run after
a delay.
- If the current animation is animating out,
- If we're in the middle of collapsing the flyout, we reverse it
so it shows with the new content and reschedule the hide animation
- If the flyout is gone already, then we reverse the handle animation
and show the flyout. If the handle animation is not running, then
the animation is already over.
Not really related to this change, but while testing one of the tests
was flaky, so rewrote it to make it deterministic.
25x runs: https://android-build.corp.google.com/test_investigate/invocation/I56000010330987902/test/TR44729496826317635/
Demo of interrupting the animation while animating out: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/cu4fLeFlnDkg7mDVaaDTB
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 277815200
Fixes: 346400677
Test: atest BubbleBarFlyoutControllerTest
Test: atest BubbleBarViewAnimatorTest
Change-Id: I2b4af36d39bedbdfc4a08a988967ccbc33c06522
- FallbackTaskbarUIController can take in a generic
RecentsViewContainer parameter, i.e. RecentsActivity or
RecentsWindowManager.
- When changing Overview targets to RecentsWindowManager, which is not
an Activity, we still update the TaskbarUIController
Test: Switch between default Home activities with the flag on and off,
ensure Taskbar works as expected in each case (3P vs 1P launcher).
Flag: com.android.launcher3.enable_fallback_overview_in_window
Fixes: 368030750
Fixes: 365775636
Change-Id: Ife775e8c226f8c73ec9e1f97b4a6f2972f6c905f
The Taskbar under test should now be sufficiently isolated from
Launcher, so we no longer have to suspend it.
Flag: TEST_ONLY
Bug: 230027385
Test: go/testedequals
Change-Id: I20cff11c90208b59f1dca3730ec3978913c43a50
Add functions to allow updating the contents of the flyout while it
is either expanding or fully expanded.
Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: atest BubbleBarFlyoutControllerTest
Change-Id: Iea3fc7df792e02605df6b44c1da39e267f6d9d43
This CL adds 2 new E2E Tapl tests for checking dismiss DesktopTaskView.
- dismissFocusedTask_thenDesktopIsCentered validates the following scenarios:
- Scenario: When Focused Task is in the center of the screen, with 1 other task in the grid and 1 desktop task.
- When focused task is dismissed, the next task in the grid takes its place to be the next focused task at the center of the screen.
- When the last focused task is dismissed, the desktop task takes its place at the center of the screen.
- dismissDesktopTask_thenFocusedTaskIsCentred validates the following scenarios:
- Scenario: When Desktop Task is in the center of the screen, with 1 focused task and 1 task in the grid.
- When focused task is dismissed, the next task in the grid takes its place, adjacent to desktop task.
- When desktop task is dismissed, the focused task takes its place at the center of the screen.
Fix: 353948500
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Test: TaplTestsOverviewDesktop
Change-Id: Ie2aa28cd2b30a2bf10e877721416399bcf47acf6
to share the animator with the minimize button.
Flag: EXEMPT refactoring
Bug: 369349585
Test: manual
Change-Id: I42325913313a85e1086ab6bc4151f60cb3bc4605
Expand the bubble bar when the user taps on the flyout view.
Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: atest BubbleBarViewAnimatorTest
Test: atest BubbleBarFlyoutControllerTest
Change-Id: I156acfa663d6a00bc70dd7bbfc35642643902d83
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
Continued quick switch couldn't work using existing infrastructure until RecentsWindowManager could be properly tracked by ActivityTracker. Refactored ActivityTracker into ContextTracker to support this.
Also refactored ActivityInitListener into ContextInitListener to fit the updated pattern.
Flag: com.android.launcher3.enable_fallback_overview_in_window
Fixes: 366023051
Test: RecentsWindowSwipeHandlerTestCase; Attempted continued quick switch from home and launched app
Change-Id: Ic38ebf3611ef22fbfd1ddeb79d72d8a3621940a0