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
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
Bug: 273948325
Change-Id: Ib3f19f4bf7348cd3545864351d48780dbc9acd65
Flag: ENABLE_TRANSIENT_TASKBAR
Test: swipe up to unstash taskbar, quickly swipe up again
Internal implementation of AnimatedFloat ensures only one
animation plays at a time.
Bug: 273961611
Change-Id: Idc86dba3ac0a085e7cb6b3a979d5b098b75b62b8
Flag: ENABLE_TRANSIENT_TASKBAR
Test: swipe from overview to home
test: built and tested on multiple devices. recorded videos and shared in chat.
bug: b/253520701, b/253521660, b/241813570
Change-Id: I57f88f5fb35c6a7b1219fac6e992bb84354b91ef
Prior to this change, if taskbar is showing and we are cloing an app
that is visible in the taskbar, the taskbar view would immediately
disappear.
Now we will fade out the view until the animation is 33% complete,
at which point the 'space' will be clear for the FloatingIconView
to settle at its final location.
Bug: 273961611
Test: open app in hotseat
note that the taskbar view is gone immediately
have taskbar visible, close app that is shown in taskbar
note that the taskbar view fades out
Change-Id: I5589e2ce3033cfa19669d1bfaf568aef2a96015e
with a taskbar.
Thought about using the Builder pattern here but the CL becomes
much larger due to SwipePipToHomeAnimator having its own
Builder.
Bug: 268026344
Test: swipe up to close app thats in hotseat
swipe back to close app thats in hotseat
Change-Id: Idd0729224374579753fc91c7820f3b04a7d3e1a4
For apps that use AdaptiveIcon, we used to animate the foreground
drawable independently from the background. This is sometimes
perceived as jank so we remove the animation since it is very subtle
in the best case scenario.
Bug: 268026344
Test: open/close apps/folders that use AdaptiveIcons
Change-Id: I500bf56e04823757d511d909a93d3b30703249a1
Instead of making the icons themselves move faster, we change
the startDelay/duration of the taskbar bg alpha animation
so that the taskbar is only visible when the icons are within
the taskbar bounds.
This is still an approximation. For U+, we should support taskbar
width change to fit the icons when they are in the 'hotseat'
alignment.
Bug: 273961611
Test: home <-> overview
home <-> app
stash <-> unstash
foldable/tablet
RTL
Change-Id: I39bedafac4afd641d250f7c97abf1e2de070d646
This change adds in a new animation and layout to change the existing back tutorial as part of the effort to redesign gesture navigation education for users. This temporarily uses placeholder animations for the overview gesture. Large screen animations are also added for Home and Back tutorial.
Flag: ENABLE_NEW_GESTURE_NAV_TUTORIAL
Bug: 241813570
Bug: 253521922
Bug: 253520701
Test: Manual
Change-Id: Ied18b88a83a3b673a7cf40fd33b6013f24998e44
We only set qsb alpha if isQsbInline = true, since that is when
we draw/animate the qsb in the taskbar.
Fixes: 269164187
Test: isQsbInline = true / false
Change-Id: I92022135e74f734a8e50c606dc9c605df39a9f97
When swiping up to recents and creating the current tasks TaskView, we
were checking for proto 1 or proto 2 to be enabled. And if they were, we
were creating the DesktopTaskView object. The DesktopTaskView should
only be enabled in proto 2.
Updated the feature flag check.
Bug: 273950066
Test: enable proto 1 and gesture nav, have a desktop app open, swipe up
to recents, no desktop tile
Test: enable proto 2 and gesture nav, have a desktop app open, swipe up
to recents, see the desktop tile
Change-Id: I73a47347d60e0f57ad6cf6e363a6fe83ac8cc509
- Moved colors to final in TaskbarViewController (since controllers are
recreated on theme change)
- Clarified some variable names
- Animate from progress 1 to 0 instead of vice versa, since 0
corresponds to launcher's theme icon color which is what the alignment
animation is going towards
Test: in gesture nav with dark themed icons in hotseat, go to overview
and ensure smooth transition to ligher themed background; return home
and ensure reverse transition
Flag: none
Fixes: 271651337
Change-Id: I4451f995a3e79e512c59a834051f601ead70ff87
When desktop tasks become visible or hidden, we update a SysUI state
flag. This flag update gets processed in TouchInteractionService which
then calls DesktopVisibilityController to update launcher state based on
whether desktop tasks are visible or not.
We were getting a reference to the DesktopVisibilityController through
OverviewComponentObserver. This was causing issues when device was
unlocked with desktop tasks visible. And 3-button navigation was enabled.
In this scenario, we are immediately processing a SysUI flags update
that desktop tasks are visible again (they are hidden while device is
locked). When this update is processed, OverviewComponentObserver
returns the fallback launcher interface. And not the nexus launcher.
The fallback launcher interface does not contain the
DesktopVisibilityController. Since the fallback controller does not
return the visiblity controller, we skipped processing the update that
desktop tasks are visible. Which resulted in launcher remaining in a bad
state with home screen icons visible and desktop tasks on top.
Bug: 273594452
Test: enable 3-button nav and proto 2, move an app to desktop, lock
screen with desktop app visible, unlock screen, observe launcher icons
hidden
Test: enable gesture nav and proto 2, move and app to desktop and lock
screen with desktop app visible, unlock and observe launcher icons
hidden
Test: repeat the same steps with proto 1 enabled
Change-Id: Id52ac4cf2df151b2aee2070ee2eb14de3d74fead