Instead, keep the taskbar open for the normal timeout.
Test: Drag an app from taskbar and drop back in taskbar, ensure taskbar
stays open until 5 second timeout; Drag an app from taskbar and drop
into split screen, ensure taskbar stashes immediately
Flag: ENABLE_TRANSIENT_TASKBAR true
Fixes: 275019813
Change-Id: I06ca0eccbfe313dbae8f6d96c7c09bb659f6a27b
Merged-In: I06ca0eccbfe313dbae8f6d96c7c09bb659f6a27b
Fixes: 275510698
Bug: 259712417
Test: View device where taskbar should be start aligned
Update Display size to make everything bigger
Observe that taskbar icons never overlap nav buttons
Flag: ENABLE_TRANSIENT_TASKBAR true
Change-Id: I246374518f21c4b92d3e02e5582c929a471d9305
- Added the gesture tutorial menu page (launched using an intent extra)
- tutorial steps now launch the menu when complete if launched from the menu
- the new default set of tutorial steps is home -> back -> overview. this is to handle the case where an intent is launched that is meant to launch the tutorial menu, but ENABLE_NEW_GESTURE_NAV_TUTORIAL is false
Flag: ENABLE_NEW_GESTURE_NAV_TUTORIAL
Bug: 274463555
Test: Ran the tutorial and menu on a large screen, foldable and phone
Change-Id: I2eb5f658115be4d5ecb0233a8f09d22efe6ebadc
- Marking the hotseat long press edu as seen on setup to allow the popup menu to be shown immediately in tests
- Recording onWorkspaceItemLongClick on prediction item long click
Flag: not needed
Fixes: 273239675
Test: TwoPanelWorkspaceTest
Change-Id: I76354fd2e3adde11b2a428374fa9c8855ce2ece9
test: verified that a null value wouldn't cause a crash, and would still show the well being toasts correctly. defaulting a value could cause abnormal behavior so I have created a task to follow up with to figure out why this value is being set to null.
bug: 236918951
Change-Id: I9d4282273cb0bc5b6b095dbd082dd1ef79add0dc
Add an error message for when a user swipes horizontally from the middle
of the screen.
Fix: 275386244
Test: Manual
Change-Id: If4d0dd412c3d1625da18f9c068e5fd7b281548c5
- Renamed variables to make it more clear what they represent
- DeviceProfile will be source of truth for taskbar
sizes
Bug: 265144213
Test: phone, multi-display, tablet
Change-Id: Id9c19d15a65894fd7645e0f876a4b6527b713c34
Flag: ENABLE_TRANSIENT_TASKBAR=true
- Moved all touch-to-stash logic to new TaskbarStashViaTouchController
(handles both tap outside to stash instantly as well as swipe down
inside to stash after letting go)
- This is a TouchController on TaskbarDragLayer, so it intercepts
touches from TaskbarView before icons can be dragged during swipe down
Test: swipe up to invoke transient taskbar in an app, swipe down or
touch outside to stash
Flag: ENABLE_TRANSIENT_TASKBAR=true
Fixes: 246631710
Change-Id: I5cf64848bba34ad32fcc80a93fb4f79ebd2c10a7
Remarks:
1. I think the correct fix for this would be to have the Taskbar z-ordered below the notification shade. That however seems to be difficult because there are cases when the taskbar window must be above the notification shade.
2. This CL improves the behaviour by starting the taskbar disappear animation when the notification panel is half expanded instead of waiting for the full expansion. This improves the UX when expanding the shade slowly. When expanding the shade quickly, this CL does unfortunately not significantly improve the UX.
3. I believe that the `SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED` and `SYSUI_STATE_QUICK_SETTINGS_EXPANDED` flags can be replaced by the newly introduced one. But since this would pose the risk of introducing new bugs, I did not do that in this CL. It is my intention to create a CL with that replacement in udc.
Bug: 272621219
Test: Manual, i.e. observe Taskbar behaviour when pulling down notification shade and expanding quick settings
Change-Id: Ic79d3f41ed224cb1abdbac9011c6d27e0f458ec2
This is a follow-up to ag/21699905, which caused the nav-bar to be visible after a device-restart alongside the hotseat, until an app was launched.
Currently, when restarting launcher (for example a device restart), there is no guarantee when the SysUI flags are received for the first time. The current init-codepath expects the launcher to be fully initialized at the time. From there, only deltas are processed:
- during the initial resume, launcher is not considered active because the screen is still off
- the SCREEN_ON event itself is not processed to update the FLAG_IN_APP
Before: http://shortn/_MGQjGFRIaB
After: http://shortn/_awiv2CxFn9
Bug: 261418621
Test: manual (http://shortn/_ty9EDuLM97), tapl
Change-Id: Ie3b3ba1ebe249efe8fc43850052bc9956cafcd24
The spring animation was getting cancelled by the reset
animation.
Added a check to avoid creating a new reset animation if we
are already animating to the final value.
Bug: 273961611
Change-Id: I3afb62b89b5f6fbe920906499db2497ef8e94069
Flag: ENABLE_TRANSIENT_TASKBAR
Test: stash transient taskbar
Test: drag a predicted app from taskbar, ensure both ring and icon are
set to grayscale
Fixes: 268759548
Change-Id: I764ebcd486c09eceaf30c5bd5153a1dd2ff5be72
The unstash is ignored by TaskbarStashController, while the TaskbarLauncherStateController positions the hotseat on the launcher correctly without animation.
Since the TaskbarStashController is used even with 3p launchers, both of these actors keep track of whether the device is locked independently, based on the SysUI flags.
Bug: 270139677, 266890635, 274084408
Test: manually, Tapl
Change-Id: Iae94522b5d57cc89c9a4d219ad1254b150a3400d
Consolidate split divider show/hide behavior by hiding the divider bar
at a single point where the tasks actually start moving. So it won't
need to deal with hiding the divider before the animation targets ready.
Also prevents to hide the divider too early when users were just
unstashing the taskbar.
Fix: 261376202
Test: http://recall/-/fLARJNt42LVxc3tt86SneW/colHl9bXqOzppYV5o2Hmjh
Change-Id: I2b7b37c2b20cc379581b34c0104fa45246c27e8f
This patch fixes a bug where the transient Taskbar was not hiding properly after splitscreen was initiated. When the user is inside an app and launches splitscreen by longpressing on a Taskbar icon and selecting the split button, the transient Taskbar should hide right away. This is an equivalent action to dragging the Taskbar icon up to create a split, and should hide the Taskbar so that other UI elements (like system-level toasts and error messages) can be seen.
The bug occurred because updateAndAnimateTransientTaskbar() is not being called in this specific code path to stash the Taskbar.
Fixed by adding a new call to updateAndAnimateTransientTaskbar upon clicking the splitscreen menu button.
Fixes: 272292897
Test: Manual
Change-Id: I64a9acfc41ddcaba4d9f43eb216458de44b4c9a4
This change caches whether launcher was active at the time of the screen
off, and assumes this last state when the screen is actually off.
While trying to understand the code, I renamed a couple class-internal
methods and flags, plus added comments. If they are not accurate, its
due to a misunderstanding on my part, and I will gladly revisit and
check whether all the assumptions I made still hold.
Bug: 261418621
Test: manually
Change-Id: I2ad25caf478100781a063c356c5fd2d20d3e1917
Merged-In: I2ad25caf478100781a063c356c5fd2d20d3e1917