Added logic to check if handle view alpha should be updated during SysUi
flag updates.
Fixes: 417125892
Test: Manual. Create a new bubble on the home screen, observe the stash
handle is not visible.
Have stashed bubble bar and multiple system languages.
Go to settings (or ane other apps that has input fields). Click on
search to trigger keyboard pop up. Observe that stash handle is hidden.
Collapse the keyboard and observe that stash handle is shown again.
Flag: EXEMPT bug-fix
Change-Id: I0976f37ca24ba816ee5eed6d4f1b4e6999b54c29
Added SYSUI_STATE_IME_VISIBLE flag to MASK_HIDE_HANDLE_VIEW to hide the
bubble bar stash handle view. Also update alpha to 1 for the stash
handle view when visibility is updated to VISIBLE.
Fixes: 403363673
Flag: com.android.wm.shell.enable_bubble_bar
Test: Manual. Have stashed bubble bar and multiple system languages.
Go to settings (or ane other apps that has input fields). Click on
search to trigger keyboard pop up. Observe that stash handle is hidden.
Collapse the keyboard and observe that stash handle is shown again.
Change-Id: I5c8518cf02cc784243f9f55a95022279b2608760
Stash handle alpha animator was set to control the visibility of the
view. This caused issues with the state as sometimes the alpha animation
conflicted with the state of the bubble bar. And caused the handle to be
visible when the bubble bar (or handle) should not be.
Remove the ability for the handle alpha animator to manage the
visibility. We already have logic in place to ensure that the stash
handle is visible or invisible based on the state. And it is not needed
for the animator to manage it.
Bug: 392121302
Flag: com.android.wm.shell.enable_bubble_bar
Test: atest NexusLauncherRoboTests
Test: move an app to bubble, move it back to fullscreen, check that
handle is hidden
Test: check that handle is hidden and shown when in app and opening
notif shade
Test: check that handle is hidden and shown when in app and locking and
unlocking device
Test: check that handle is shown when receiving bubbles in app and the
bar stashes after showing new bubbles
Change-Id: I4af8b4fa38f63b3cbc01f9cf59e66d7fc651ab13
When the bubble bar is stashed and an icon is dragged from the search
grid towards it, the bubble bar should be un-stashed. Conversely, if the
icon is dragged to the opposite location of the stashed bubble bar, the
handle should teleport out, and the collapsed bubble bar should
teleport in.
This change implements logic that addresses this behavior.
Bug: 399678274
Test: Manual. Drag and drop application icons from the search grid to
the bubble bar drop areas.
Flag: com.android.wm.shell.enable_create_any_bubble
Change-Id: Ief9ef3e5c24f8199b2812fd0adf63ae3f6cf8f32
Use a similar animation for bubble bar icons as we use for taskbar. When
stashing or unstashing, use a reveal animator to show the icons.
Previously we were scaling the icons to the desired size.
New reveal animator matches what is used for taskbar.
Bug: 345488489
Test: TransientBubbleStashControllerTest
Test: stash and unstash bubble bar in app by swiping up from taskbar
Test: expand and collapse bubble bar in app by swiping up on bar
Test: expand and collapse bubble bar on home screen by tapping on it
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I24b0c64673d6becfa2ed68993bb95fe78e105670
When animating bubble bar from the stash handle, scale the width to the
handle.
Bubble bar is already almost the size of the handle, but a small scale
is still added.
Bug: 345488489
Flag: com.android.wm.shell.enable_bubble_bar
Test: atest TransientBubbleStashControllerTest
Test: slow animations down and unstash and stash bubble bar, observe
that the width of the bubble bar scales down to the handle
Change-Id: I54dc228fa41d4d494bfb15e191d2ba563c0970c7
Bubble bar should stash and unstash from the handle.
Update the animation to match what is used for the taskbar animation.
Fix the stash handle reveal animation to animate the stash bounds to
bubble bar bounds and back.
This gives the effect of the handle morphing into the bubble bar and
bubble bar morphing back into the handle.
Bug: 345680453
Flag: com.android.wm.shell.enable_bubble_bar
Test: atest TransientBubbleStashControllerTest
Test: have bubbles in bubble bar and be in app, swipe up for taskbar and
observe the bubble bar handle transforming into the bubble bar
Test: with taskbar and bubbles expanded, check that bubble bar
transforms into the handle
Change-Id: I8508e9207092774cbdb990e65f7f84e56a924d0c
- update imports for usages in launcher
Flag: EXEMPT updating imports & bp file for class moving to sysui
Test: make; gradle build for launcher; treehugger
Bug: 353160491
Change-Id: I6d9d004e8ab6f67f494927424d2651c5b848e967
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
Update the BubbleBarAnimator to handle auto expanding bubbles as
well as expand signals that are received while animating the bubble
bar.
The expansion starts after the bar reaches its peak height. If the
hide animation starts before the expansion signal is received, we
ignore it.
Next step is to delay showing the expanded view until the bubble bar
starts expanding.
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 353644484
Fixes: 356415377
Bug: 339683389
Test: atest BubbleBarViewAnimatorTest
Change-Id: I79a63f0b8728abc1ab3345f0116cbfcba2918643
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
This change updates that animation that plays when a new bubble notification is received. We now animate the entire bubble bar rather than the individual bubble.
Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/dwbsZJZlqLwJ2IG7RfJZ7c
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605846
Test: atest BubbleBarViewAnimatorTest
Change-Id: I2dc58ad61b880d76c9eefa462c3aee4e8bbb3584
This change is a rewrite of the new bubble animation. Previously we chained the handle animation and the bubble animation so that they run sequentially.
That caused the transition from the handle to the bubble to be jarring.
We now use a single spring animation along the y axis that starts from the position of the handle to the position of where the bubble will end up.
The animation is split into 3 logical parts, where initially the bubble animates out, then the bubble starts animating in, and the last part is the overshoot of the spring animation, which is used to mark the bubble fully visible and ensure that from that point on, the bubble is only moving but doesn't change in scale or transparency as the bounce effect is playing.
Using a single animation path allows for a smooth transition from the handle to the bubble view.
Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/hHNUBdNJPiWi9gMbqy45UJ
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605846
Test: atest BubbleBarViewAnimatorTest
Change-Id: Ic1d3244574b8500d4aad2e9c718e61c1c34bd82a
The stash handle now animates out before the new bubble animates in, and animates back in after the new bubble is hidden.
There's still some additional polish needed :)
Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/z30Ob1rcDUkNEphLAQsgV
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605846
Test: atest BubbleBarViewAnimatorTest
Change-Id: I03449286b01ec96de9834e24a707652ddbe49fb0
Adds bubble bar location to the update object that is sent by shell.
Allows repositioning the bubble bar if the location changes.
Bug: 313661121
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Test: manually sending the update to reposition, dragging coming soon
Change-Id: Id430a98116d860a7badcf607edc166c751e12cf8
When system language is set to an RTL language, we move the bubble bar
to the left.
Move the stashed bubble bar handle to the left in this case.
Tweak the bubble bar expand animation so that the bubbles expand from
the left edge.
Flag: LEGACY persist.wm.debug.bubble_bar DEVELOPMENT
Bug: 273310265
Test: repeat following steps with LTR and RTL system languages
- add couple of bubbles to bubble bar, open an app, observe stashed
handle on the left
- swipe up from system navbar to show taskbar and bubble bar
- swipe up from bubble bar handle to show bubble bar and expand it
- drag bubble bar to dismiss target and back out and release
Change-Id: Ia3b7892bba732a5278168d63db0594087f55fad4
This change introduces a motion event flag to signal that the gesture
is being originated over the bubble bar (similar to the nav bar gesture flag). Downstream consumers use this flag to ignore the event in order
to allow the bubble bar to handle it.
The black screen in b/293348900 seemed to be related to the recents
shell transition closing the app that was in the foreground before
swiping on the bubble bar handle. Not sure why it ended up with a black
screen, but this change avoids starting the recents transition entirely.
Demo: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/BSxLROoflr1i2yy0v6Y4G
Fixes: 294421126
Bug: 293348900
Test: Manual:
- Add bubble to the bubble bar
- Swipe up over the bubble bar
- Observe that the bubble bar expands
- Launch application
- Swipe up on the bubble bar handle
- Observe that the bubble bar expands
Change-Id: Iea15829de97edb6bfbfb7007388865230faaf736
The bounds of the bubble stash handle is calculated based on the bounds of
the bubble bar. The problem is that the bubble bar could be invisible, which
results in incorrect bounds set for the handle.
This change sets the bounds for the handle based on the width of the screen.
Fixes: 290992144
Test: Manual
- Remove bubbles
- Restart Launcher
- Open the bubble test app and double tap on a chat
- Observe that the handle animates in
Change-Id: Ida260014d59b88387de010891c18057f3b091e93
When the first bubble is added we set the visibility of the bubble bar
to VISIBLE if the stash controller is unstashed. The issue is that once
bubbles are gone we no longer update the stash state in the controller,
so it becomes stale and can't be used when the first bubble is added.
This change introduces a new method for handling the transition from
the state where both bar and handle are invisible into the state where
one of them becomes visible. We can't use the existing stashBubbleBar
and showBubbleBar methods because those transition from one to the other.
Using them when both are invisible results in one of them becoming visible
and then invisible again.
Fixes: 290992144
Fixes: 291074646
Test: Manual:
- Add bubble in the test app by double-tapping on a chat (non expanding notification)
- Observe that the handle becomes visible and the bar is invisible
- Dismiss bubble
- Add bubble in the test app by tapping on the button on the right (auto expanding)
- Observe that the bar becomes visible and expanded
Change-Id: I61334c67c255a6ed074fa8c834f4a5a1547539bf
Switching between gesture nav and 3 button nav may lead to a state where
the RegionSamplingHelper is unexpectedly null.
Bug: 269670598
Test: In Settings switch navigation modes until launcher crashes.
Change-Id: I56d6eea81070f367db292c1ded9866452f6e2650
Adds two controllers to manage and animate the stash / unstash state
of the bubble bar. Adds them to BubbleControllers.
Bug: 253318833
Test: manual, with other CLs, see go/bubble-bar-tests
Flag: WM_BUBBLE_BAR
Change-Id: I1a67da888384b1ae0fe3f79a25ea6a2c1b7eef87