Update the code for PIP and phone PIP to use ProtoLog instead of Log.
Test: manually, via adb shell wm logging
Bug: 218457585
Change-Id: Ia7b706b296b06c505dc37e823d473c25aa04784d
Swipe to home animation is played by launcher, but the entering PIP
transition will finished by PipTransition. As a result, we need to
reparent the overlay and fade out the overlay in PipTransition when
enter PIP is finalized, otherwise the overlay will be removed with the
remote transition leash and cause flicker.
Bug: 222030101
Test: verify with swipe to home with Shell transition
Change-Id: Idde3414e3cc5e8193cf7d4da9818e59dc6b4b1c5
* The overflow has a more restricted size than previous and this size
should be used even on large screens, not just in phone landscape.
* Updates the padding between columns & rows in the overflow view
* Reduces the line length of items in the overflow
Test: visual - look at overflow on large tablet, small tablet and
phone across configurations
Bug: 217211205
Change-Id: I8fe8b0bd8b6c07393583d81540506a74eaa4fc10
Make sure the surface bounds of split root tasks will be properly set
after enabled shell-transition. So client apps can inherit the correct
touch region.
Fix: 222163100
Test: atest StageCoordinatorTests
Test: manual check with the repro steps
Change-Id: I5c71e54513ad37d43347f9716081751aad477149
To make it have the same behavior as legacy transition:
The bars are faded out when starting fixed rotation, and faded in
after display rotation change is completed. And the independent
seamless window such as round corner can keep showing on screen
seamlessly.
Also skip animation for seamless display change. Otherwise there will
be a no-op alpha animation with DEFAULT_APP_TRANSITION_DURATION=336ms
that adds unnecessary delay to finish the transition.
Bug: 221223435
Test: atest TransitionTests#testAppTransitionWithRotationChange
Change-Id: I3b1db4956b642fabb6061c7dbf0f7b2b8e1e300f
When Launcher is resume, it can call PipController#setShelfHeight during
the entering PIP animation. The animator will update end value to avoid
flicker. When that happens, we also need to update the finishTransaction
to use the updated destination bounds in current rotation when the
transition is finished.
Bug: 219411429
Test: manual enter PIP from landscape
Change-Id: Ic48ece83134a23438cfffacc0637cbd0f721f9f7
For Android S, we use the API windowSplashScreenAnimationDuration to
know the duration of the animatable icon would be, however, developers
can be confused to thought that this API is used to declare the
duration of splash screen.
To get the real duration of the animatable icon, if it is an AVD or
AnimationDrawable, try to get the animation duration from it.
Test: atest StartingSurfaceDrawerTests SplashscreenTests
Bug: 211707095
Change-Id: Ia3f8c5cd50bab164360e07d9ced87ff7f4321e96
The setup waited for a ROTATION_0, but this test starts at ROTATION_90
Bug: 219773854
Bug: 220977327
Test: atest WMShellFlickerTests:SetRequestedOrientationWhilePinnedTest
Change-Id: Ib2bde1f66f248adbe69acf5c344322e32b364eb2
The graphic memory which allocate for animatable icon cannot be
released from #onDetachedFromWindow if that SurfaceView never been
added to a window, release the host if addWindow failed.
Test: manual test, force #addWindow always fail and cold start an app
with animatable icon, verify no SurfaceView object left in surface.
Bug: 218264452
Change-Id: I024c64ce134235e487b6ab7cf33ba9fdf4079046
Merged-In: I024c64ce134235e487b6ab7cf33ba9fdf4079046
Changed the resource type extra to be an int value to indicate the
resource type instead of having individual boolean extras for each
resource type.
Bug: 218875965
Test: N/A
Change-Id: Ic734c4d0e0a769dd981ef214e1be41f62d74705c
When the windowing mode is changed during fixed rotation, we don't want
to animate to the fixed rotation anymore, because the fixed rotation
will be cancelled later.
Bug: 214324061
Test: atest WMShellFlickerTests:SetRequestedOrientationWhilePinnedTest
Change-Id: I24b5389ec2b6ea28ce3ba7abf38fbd269566edf3
All the values / things being done in PIP are exactly the same as what
DismissView does. This change updates PIP to use DismissView directly
so PIP will always pick up visual changes to dismiss without having
to copy them over manually.
Test: manual - have a PIP, drag it around and observe dismiss, drag
PIP to dismiss, observe
Bug: 217211205
Change-Id: I430df28bdb7980ff5a0316c4aab728fe54e95e6b
1 - larger gradient (same for both phone & tablet)
2 - gradient is now based on theme color
Test: manual - have a bubble, drag to dismiss it, observe the gradient
Bug: 217211205
Change-Id: Ibef23992089f0ae33dd93f9528a3ea2887aae465
* Previously on large screens the expanded view was centered on the
screen now it will be anchored to whichever edge it was expanded on
ONLY when in landscape on a large large screen. In portrait, and on
"small tablets" it will continue to be centered.
* Updates the width of the expanded view on portrait and on landscape
for large screens.
* Adds the notion of small tablet
Test: manual - Open a bubble in various configurations:
1) on phone:
* landscape => bubbles show vertically on the side they were
expanded on and expanded view is centered horizontally
* portrait => bubbles show on top, expanded view centered
horizontally
2) on tablet that isn't small:
* landscape => bubbles show vertically on the side they were
expanded on and the expanded view is anchored to that edge
with some padding
* portrait => bubbles show vertically on the side they were
expanded on and expanded view is centered horizontally
3) on small tablet:
* portrait & landscape => bubbles show vertically on the side
they were expanded on and the expanded view is centered
horizontally and takes up more space %-wise compared to a
large tablet
Bug: 217211205
Change-Id: I7259e03aab35e0039c9b7bd855c12afe38373ace
This makes triaging issues unrelated to the test (e.g., transition crash) easier since all failing assertions are clustered with the same stack trace
Bug: 219773854
Test: atest FlickerTests WMShellFlickerTests
Change-Id: I65bb1b5e87997c856ce080b24d549ba1c978955a
Merged-In: I65bb1b5e87997c856ce080b24d549ba1c978955a
Use parent based coordinate instead of screen based coordinate when
indicating split surfaces' position so they won't be offset unexpectedly
when its parent is not at (0, 0).
Fix: 210696145
Test: check split UI when enabled "render apps below cutout area"
Change-Id: I65399f5ef2975e7ef376d161c41de2cfb7ed29dc