This cl includes
- adding support for listenting into when desktop window mode task is resizing and we need to adjust taskbar corner radius.
Test: Presubmit
Bug: 348335379
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: Ic6ea3dc1353df7fa4b8079106f20fade0f740683
Instead of unstashing bubble bar in TaskbarUnstashInputConsumer
handle it in its own input consumer instead. This is a nicer
separation of concerns and simplifies the logic in both places.
Additionally, this fixes issues where swiping up the bubble bar
handle might initiate / be handled by gesture nav (or all apps) when
really any events originating on bubble UI should be managed by
bubbles instead.
Adds some mostly mock'd tests to check that the static method used
to indicate if bubbles should take the event or not works correctly.
Flag: com.android.wm.shell.enable_bubble_bar
Test: manual - test swipe up on bubble bar handle in an app
- test swipe up on bubble bar on home - it should
open & all apps / launcher transition shouldn't happen
- longpress to drag bubbles around on home and overview,
try the collapsed bar & individual bubbles in the
expanded bar
- test dragging on the bubble bar after it's revealed
in an app
Test: atest BubbleBarInputConsumerTest
Bug: 345488529
Change-Id: I964d213d71de15e4350cff5202dfb9343de1af14
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
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
Integrated the PersistentTaskbarStashController and the
TransientTaskbarStashController into the launcher code. Made changes to
the TaskbarInsetsController to set appropriate touchable zones. Updated
the TaskbarUIController to not start the overview transition on clicks
for the collapsed bubble bar.
Bug: 346391377
Fixes: 350065038
Fixes: 355664783
Flag: com.android.wm.shell.enable_bubble_bar_in_persistent_task_bar
Test: com.android.launcher3.taskbar package tests
persistent taskbar and transient taskbar manual testing:
- on launcher home screen expand bubble bar, switch between bubbles,
remove bubble via bubble menu, add bubble, remove bubble with the drug
gesture, add bubble, collapse bubble bar
- repeat previous test on launcher overview screen and inside any
application
- after last test drag expanded bubble view to the opposite side of the
screen
Change-Id: I50f2c510854c4895fdfc9bd453a261c2103286fd
Currently only enabled for app launch animation
Future work is planned:
- Overview to home
- App dismiss
- When QSB is drawn inline
Bug: 345768019
Test: Launch an app, taskbar background and stashed handle will
first wrap around hotseat before transforming into the
stashed handle.
Verified by locally forcing taskbar background and
stashed handle to always draw.
Flag: com.android.launcher3.enable_scaling_reveal_home_animation
Change-Id: I9ab1870f87247b6a1b53a352ac3eb0183b7a1a1d
Hotseat supports adjusting its layout to make room for bubbles when
needed. There are 2 events that trigger this:
1. When Hotseat's layout is reset, it checks for whether bubbles
are showing.
2. When Bubble Bar visibility changes it notifies hotseat so that
it can update itself.
Folding the device is recreated triggers both hotseat layout reset
and recreation of taskbar, but the order in which these happen is not
guaranteed. Sometimes hotseat checks for the status of bubble bar
which may be visible if taskbar hasn't been recreated yet.
This change makes sure that hotseat updates itself after taskbar is
recreated and the ui controller is set, so that it cleans up any
adjustments it may have if bubbles are not visible.
This change also updates the way QSB adjusts itself for bubbles.
Previously it always animated from the same start value to a target
value. Now the animation starts from its current width to the target,
so that if the current width is already equal to the target width,
there is no visible change.
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 349430356
Test: manual
- unfold the device
- create bubbles
- observe hotseat adjusts itself for the bubble bar
- fold the device
- observe bubble bar is gone and hotseat shows correctly
Test: manual
- start a youtube video in full screen
- swipe from the edge of the screen to show the gesture nav
- swipe on the gesture nav to go home
- observe that the QSB does not animate
Change-Id: Ia0267ec518d6af9c3c3b68f17bb20ea67a49e5fd
This CL includes
- Taskbar container enum class and interface for container to calculate their space needed.
- Inits and getter of util classes in taksbar activity context.
- Taskbar Icons specs not have default margins and minimum touch target specs
- Updates to the test
- Logic for calculating the space needed for taskbar container
Test: Presubmit
Bug: 341146605
Flag: com.android.launcher3.enable_taskbar_customization
Change-Id: I89e9d521476902a9027f6fd0cebdc2690b2e5f31
Feels like it should be the activities' responsibility to coordinate the EDU with stashing. All of these methods are also public to TaskbarActivityContext.
Test: Compiles
Bug: 346394503
Flag: EXEMPT refactor
Change-Id: Ibedd8caec59da3b3a14c15d0c948bf1069ca3c6c
Revert submission 28049476-kqs-cuj-instrumentation
Reason for revert: Droidmonitor created revert due to b/352144322. Will be verifying through ABTD before submission.
Reverted changes: /q/submissionid:28049476-kqs-cuj-instrumentation
Change-Id: I8bfe7bfe4ce1bd816f138dbd4d5915f837ab97a0
Before this CL we would show only one Taskbar icon per app, making it
impossible (through the taskbar) to switch between several windows of
the same app.
With this CL we add one icon per task instead, making it possible to
bring each task to the front individually.
Flag: com.android.window.flags.enable_desktop_windowing_taskbar_running_apps
Bug: 351118893
Bug: 349790805
Bug: 351156858
Test: Started several Chrome windows -> taskbar has one icon per window
Change-Id: Ia692977effceb9ce339906bf6ca24d73e19d8769
Hotseat supports adjusting its layout to make room for bubbles when
needed. There are 2 events that trigger this:
1. When Hotseat's layout is reset, it checks for whether bubbles
are showing.
2. When Bubble Bar visibility changes it notifies hotseat so that
it can update itself.
Folding the device is recreated triggers both hotseat layout reset
and recreation of taskbar, but the order in which these happen is not
guaranteed. Sometimes hotseat checks for the status of bubble bar
which may be visible if taskbar hasn't been recreated yet.
This change makes sure that hotseat updates itself after taskbar is
recreated and the ui controller is set, so that it cleans up any
adjustments it may have if bubbles are not visible.
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 349430356
Test: manual
- unfold the device
- create bubbles
- observe hotseat adjusts itself for the bubble bar
- fold the device
- observe bubble bar is gone and hotseat shows correctly
Change-Id: I58d925c178b02c22583488ae081d478bbbbccc8c
* changes:
Override DisplayController on main thread.
Add annotations for manipulating secure settings.
Don't use UiThreadTest for Taskbar Unit tests.
Suspend Launcher taskbar while removed for tests.
By default, tests will run with user setup complete and kids mode
disabled.
Test: TaskbarUnitTestRuleTest
Flag: TEST_ONLY
Bug: 230027385
Change-Id: If6c74b3b2c07aa0eac5b6bda933b565351d65188
- Move logic from KeyboardQuickSwitchViewController to handle
bringing desktop tasks to front, and still support recent
tasks for non-desktop mode.
Flag: com.android.launcher3.enable_recents_in_taskbar
Test: manually launch tasks from the Recents section in both
Desktop mode and full screen mode (running vs recent)
Bug: 315354060
Change-Id: I0520351b4d0095a3538c6165acd82a7b4c45a5e2
- Taskbar background will fade in based on
1. Velocity threshold
2. End target gesture destination
Bug: 298089923
Bug: 345768019
Test: swipe up fast to go home, note no taskbar bg
swipe up slow to reveal taskhome, note taskbar bg shows immediately
Flag: com.android.launcher3.enable_scaling_reveal_home_animation DISABLED
Change-Id: I2c16352e1c0c52a8afc49900a39b80383bacde62
Based on new UX guidelines, the corners for the pinned taskbar should be 16 dp.
Fix: 337872323
Test: Put device in 3 button mode and pinned taskbar and observe
sharper, fixed corners. Transient taskbar remains unchanged.
Flag: EXEMPT bugfix
Change-Id: I2130e91dcdc0afb007fde93438f3fa603bc15af8
- Merged DesktopTaskbarRunningAppsController up into
TaskbarRecentAppsController, which is now initialized directly
- The old TaskbarRecentAppsController was effectively a no-op
that was always overridden, so merging the one subclass up makes
things simpler (especially for the follow up CLs which will add
support for switching between Running and Recent tasks using
the same underlying data).
Flag: com.android.launcher3.enable_recents_in_taskbar
Test: TaskbarRecentAppsControllerTest
Bug: 315354060
Change-Id: I8411fb832e5dd3d76201d2694dec0b11bd70bbf9
Introducing isTinyTaskbar and using in a few places to show Taskbar on
phones.
Disabling for three button mode since the buttons will take up most of
the space. Could also prototype adding meta key as a 4th button in
this case if we feel like it.
Flag: com.android.wm.shell.enable_tiny_taskbar
Test: Manual
Bug: 341784466
Change-Id: Iba07382d9bd5d14fc29ef080a390db561f6fd454
We already reached the limit of 32 flags for an int. To be able to have
more, changing from int to long.
This is needed, as new flags have to be added.
Flag: NONE
Test: Manually running SysUI and Launcher
Test: Unit tests in CL
Bug: 335625543
Change-Id: Iec1d40218264c7c64c50fd09764aa07c0caa7787