TaskbarScrimViewController was previously unaware of visibility
changes that happened to taskbar outside of when the sysui state
flags changed. Additionally, isTaskbarVisibileAndNotStashing is not
a reliable signal as the visibility might be GONE even though taskbar
is about to animate to be visible (i.e. shade is showing and then
you swipe it back up -- taskbar scrim wouldn't appear because when
the sysuiStateFlags changed, taskbar visibility would still be 'gone'
at that point so the taskbar scrim wouldn't animate back when
the shade is swiped up).
To resolve this, I've added a callback to notify the scrim
controller of visibility changes and it'll update if needed.
Bug: 270634233
Test: manual - enable 3 button nav
- have a bubble
- go to overview
- expand bubbles
=> observe that scrim appears over taskbar
- swipe down shade
=> observe that scrim fades out
- swipe shade up
=> observe that scrim fades in
Change-Id: Ibaae8efb90b4558d30795298570208a52b31efb4
Fixes: 300247322
Test: invoke omnient via long press nav handle
Flag: ENABLE_LONG_PRESS_NAV_HANDLE
Change-Id: I5d7cd1d0a2a50da26a881a6daa203806bf857909
Bug: 284104811
Test: manual - enable 3 button nav
- expand a bubble in overview
=> observe that scrim is shown on top of taskbar and it
isn't stashed
- repeat with transient taskbar but instead it stashes
when bubbles are expanded in overview
Change-Id: I725513bb0015c85f26fb1eedbe22da5eb2612e55
Processing the TYPE_TOGGLE command immediately makes it relatively easy to start overlapping animations that clobber each other and prevent clean up callbacks from running. This would cause a janky overview animation, a full command queue that can't be emptied and a recents tile than gets stuck on the screen. Added a rate limiter to (hopefully) prevent this type of bug from recurring.
Flag: not needed
Fixes: 298792963
Test: quickly and repeatedly pressed the overview button, checked logs to check that the error case never occurs anymore and rate-limiter procs instead.
Change-Id: I1575c932bb24d2405792539e8a14ed8d4171f5ae
* Launcher gets paused as a natural part of
confirming a split, so only cancel when 1 app is
confirmed
Test: Start split from workspace, then go to
* double tap camera
* settings via notification drawer
* mic icon on QSB
Bug: 276361926
Change-Id: I048964403303defe35035ee24950cfbbfc201afd
Before this change, the configChange was processed when launcher becomes visible. However, this happened during animations (e.g. swipe to home after unfold to app).
With this change, the onConfigChange received by TIS (so, it's received also if the activity is not visible), is used to preload overview, moving a ~100ms block to unfold instead of during the animation.
Bug: 294352799
Test: recorded a perfetto trace and checked jank decrease
Change-Id: I35a7036887cc9ea490f27d5ccd47fe423775350b
Merged-In: I35a7036887cc9ea490f27d5ccd47fe423775350b
(cherry picked from commit 11ce5f85c9)
Fix issue when setting fullscreen drag layer causes hover exit/enter events.
Update ArrowTipView paddings to match spec.
Update ArrowTipView to check on each time it is shown if it should point up or down, not only the first time.
Fix: 295851126
Fix: 295315397
Test: TaskbarHoverToolTipControllerTest
Change-Id: I314c65cb9fce3fb8d6002d8917bd5c97301d9dbc
DisplayInfo.rotation doesn't have the correct information sometimes. Switched to use WindowManagerProxy instead.
Fixes: 300528542
Test: rotate the screen between different orientations, make sure the 3 buttons have the right order
Change-Id: Ibafafa9cab8e3f87e20b080868417692b8808dc4
See https://b/299166570#comment4 for explanation.
Test: Manual for Taskbar + EDU. Work profile toggle no longer closes All
Apps.
Fix: 299166570
Flag: No
Change-Id: I6e3dba018975a924cccdc008f92c91bb9385cf99
I hope that this will lock bugs like b/298114205 in the test that created the bad condition, not the next one.
Bug: 298114205
Test: presubmit
Flag: N/A
Change-Id: I6ad3598fb675d8b24ec0f273d255b7f2464dc53f
Before this change, the configChange was processed when launcher becomes visible. However, this happened during animations (e.g. swipe to home after unfold to app).
With this change, the onConfigChange received by TIS (so, it's received also if the activity is not visible), is used to preload overview, moving a ~100ms block to unfold instead of during the animation.
Bug: 294352799
Test: recorded a perfetto trace and checked jank decrease
Change-Id: I35a7036887cc9ea490f27d5ccd47fe423775350b
- Keeping FeatureFlags.ENABLE_CURSOR_HOVER_STATES for local testing until aconfig is available in FlagFlipper
- Still reference ENABLE_CURSOR_HOVER_STATES in tests as aconfig still can't be mocked
Bug: 300054410
Test: manual
Change-Id: Id385e8ee32ccf8b920b9b7f9cc620af32def589f
For a remote close animation target, because the orientation can be
different from launcher, so when launcher applying surface animation
to it, there should do another coordinate transfer based on it's
coordinate.
Also for closing animation, there shouldn't use #getWindowTargetBounds
because it only search for opening target.
There is no change when launcher's orientation matches animation target.
Bug: 254805643
Bug: 298318284
Test: close activity in each oritation, verify the position of remote
animaiton target is aligned with the floating view.
Change-Id: I7799357695a467f1bfc653e4f058a5e646ea2405
when result was null but getTaskbarUIController() is not null, we don't setPauseUIUpdate to false. This CL ensure we always end up setting pauseUIUpdate to false so that the hotseat suggested apps show up.
Fix: 295892343
Flag: no flag
Test: verify hotseat icons don't disappear
Change-Id: Id872f3174df276cb7a4ed7f6672523d0851a11dd