Remove the callback to update bounds in
resizeAndAnimatePipUnchecked because:
1. animateResizePip already attaches a callback to update the
bounds state in onAnimationEnd
2. it updates the bounds too early before finishResize() is
called, which causes finishResize() to not know the pre-resize
bounds needed to perform the crossfade animation
Bug: 188829986
Test: enter PIP with seamless resize turned on, double-tap to
expand and unexpand, crossfade animation looks right
Change-Id: Id64222fe762b4db0d9ea739db434e8e6acb0b31a
Let empty-style splash screen do reveal animation.
Also remove the extra animation duration if the icon is empty.
Bug: 190695897
Bug: 190695665
Test: manual
Test: atest SplashscreenTests
Change-Id: I8b3b52369c12fbddc32af8c40f37650cc84a88dd
When entering PiP from landscape mode with non-default aspect ratio, the
onMovementBoundsChanged callback will try to reset the surface with the
default bounds. Skip it if we are waiting for fixed rotation to be
completed, similar to the exiting swipe-pip-to-home check.
Video: http://recall/-/aaaaaabFQoRHlzixHdtY/cTmovQdIAyqu5rCrJGtf0q
Bug: 190651955
Test: follow the reproduce steps, see video
Change-Id: I71a427351f5e080b4307ebe0a30659a3617d4a58
- Technically the IME window is above the Bubble window, but when
traversing the windows top-down for calculating the final exclusion
region for SysUI, the IME is placed just above its target (the
embedded task), and the Bubble's full touchable region effectively
overrides the IME's requested exclusion region
Fixes: 190338512
Test: Expand a bubble, swipe from IME edge
Change-Id: Idd71eabfaba1be4bc6fc90d09db28d3f9e9106c5
If the frames of insets source window and the frame of an app window
are changed in the same layout pass, we should dispatch the insets
calculated from the new insets source frames and the new app window
frame. So when the app frame is not up-to-date, we defer dispatching
insets to the app.
Fix: 160732586
Test: Add logs to check if we dispatch the correct insets to apps while
rotating the display.
Change-Id: Ic9e71d8eabde51067b740b35404ae7c9b68228d7
Fixes: 190463685
Test: launch app and see no exception breaking the creation of
splash screen view.
Change-Id: Icae3b189068f074fdc061d0c510faceb024a26c6
In rotated coordinates, the vertical and horizontal are
different directions. Otherwise the end of animation
doesn't match the destination position.
Bug: 175836469
Test: setSourceRectHint with non-zero left.
Change-Id: Ia5e282c0a1bab9cbf77e964b4a4bc8ea4514cfb9
- SplashscreenContentDrawer.ColorCache needs INTERACT_ACROSS_USERS_FULL
to register the broadcast receiver.
Bug: 190516351
Test: Build Andorid Auto OS and check if CarLauncher is showing.
Change-Id: Ib0700a0f2ba1c31ffc60199a3aa8019961464efe
Included in this CL
- Increase the corner radius from 8dp to 16dp
- Scale the round corner radius in transition
Tested with the following scenarios
- Enter PiP in button navigation mode
- Double-tap to resize PiP
- Pinch to resize PiP
TODO
- Round corner when enter PiP with auto-enter being enabled
Video: http://recall/-/aaaaaabFQoRHlzixHdtY/gA2dQNBNTA8xFExWqmOkRY
Bug: 187441996
Test: manual, see video
Change-Id: I43db31f966007795351a8e2ca7dd08417f6f0df7
The background color of splash screen starting window may depend
on the declared window background and the content if icon. That
may be expensive operations if the drawables are not using pure
color. Because the attributes to compute the colors are simple,
it only need a few fields to identify whether the incoming request
has been computed. So it is worth to cache them with very small
extra memory. The cache of a package will be cleared if the package
is removed or replaced.
It may save the creation time up to 20ms (depends on the complexity
of the drawable).
Bug: 190176296
Test: atest StartingSurfaceDrawerTests#testColorCache
Test: Cold/warm launch app twice and compare the duration of
trace name "makeSplashScreenContentView". The second time
should be faster. Re-install the app and launch again,
the trace will contain "peekWindowBGColor" that means
that cache for the package was cleared.
Change-Id: I61158416694a226999843fa8fc6a8b23d6893f02
The overscroll logic could get stuck previously, which lead to
a forehead visible on the lock screen.
This improves the logic and animation to look much better.
Fixes: 190029393
Test: expand shade, observe nice overshoot, no forehead on lockscreen
Change-Id: I2c9d5313626d3037c7bd3c942820c391da99b459
Fixes an issue where you'd collapse the bubble
accidentally when performing back gesture in the padding
around the expanded view.
This means things will hide 'on up' rather than 'on down'
but I think that's fine / more expected behavior.
Removed some old code.
Test: manual - expand the bubble stack, open a 2nd activity in the
bubble, perform gesture back => 2nd activity goes
away & the bubble doesn't collapse
Bug: 190102948
Change-Id: I016bd9b3091938974f3330f4d005d4ef6bcccfee