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
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
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
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
- 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
Since mTaskbarInAppDisplayProgressMultiProp is set by various states
that are hard to query in init() (e.g. state of all apps, -1, widgets,
etc.), we store the last mTaskbarInAppDisplayProgressMultiProp in the
TaskbarSharedState and restore those values in init().
Also updated some debug logs in the dump.
Test: manual: from home screen, swipe down to quick settings and toggle
Dark theme, ensure nav buttons don't translate; do the same but over
launcher all apps
Flag: none
Fixes: 267325761
Change-Id: Ib8e6778582ed39c674cd3c1e95312e673659f6a7
FlagDebugUtils.formatFlagChange() utility to always write the set of
updated flags, with a list of actual changes applied. Examples:
[allow_gesture|device_dozing] +[device_dozing]
[] -[state_started]
Additionally, moved the appendFlag utility to the new FlagDebugUtils
Test: manually verifed the output in logcat
Bug: 261418621
Change-Id: Ie4f2cfcd4b34f0a816db7845e1df4331babed07a
Otherwise we position the taskbar in the center.
Bug: 259712417
Fixes: 267997547
Test: transient taskbar unaffected
persistent taskbar
- test on small tablet
- test on large tablet
- test LTR and RTL
Change-Id: Ieb0a304d9963ebf583bc4ef2deaab747019e8d6d
Fix: 269070986
Test: manual. Install launcher3WithoutQuickstepDebug and swipe to home from within an app.
Change-Id: I1fe3d48793644d35271440e40dd028dd64e6d0cf
Persistent, taskbar can be in light or dark modes. Since notification
tray has its own background color, we should hide ours to avoid clashing
with it.
Test: Manual
Fix: 270758899
Change-Id: Iedc6aae42aac30987af3259ccee11c5998e10517
- When QSB is inline, we add it to the reveal animation
so that it moves in coordination with the rest of the
taskbar icons
- Hide All Apps button when transitioning from Home -> App
to match spec
- Shorten duration icons move in x duration so that they
stay within the taskbar background bounds.
Bug: 267806083
Bug: 246635237
Bug: 246660243
Test: transient taskbar
with isQsbInline = true and false
Change-Id: Ie6b866311cc2ceba88cdf01652b30fee457d0359
Merged-In: Ie6b866311cc2ceba88cdf01652b30fee457d0359
Bug: 246635237
Test: open app in hotseat
close app in hotseat
the 'matching' view in taskbar should be hidden
tested icon, predicted icon, folders in taskbar/hotseat
Change-Id: I74382480826afafe6ae58e78faf26fe10812e29b