Added logic to notify the BubbleBarLocationListener implementors on
bubble bar location updated.
Bug: 411506181
Test: DragToBubbleControllerTest
Flag: com.android.wm.shell.enable_create_any_bubble
Change-Id: I51290bb6c2b35ff913a43c04db35be65b377ea03
Added logic to notify the BubbleBarLocationListeners (Taskbar and
Navigation bar) of bubble bar location animated.
Fixes: 420929193
Test: Manual. Use unfolded foldable device. Set 3 buttons navigation
mode. Go to the launcher overview screen. Create any application bubble.
Drag bubble to the opposite side of the screen - observe navigation
buttons bar updates its location with the bubble bar.
Add one more application bubble. Drag bubble from the expanded bubble
bar. Observe navigation bar position is updated with the bubble bar.
Flag: EXEMPT - bugfix
Change-Id: I2bbdcdd702141b19695480e87d6cdd456e834e11
Extracted logic that could be reused in the shell and Launcher to
DragToBubbleController
Bug: 411505605
Test: DragToBubbleControllerTest
Flag: com.android.wm.shell.enable_create_any_bubble
Change-Id: Ie97367f9a53acd606c8a09665a5d14e4b6bebba7
Revert submission 33672643-DataDeviceProfile1
Reason for revert: Droidmonitor created revert due to b/419867875. Will be verifying through ABTD before submission.
Fix: 419867875
Reverted changes: /q/submissionid:33672643-DataDeviceProfile1
Change-Id: Icb66aefbbcee24e05806b2139923e1f2ea1c65e3
Fix the state of the bubble bar when the initial state received
from sysui has the overflow selected, which can happen after
unfolding. This ensures that the arrow position is set correctly,
and that when tapping on the overflow in this state the bar
collapses.
Bug: 392893178
Flag: com.android.wm.shell.enable_bubble_bar
Test: manual
- have floating bubble and expand
- selecte overflow
- unfold
- observe overflow is expanded and bubble bar arrow position
is correct
- tap on the overflow bubble
- observe bar collapses
Change-Id: I4a3d217ce951c7c7f2d17da89b0cd5905faf0eff
* changes:
[5/5] Removed unused IPC call.
[4/5] Cover DragToBubbleController with tests.
[3/5] Implement DragToBubbleController.
[2/5] Hook up DragToBubbleController and prepare launcher to use it.
[1/5] Added DragToBubbleController
Implement tests that check DragToBubbleController public API
Bug: 411506181
Flag: com.android.wm.shell.enable_create_any_bubble
Test: DragToBubbleController.kt
Change-Id: I48fe5f45921fbedbe0f1921dfd21e9ecb14406bc
Implement DragToBubbleController internal logic that utilises
DropTargetManager to show drop targets for the bubble bar drop zones.
Bug: 411506181
Flag: com.android.wm.shell.enable_create_any_bubble
Test: Manual. Go to overview screen and drag app icons from the taskbar
over the bubble bar
Change-Id: I844151c5e11f237c475d8a26a7784c5662dad658
Updated DragController logic to set touch event XY coordinates if there
is no view returned by the DropTarget. Added wait call for all drop
targets views removed to the
TaskbarActivityContext#onDragEndOrViewRemoved() method.
Bug: 411506181
Flag: com.android.wm.shell.enable_create_any_bubble
Test: build launcher
Change-Id: Ie97b08f22ae8dc34bd9f4e3738704e4fc90345bb
The expanded view was misplaced due to a race condition. This occurred
because the BubbleBarController.onBubbleBarBoundsChanged() method was
invoked while
LauncherTaskbarUIController.onTaskbarInAppDisplayProgressUpdate() was in
progress (e.g. inAppDisplayOverrideProgress value was slightly higher
than 0). The latter method is also used to shift the three navigation
buttons for IME open/collapse events.
This concurrent execution led to an incorrect bubbleBarTranslationY
value being used in the BubbleBarView.getTopToScreenBottom() method,
ultimately causing the misplacement of the expanded view.
Fixes: 416158567
Flag: EXEMPT bugfix
Test: Manual.
- Long Press Chrome icon select "bubble" adds
- Press search bar inside Chrome app bubble to show IME
- Hide IME
- Press Chrome bubble
- Press search bar inside Chrome app bubble to show IME
- Hide IME
Change-Id: I44431f0eb47c3e9e0bea0274624e5b1db0aa15c9
Added controller that would handles drags of launcher icons to the
bubble bar, displaying drop targets and creating application bubbles.
Bug: 411506181
Flag: com.android.wm.shell.enable_create_any_bubble
Test: build launcher
Change-Id: I593222d86f50248ceb2909ae73ccc021ef515e28
Reset in-app display override progress when transitioning from home -1
page. In order to come back to the -1 page user has to swipe left from
home again so in-app display override progress will be updated again.
Fixes: 416163737
Flag: EXEMPT - bugfix
Test: Manual. enable 3 buttons navigation mode. Have bubble bar with
bubbles. Swipe to -1 page. Click recent apps button. Click home.
Change-Id: Ibc67f6e024f5c89efb7f80f420fc859aaa9d3e33
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
We previously sent the top coordinate of the bubble bar to shell.
However when the screen height changes, launcher takes a bit longer
to update than shell. So instead of calculating the top coordinate
on the launcher side, we now send the amount of space between the
bubble bar and the bottom of the screen to shell, where we can offset
that as needed.
Bug: 392893178
Flag: com.android.wm.shell.enable_bubble_bar
Test: manual
- send some bubbles
- launch app
- expand
- swipe to home
- fold and unfold
Change-Id: I57b96db49dab1e2304fde8dc55a99eaaf85e40f8
When we show a new flyout, it is possible for the previous flyout to
still be there and animating out.
We were removing the existing flyout, but did not cancel the animation.
This meant that there could have been a hide animation running for the
previous flyout. Once that animation finished, it removed the current
flyout from the container. It was possible for the current flyout to
already be updated to the new one. In which case the animation for the
previous flyout hid the new flyout.
Bug: 414808503
Test: atest PlatformScenarioTests:BubbleBarTest
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I4229297fa999d815c12eefd9d583bdfc915ec00a
Added a test and TAPL objects to check dragging taskbar icons to the
bubble bar.
Fixes: 388910897
Test: TaplTestTaskBarIconDrag
Flag: EXEMPT test
Change-Id: I8a3e64a83c72a9f6b89b2f8a875ca6565d501701
Store and restore bubble bar stashed state.
When bubble bar is restored from saved state, restore the bar state to
stashed, collapsed or expanded.
This ensures correct positioning of the bar on screen, before we receive
an update from shell.
Bug: 357115534
Test: bubble bar collapsed on home screen, rotate device and check
bubble bar remains in correct position and collapsed
Test: bubble bar stashed in app, rotate device and check bubble bar
remains stashed
Test: bubble bar and taskbar shown while in app, rotate device,
bubble bar remains shown after rotation, not expanded or stashed
Test: bubble bar is expanded on home screen, rotate device and
check bubble bar remains expanded
Test: bubble bar is expanded in app, rotate device and check bubble bar
remains expanded
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I91a3b5582a4af753e9e54156358b2ce9adb841c7
When we restore bubbles after taskbar is recreated, we should not modify
the bubble bar state as part of restoring the bubble views. Bubble bar
state is restored separately.
Create new helper method to restore bubbles without affecting bubble bar
state.
Bug: 357115534
Test: have bubble bar expanded on top of an app, rotate device multiple
times back and forth, check that bubble bar remains expanded
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: Ifc9c391a1a367535daa3b83283fe145824294bcc
Bubbles that are restored with initial update should not be animated in.
If we restore the bubble bar after rotation, we need to show it
immediately. Attempting to animate the bubbles from initial update
causes the UI to flicker.
Bug: 357115534
Test: on home screen, have bubble bar expanded, rotate device, check
bubble bar bubbles do not flicker after rotation
Test: have no bubbles in bubble bar, trigger a bubble, check it is
animated
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I3da2bc22588c0f5d2dd9c7a3adfcd2c19c339809
When bubble bar gets recreated, store the expanded state and selected
bubble.
Allows us to show the bubble bar in previous state after rotation,
before shell has been able to send us an update.
Bug: 357115534
Test: on home screen, have bubble bar expanded, rotate device, check
bubble bar remains expanded
Test: in app, have bubble bar expanded, rotate device, check bubble bar
remains expanded
Test: have bubble bar collapsed, rotate device, check it is not expanded
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: Ied187c638287599297e15db77efdf44bd701d559
Initial state for bubble bar does not need to be animated.
Especially if it is sent after rotation. In that case we do not want it
to animate.
When launcher is rotated, taskbar is recreated. After getting recreated,
we receive the initial state from WMShell for the bubbles again. Part of
the initial state is whether bubble bar is expanded or not.
Bug: 357115534
Flag: com.android.wm.shell.enable_bubble_bar
Test: rotate device
Change-Id: I859b73597c8f286069f384dcdea0e3a5296e0073
Rename methods in BubbleBarViewController and BubbleBarView that set the
expanded state.
These will update the state using an animation.
Update the name to highlight this.
Enables us to create methods to set the state without animation.
Bug: 357115534
Test: refactor, presubmit
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I9d2c46ab1640ab0b19f54103ab8cdb37a5d19dbb
If the systemui process restarts, as it does as part of tests,
it does not get notified about the bubble bar bounds until they
actually change. This could result in invalid bounds for the
expanded view which would prevent bubbling tasks.
This change ensures that the bounds are sent to shell after the
initial handshake.
20x runs: https://android-build.googleplex.com/builds/abtd/run/L46000030011522666
Bug: 411307439
Test: atest BubbleAnythingTest
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I2a5898f32506529b8860274cdee1fcea1a264e83
Use new Bubbles aidl method to tell WMShell when bubble bar is used or
not used.
Allows to better handle cases where taskbar (and bubble bar) get
recreated during rotation.
Bug: 357115534
Test: open an app, expand bubble bar, rotate device, check bubble
remains expanded
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I1c77eecb2b574b3d9b33aadafd1585e1aca26bdb