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
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
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
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
When the bubble bar becomes visible the space between icons in the
hotseat is now adjusted. This change only does it when the QSB is
above the icons, but this will be changed in the future to be based
on the amount of space between the hotseat and the edge of the screen.
When the hotseat is adjusted, the new width is smaller by the size of
2 icons. The icons are then translated to be evenly spaced within the
boundaries of the new width.
Since the adjustment is only applied when the QSB is above the icons,
it is resized accordingly to the new width.
All visual updates currently snap to the new position, but will be animated
in a follow up.
Demo: https://recall.googleplex.com/projects/3391fc5c-599d-4827-b6f8-d2deb160aa99/sessions/fad1a5c5-e9cf-4586-92e4-1e92df3b002e
Bug: 280494203
Test: Manual (on tangor)
- Set device to landscape
- Make the bubble bar visible by adding a bubble
- Rotate to portrait mode
- Observe that the hotseat is adjusted
- Rotate to landscape
- Observe that the hotseat adjustment is removed
- Rotate back to portrait
- Observe that the hotseat is adjusted again
- Dismiss the bubble to hide he bubble bar
- Observe the hotseat adjustment is removed
Change-Id: I5b02a60b6cb301ffa2507a6d825c748a782cca18
BaseDragLayer only lets the top AFV intercpet touch events, otherwise it
moves onto its TouchController instances. Taskbar AllApps still needs to
intercept touch events sometimes when an AFV above it cannot (e.g. a
snackbar). This CL adds a TouchController to TaskbarOverlayDragLayer
that delegates to TaskbarAllAppsSlideInView if it is open.
Test: Manual
Fix: 299165179
Flag: No
Change-Id: I9b73c55f698de5b60b463f91140a6717a7053cd3
This cl is 1/2 part change
We are currently getting StaleObjectException when running this test.
We want to implment a synchoronized event beetween test and launcher,
so we know that search result adapter is done updating and page will
get no more updates of search results.
Test: Presubmit
Bug: 232008758
Flag: not needed
Change-Id: I40cf9b83d231a2487220aabc8f8e8c3ca71f255c
- Keeping FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW for local testing until aconfig is available in FlagFlipper
- Still reference ENABLE_GRID_ONLY_OVERVIEW in tests as aconfig still can't be mocked
Bug: 270397206
Test: manual
Change-Id: I799e05311adc21184a6ad7ce92a3abdab3f25c25
Test: manual - enable persistent taskbar (light theme shows it best)
- expand bubbles
=> observe that the scrim on taskbar matches the rest of
scrim
Bug: 294396107
Change-Id: I6fc516f3d57a3e8de4d80c079f3543874f289ad7
Can't reuse the same insets object for both providedInsets and paramsForRotation. They can override each other.
Bug: 274517647
Test: turn on FLAG_HIDE_NAVBAR_WINDOW and ENABLE_TASKBAR_NO_RECREATION. Make sure the insets are correct
Change-Id: I8a4ab93e17bf5f4c7949678b087261344cccb1f9