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
Also unregister it if the feature becomes disabled (currently
this is only done in tests but in the future there will be a
user setting as well).
Added tests to verify getTasks() is not called while both
canShowRunningApps and canShowRecentApps are false.
Bug: 354087794
Test: TaskbarRecentAppsControllerTest
Flag: com.android.launcher3.enable_recents_in_taskbar
Flag: com.android.window.flags.enable_desktop_windowing_taskbar_running_apps
Change-Id: I3123501e7584ad7f877e13294454556501d2dbc8
Covers the UI references related to widget picker or its shortcut.
Test: Existing tests
Flag: EXEMPT minor refactoring
Bug: 353347512
Change-Id: Ifed1b7600ca9836df147949f3740ca1e89acd04a
To revert the preference change on PreviewItemManagerTest for on-device
test.
Bug: 354157494
Test: Unit tests
Flag: EXEMPT bugfix
Change-Id: I966cbd7bf85b0336e131c6e9e4bb306b3700a928
Added common BubbleStashController interface and implementation for the
PersistentTaskBarStashController. Added tests for the implementation.
Bug: 346391377
Flag: com.android.wm.shell.enable_bubble_bar
Test: PersistentTaskBarStashControllerTest
Change-Id: I353e5a2cfa2d39e83b0e94980938aee8a1002fd9
Add a talkback announcement that tells the user when bubble bar expands
or collapses. The announcement includes the bubble name.
Bug: 344670486
Flag: com.android.wm.shell.enable_bubble_bar
Test: expand bubble bar by tapping on it, hear the announcement
Test: collapse bubble bar by tapping on it, hear the announcement
Test: expand/collapse bubble bar from action menu, hear the announcement
Test: use action menu to move expanded bubble bar from one side to the
other, make sure there is no announcement
Change-Id: I3908bda3eb9e3eb201067fb2c465c3a883ce73d4
6 public methods tested, 8 unit tests total
no previous test class
Bug: 353303621
Test: unit tests
Flag: TEST_ONLY
Change-Id: Ie2b5c88566c1a512e534654ccc7db1ec6b277a83
flag to use DesktopModeFlags
Test: Current tests pass
Bug: 348193756
Flag: com.android.window.flags.show_desktop_windowing_dev_option
Change-Id: Ib1b1b01f6a94b4d9c49019a31d0e2269246c301b
Tests LPNH for the standard conditions (no flags or AGA configs).
Specifically tests:
- Delegate stealing focus
- Long press triggers with steady hold or slight slop
- Up, cancel, or excessive slop cancels the long press
- Touch ignored if outside the nav handle (not centered)
Things behind flags / AGA config which are not yet tested:
- 2 stage detection (double timeout after small slop)
- Deep press
- Custom timeout from AGA
Fix: 353613291
Test: NavHandleLongPressInputConsumerTest
Flag: TEST_ONLY
Change-Id: I5ada3a07ccec9062ac22fa21b00d5a030f6d134a
Migrates to write to widget picker data provider instead
Test: Existing tests
Flag: EXEMPT minor refactoring
Bug: 353347512
Change-Id: I1735151e133db0358dfd4f7fa824c6bc7d792307
The change listener on popup provider was for listening to widget
updates. With the widget now updated in widgets picker data provider,
this moves over the listeners to it.
Test: Existing tests
Flag: EXEMPT minor refactoring
Bug: 353347512
Change-Id: I163529d207ea65044f8e3d6e77e87e0e674b82be
Separate provider in ActivityContext and relevant implementations that
open widget picker
Bug: 353347512
Flag: EXEMPT BUGFIX
Test: Unit test
Change-Id: I55df3d9ce6ae9b7d0a310a8686b188618d229065
Child cl removes those methods from popup provider and updates its
references
Bug: 353347512
Flag: EXEMPT BUGFIX
Test: Unit test
Change-Id: Id559e8c8d32a40adab961e7c710ec835d5a92184
Using appTitle doesn't seem to work and instead returns null. Content description seems to work
better anyways and show what user type (work/private)
bug: 353796175
Test: after: https://screenshot.googleplex.com/8ysLRHc9cRPg3JF
Flag: NONE adding logs
Change-Id: I4ddab1c02d795d87190592471f84faa6c98f0bfd
Main thread tasks should be idled before verification
Test: atest NexusLauncherRoboTests
Flag: TEST_ONLY
Change-Id: I6db696c73be2e9689dd290fd1a8c4deffa17ff01