methods
Modified ViewPropertyAnimator to call directly
into View setters instead of RenderNode APIs to match
implementation of FloatProperty objects on View. This
makes the animation APIs consistent with one another
and always call through the proper code paths to
give View implementations an opportunity to handle
alpha changes themselves.
Bug: 140961174
Test: Added CTS tests for ViewPropertyAnimator
Change-Id: I1c0023af50be47786296b46510034eb798658c20
Currently there is a race where the UI thread can destroy
the SurfaceControl (free the C++ object) while the RenderThread
still has pending operations on it. To fix have the positionLost callback handle the destruction.
Bug: 139111930
Bug: 136808018
Test: go/wm-smoke
Change-Id: Id5225e1e47046d928f8298de38ff61662debe360
Fix careless mistake and also add end-to-end tests so that it doesn't happen again.
Bug: 134365580
Test: WindowlessWmTests
Change-Id: I4b22498faeb19d28f9f40daa8777f69efe6899ba
It prevents additional relayoutWindow after the first performTraversals
if there is a SurfaceView in the view tree. It happens from
host.dispatchAttachedToWindow to SurfaceView#onAttachedToWindow
and then requestTransparentRegion that changes mWindowAttributesChanged
to true. So it is useless to clear mWindowAttributesChanged before the
path in the case.
Bug: 140407614
Test: The ViewRootImpl#relayoutWindow is only called once when
launching a simple activity which contains a SurfaceView.
Change-Id: Id49226cab0e9407e6d76e6446f490145b0929594
The background color was used to show while animating window transition.
This is no longer used, and it's safe to remove it.
Bug: 140913423
Test: go/wm-smoke
Change-Id: Ib8dc40c9762f4566ca21947579deb0d50990e8a5
Major changes in this CL
- Added PipBoundsHandler in SysUI package handles the bounds calculation
and save/restore the snap fraction
- Added IPinnedStackListener.onSaveReentrySnapFraction and
IPinnedStackListener.onResetReentrySnapFration, both called from
PinnedStackController (WM) to SysUI
- Added IPinnedStackListener.onPrepareAnimation, called from WM to
SysUI to notify that an animation for pinned stack is about to happen
- Added IPinnedStackController.startAnimation, called from SysUI to WM
to actually start the pinned stack animation
- Updated tv/PipManager to use PipBoundsHandler as well
Known issues and what's next
- Shelf height is set after the animation is started, therefore one may
notice the PiP window is hovering over the shelf. This is tracked
separatedly by b/139016518
- Bounds calculations still exist in PinnedStackController since
onTaskStackChanged callback requires so. Once we addressed b/139016833
(move rotation bounds calculation to SysUI), they should be all gone.
- Move the pinned stack animation from WM to SysUI and we can furthre
remove IPinnedStackListener.onPrepareAnimation and
IPinnedStackController.startAnimation
More details: go/pip-sysui-migration
Bug: 139015463
Bug: 139015142
Test: atest PinnedStackTests
Test: atest PinnedStackControllerTest
Change-Id: Ib62d8152ecc7b18a671ec403af44cc517612169e
Adds a chip-like button to the header of media notifications which will
open the media output slice. This was previously implemented as an
action button behind the feature flag and can be enabled by toggling
settings_seamless_transfer
Test: manual
Change-Id: I447b0add9d9de378fa09b5cf087518a81ec941e5
This allows applying only those values provided. Since NULL can
be passed for several of these params, the builder keeps
track of fields that have been specified using flags instead.
Test: nope
Change-Id: I1483df7f796d11f1ebb5eda57d4aa10787cfb5de
Uses a delegate and more realistic method contents. Also added
language switcher for Kotlin-based and Java-based code.
Test: make ds-docs -j32
Bug: 138849874
Change-Id: Id31cf944f4adab2f09cf5004d68434b445da6eeb
- Allow recents component to enable/disable layer tracing
- Expose flickerlib classes for use with sysui/launcher tests
- Allow trace files to be moved to a path that the client can read
- Ensure layers are flattened with depth traversal to encode ordering
Bug: 140244969
Test: atest FlickerTests
Change-Id: I7af5699ff5b8a4bc62c1a8105c67b31bc45a2236
Merged-In: Ia0934ec7c2b9484fa6c85f5aa8d9b2e5e6f7dc0f
For supoorting new API as below, the A11y window cache needs to modify
from one dimension to two dimension. The first dimension is window Id,
the second(new) dimention is the display Id.
SparseArray<List<AccessibilityWindowInfo>> getWindowsOnAllDisplays()
Bug: 133279356
Test: a11y CTS & unit tests
Change-Id: Ida49ef22de67bd81353a896491dcae56ed751fd1
Major changes in this CL
- Added PipBoundsHandler in SysUI package handles the bounds calculation
and save/restore the snap fraction
- Added IPinnedStackListener.onSaveReentrySnapFraction and
IPinnedStackListener.onResetReentrySnapFration, both called from
PinnedStackController (WM) to SysUI
- Added IPinnedStackListener.onPrepareAnimation, called from WM to
SysUI to notify that an animation for pinned stack is about to happen
- Added IPinnedStackController.startAnimation, called from SysUI to WM
to actually start the pinned stack animation
- Updated tv/PipManager to use PipBoundsHandler as well
Known issues and what's next
- Shelf height is set after the animation is started, therefore one may
notice the PiP window is hovering over the shelf. This is tracked
separatedly by b/139016518
- Bounds calculations still exist in PinnedStackController since
onTaskStackChanged callback requires so. Once we addressed b/139016833
(move rotation bounds calculation to SysUI), they should be all gone.
- Move the pinned stack animation from WM to SysUI and we can furthre
remove IPinnedStackListener.onPrepareAnimation and
IPinnedStackController.startAnimation
More details: go/pip-sysui-migration
Bug: 139015463
Bug: 139015142
Test: atest PinnedStackTests
Test: atest PinnedStackControllerTest
Change-Id: I76c2b40ea0fe95e3a8019b434d39ba5540e2039f
- Allow recents component to enable/disable layer tracing
- Expose flickerlib classes for use with sysui/launcher tests
- Allow trace files to be moved to a path that the client can read
- Ensure layers are flattened with depth traversal to encode ordering
Bug: 140244969
Test: atest FlickerTests
Change-Id: Ia0934ec7c2b9484fa6c85f5aa8d9b2e5e6f7dc0f
Adds fake control which is an InsetsSourceControl without a leash in it.
Fake control will be sent to the client when bars are shown transiently.
So the client thinks it still have the control over the bars, but moving
the bars won't take effect.
InsetsController.show still works and dispatches the modified state to
the server. The server can then listen to that state change, and abort
transient showing mode, start a new animation, and send over the new
control with an actual leash to the client.
Bug: 118118435
Test: atest InsetsSourceProviderTest
InsetsStateControllerTest
WindowStateTests
Change-Id: I8db5942e9f951e2652d4a3a34c9fde2efe5b9858