A single bubble and the bubble stack dismiss functionality is implemented using `BubbleDragController`. It attaches a touch listener to the corresponding views and handles gesture interactions.
* When the view is long clicked the dragging to dismiss interaction starts. It scales up the dragged view and presents the dismiss view in the bottom of the window.
* When the bubble or the bubble stack is dragged close to the dismiss target area, it gets pulled towards it and sticks to it. The `MagnetizedObject` and `MagneticTarget` classes are used for it.
* When the dragged view is released outside of the dismiss area, it moves back to the initial position with animation.
* When the dragged bubble is released inside of the dismiss area, it will dismiss the bubble with animation and remove it from the stack.
* When the dragged bubble bar stack is released inside the dismiss area, all the bubbles will get dismissed and the bubble bar will dissapear.
Bug: 271466616
Test: manual, TBD
Flag: WM_BUBBLE_BAR
Change-Id: I83393898be61ec522db92688ac2e111ef7d72fe6
* Added WMShell related proxy methods.
* Added DismissView dimensions and drawable resources.
* Added DismissView extension file to set it up with dimen and drawable resource ids.
Bug: 271466616
Test: manual, TBD
Flag: WM_BUBBLE_BAR
Change-Id: Iddac977a9c8a63facee45e9dd2eb234bb18d030b
If floating search is active in Overview (flag enabled and we are
the active Launcher), these buttons will be aligned to the search
bar relative to the bottom of the screen. Otherwise, the buttons
will be aligned below the active task like before.
Demo for Launcher3 build:
https://drive.google.com/file/d/1fVzRRnW5AFDMPkW-E8_w4BOCzTAOURQ_/view?usp=drive_link&resourcekey=0-6-EbFZXkBqcu0rw7uuEzjw
Bug: 292000892
Test: Manual with floating enabled/disabled and
SEPARATE_RECENTS_ACTIVITY enabled/disabled (simulating not being
the active Launcher). Also tested with a 3P Launcher, Nova.
Flag: N/A; this change is enabled by default, but also verified
UI looks correct with ENABLE_FLOATING_SEARCH_BAR.
Change-Id: Ia45f88d2c691c4525b1e73cca4707498d058a917
Launching the gesture nav tutorial in portrait mode on tablets causes fragments with the wrong layout file to be inflated (uses the default phone layout).
Reinflating fragments whenever they need to be switched. Added a new rotation prompt fragment
Flag: ENABLE_NEW_GESTURE_NAV_TUTORIAL
Fixes: 291062054
Test: Launched the tutorial in portrait mode and landscape mode, then rotated the screen several times. tried with the flag disabled as well.
Change-Id: I0215d7589285007d04ef81d3a63e404c2cda3895
* TODO: Probably need to change tint based on theme
Bug: 276361926
Flag: ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE
Test: Shows up as expected
Change-Id: I28a2eefa115cb15aab560d750103c7946639c18b
* Used same animation properties that RecentsView uses to
show the instructions view unfolding
* TODOs:
* UI polish (correct asset, animation timings, etc)
* Hook into existing animations (if possible)
* Migrate recentsView splitInstructionsView to use same/similar code path;
remove RecentsView#safeRemoveDragLayerView
Bug: 276361926
Test: Create split w/ and w/o flag, works as expected
Flag: ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE
Change-Id: I7a51b71c358902399ad73b650287cdbf1dad07c6
* 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
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
Insetting the contents of AllSetActivity to prevent overlapping with the gesture nav handle
Flag: not needed
Fixes: 275018092
Test: launched AllSetActivity in landscape with largest font and display size
Change-Id: Ia82a007e8a69c637a30c56e079d9c77d73885d9f
- The rotation button background does not change based on the current
light/dark mode
Bug: 288126260
Test: Check rotation button color with dark mode enabled/disabled
Change-Id: If4d5edfd4b118e4f16b6d472f206587e7cd61f98
Recently we did color token migration for Taskbar which included navigation icon also, but phones and foldable device can't really adapt to new color tokens because of contrast issue with underlying wallpapers.
As a result, now home screen which default back to balck and white nav icon colors while all apps and in app navigation icon color will be themed to new GM3 Color tokens.
Test: Manual
Bug: 284408922
Flag: Not needed
Change-Id: I8c8ea11ebb7237885ae4673fda0409ab463b37db
Change the strings for the instructions and feedback for the gesture navigation tutorial to align with new UX changes.
Flag: ENABLE_NEW_GESTURE_NAV_TUTORIAL
Fix: 286547594
Test: Manually went through the redesigned tutorial and verified that
the new strings correctly show up. Also checked that the previous
tutorial remains unchanged.
Change-Id: I27a3e8c0f09e7755e6087ce5b004b687f229d153
- Added a 6th hotseat icon to the tablet and unfolded foldable
- not animating the previous task view when animating to hotseat from the home step
- updating the first hotseat icon's color and visibility at the correct times
- cross fading the animating task view and hotseat icon's color
Flag: ENABLE_NEW_GESTURE_NAV_TUTORIAL
Fixes: 283967613
Test: ran the tutorial on handheld, tablet and foldable with ENABLE_NEW_GESTURE_NAV_TUTORIAL true and false
Merged-In: I7a76646ca71502e924f45bba76d72be17d31249d
Change-Id: I7a76646ca71502e924f45bba76d72be17d31249d