* Added dismiss view to the taskbar
* Bubble drag to dismiss of:
* A single bubble when the bubble bar stack is expanded
* All bubbles when the bubble bar stack is colapsed
* Added dismiss related calls to WMShell in SystemUI through SystemUIProxy
Bug: 271466616
Test: manual, TBD
Flag: WM_BUBBLE_BAR
Change-Id: Ibb62a0b1ab9fafa8a3acf07450ce2132ed605adc
Updates BubbleView to include logic to render the update dot on a
bubble. This only shows for BubbleBarBubbles, not the overflow.
We only show the dot (and the badge) when:
- the bubble has new content / appropriate flags set
- AND the bubbles are expanded
OR on the first bubble when bubbles are collapsed
- AND when the flyout is not animating (this bit doesn't exist yet)
If a bubble has a dot and is opened, the dot will animate away.
To do this, we update the flags set on a bubble.
The flag needs to be set on WMShell side as well as Launcher side.
When a bubble is shown by WMShell, it automatically updates the flag.
This CL adds code to update the flag on Launcher side when we call
into WMShell to show the bubble.
Test: manual
Bug: 269670235
Change-Id: I32f652effa9a73c567981aa5a2a5864e9c3c0c66
Sometimes the bubble bar shows when the launcher process starts up
even when there are no bubbles.
bubblesShowingOnHome is set to true when the launcher transitions into
Home, but that state also triggers a call to showBubbleBar() which will
eventually set the visibility on the bar.
During initialization we also call setHiddenForNoBubbles to hide the bubble
bar if it's empty, but these events happen separately so the bar may or
may not be hidden.
This change avoids calling showBubbleBar when setBubblesShowingOnHome is
called and the bar is invisible. Instead the bubble bar will become visible
once bubbles are added.
Fixes: 290608658
Test: manual
- Toggle bubbles off and back on in settings
- Restart launcher
- Observe the bubble bar is not displayed
Change-Id: I30640764d7b6eae64e1c5b5c687760465bf9a7b1
This allows WMShell to calculate the position of the expanded view
correctly when the bubble bar is being expanded from stashed.
Test: See ag/24012908
Change-Id: I7b917e761c827135942d918917c920b06650f496
When we get an update to a bubble it could mean that there's a new
message OR that something about the visual representation changed.
This CL modifies BubbleBarController to handle any visual changes
that might have occurred to an updated bubble (e.g. bubble image
changed).
It does this by updating the bubbleInfo on the existing bubble.
Test: manual
Bug: 269670235
Change-Id: I03d2510aef335dafccb32d6adcd4c6adf8b3297d
This reverts commit 853a5b9e0c.
Fixes SecondaryDisplayLauncher class by using lambda instead of method
reference for #getAllAppsItemLongClickListener. This change is necessary
because mDragLayer is late-init.
Test: Home Settings > Developer Options > Launch Secondary Display
Bug: 289261756
Flag: No
Change-Id: I7b83f81651dde360edea6ee7bea6cc82441e6bef
This will make it easier to note that a bubble has been "visited"
so that we can hide the update dot (coming in future CL).
Test: manual
Bug: 269670235
Change-Id: Ie2dbbc478198ece65c05927295d3c3031a7be82e
Bug: 276361926
Test: Initate split, dismiss whenever home is pressed,
doesn't dismiss when all apps dragged down
Flag: ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE
Change-Id: Idc95123e27963c3913d04c6eb27f0e4c9b1eb401
This allows WMShell to store the bubble bar coordinates so that it
draw the expanded view above it.
Fixes: 290099589
Test: Manual
- Add bubbles to the bubble bar
- Expand the bubble bar
- Observe that there is enough space between the bar and the
expanded view
Change-Id: Iff40b2b71369f33f343eb069e119f65723a6984e
This cleans up how alternative AllApps implementations such as Taskbar
and SecondaryDisplay override the default INSTANCE_ALL_APPS listener.
This change will also be helpful for Toast in Taskbar drag-n-drop.
Test: Manual
Bug: 289261756
Flag: n/a
Change-Id: I55eb881bcd1e210852d435a3ea2a6686ce0a9838
- There are flows where the shared taskbar state is updated prior
to being destroyed, and not updated to the latest values when
the taskbar is recreated.
ie.
unfolded -> lock screen -> LauncherTaskbarUiController's
mTaskbarInAppDisplayProgress[SYSUI_SURFACE_PROGRESS_INDEX]
is set to 1 due to the notif shade (lockscreen) showing.
This is written into TaskbarSharedState's sysuiStateFlags
and inAppDisplayProgressMultiPropValues.
fold -> TaskbarActivityContext is destroyed
unlock -> TaskbarManager and TaskbarSharedState's
sysuiStateFlags are updated while the device is folded
unfold -> TaskbarActivityContext is recreated and initialized
which restores from the shared state's
inAppDisplayProgressMultiPropValues. It also tries to reapply
the shared state's sysuiStateFlags, but this doesn't update
inAppDisplayProgressMultiPropValues because the state's
"enabled" state is not updated (default is no flag set, and
lockscreen sysui state is not set anymore).
-> The restored inAppDisplayProgressMultiPropValues value
results in the wrong translation.
- Note that after the above, the NavbarButtonsViewController state
is actually correct and reflects the SysUI state, but the
LauncherTaskbarUiController state is wrong. This CL tries to
manually update the ui controller to the correct state when it
is recreated.
- CL also fixes a separate issue where LauncherTaskbarUIController
could potentially overwrite the saved state progresses while
restoring them due to the state callback being called
Bug: 283346744
Test: Unfold -> Lockscreen -> Fold -> Unlock -> Unfold and ensure
the buttons are translated correctly
Change-Id: I43e473faf4fa2a493b9705506e3755df8f6264e7
Signed-off-by: Winson Chung <winsonc@google.com>
* Ignore orientation check from ag/22709055 for now,
that will be reverted. This causes recreateTaskbar() to
not run when folding the device
Bug: 274517647
Test: Tested 3 button nav in portrait/landscape/seascape
Flag: persist.wm.debug.hide_navbar_window
Change-Id: Ied02ead677d496b465c748257e32b7db5eb9580c
- In the case where Launcher calls startRecentsTransition while there
are no other visible tasks, we should not be continuing with the
transition as there are no tasks for Launcher to control. This was
previously handled in RecentsAnimationController in legacy
transitions, but the safer fix is to ignore it on the Launcher
side for this release.
Bug: 289175232
Test: Manually trigger empty targets and verify no issues
Change-Id: I3657c000cbc8c14c9ac989c2a57715515c96edb6
Whenever the bubble bar is unstashed and taskbar is present, the
translationY of the bubble bar is now adjusted so that it is aligned
with the taskbar.
Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/e3dlacSsSebQfEFTEt10JM
Fixes: 286247080
Test: Manual:
- Add bubbles to the bubble bar.
- On home observe the bar is aligned with hotseat
- Switch to overview and observe the bar is aligned with taskbar
- Go back to home. Bar aligns with hotseat.
- Launch an app. Swipe up to load taskbar. Bar is aligned with taskbar.
- Go back to home. Bar aligns with hotseat.
Change-Id: I93c2232d4862be4c97e36ddb6c9d680b01e555ad
* With ag/23320818 we started always passing in GroupedTaskView,
which gets used downstream to mean that we are launching an app
from tapping on it in overview
* This caused a bug in the case where we quickswitched to the last
task. Now we pass in null for GroupedTaskView like before
Test: Prior bug (b/274540670) doesn't occur, nor do repro steps
for this one
Fixes: 289163668
Flag: None
Change-Id: I82dd8f26bfc286fefc0995822786cf3980da41d0
This is an initial change that positions the bubble bar aligning it
with the center of the hotseat icons. We still need to center it
with the taskbar when in overview.
This change also fixes the touch issues where sometimes the hotseat
icons don't respond to taps. The fix is twofold:
1. Make sure that taskbar insets are always updated when
BubbleStashController#setBubblesShowingOnHome is called.
2. Update the touchable region in TaskbarInsetsController to account
for the Y translation of the bubble bar bounds when the bubble
bar is visible.
Demo: https://screenshot.googleplex.com/6NRyu2CR7Bjs32x
Bug: 286247080
Test: Manual on a physical device
Change-Id: I00daff8341e4d8f5d141b5e0220726f6c03b437c
After the bubble bar collapsing animation completes, and reordering
is finished, if the bubble overflow is selected, update the selected
bubble to be the first bubble. This ensures that the overflow
is not selected the next time the bubble bar is expanded.
This is done through a callback from the BubbleBarView to the
BubbleBarController with the key of the first bubble. Ideally the view
would just notify that the selected bubble needs to be updated, but
the controller doesn't hold ordering info.
Fixes: 289280431
Test: manual
- Add 2 bubbles to the bubble bar
- Expand the bubble bar. The first bubble A should be selected
- Select the second bubble B
- Select the overflow
- Tap on the overflow again to collapse the bubble bar
- Tap on the bubble bar to expand it
- Observe that bubble B is first and selected
Change-Id: I0f9c2d628cfaf3a80da55ff634284687425e949a