1. Implementing the new API for supporting multi-display.
SparseArray<List<AccessibilityWindowInfo>> getWindowsOnAllDisplays()
2. Modifying the documents of this API and its function is to get the window lists of
default display.
List<AccessibilityWindowInfo> getWindows()
Bug: 133279356
Test: a11y CTS & unit tests
Change-Id: Id4e874f43390bdf4196d106a44bbca18bf9fd1d6
Added the WMS.mirrorDisplay API to mirror a specified displayId. The
request requires the ACCESS_SURFACE_FLINGER permission.
Added a sample app to demonstrate the useablility of this API and
different ways the mirror SurfaceControl can be used.
Test: mmma tests/MirrorSurfaceTest and install apk
Bug: 131622422
Change-Id: Ic86115786d37473650b3c7ed39cba0bd4c65b281
The client may pass null layout params in the case
that nothing has changed. To handle this we should
cache the previous values.
Bug: 134365580
Test: WindowlessWmTests
Change-Id: I3192b84d1550f16dcca108bd9746176a4e5ffe42
Add showInsets(types, fromIme) in IWindow in order for WM to be able to request
show for any of the InsetTypes.
Note: This will be used in followup CLs.
Bug: 139487540
Bug: 118118435
Test: Build passing
Change-Id: Ie988d0a234befa530ca236a3bb32c77d8a4dce21
We add support for resizing, and also add test API so we can get
some end-to-end tests going
Bug: 134365580
Test: WindowlessWmTests
Change-Id: I2f61fa15962523b9736f796c60ce799e4f9c9c18
Previously the IMM was logging error and warning logs every single time
it attempted to use an IMM method and ended up with the fallback IMM.
This is both extremely noisy since the IMM is accessed multiple times
per second in the case of the user typing and a little misleading since
this isn't truly an error condition on its own.
Downgrade the log to a VERBOSE log. This will still show up for apps
when in development but is less likely to wander into bug reports for
released apps.
Bug: 141884160
Fixes: 141884160
Test: Manually. Trigerred error condition and verified log level.
Change-Id: If25ef81c6b74679ebfa725f0c98e0bc633399e70
To test out the new codegen functionality, convert the InputMonitor
class to use the @DataClass annotation.
Test: presubmit
Bug: none
Change-Id: Idcddb410555aba0c45fe4997db8b662548ce1c39
More errors in the positionLost refactoring, it turns out positionLost
can be called after we are fully detached and so ViewRootImpl can be null
(which it can't be anywhere else in the SurfaceView code). Guard against this
and guard against ViewRoot.mSurface being released since it seems this intermediate
state would also be possible.
Bug: 141474834
Test: Manual
Change-Id: Id34e667bf319deb6e8b26346225b604a54dc342c
- Ensure that the composition sampling listener is destroyed when the nav
bar is destroyed instead of waiting for the finalize callback. That
callback would never be made since the sampling listener has a reference
to the outer class and has a strong ref from SF, and the other class
has itself a reference to the listener.
- Always unregister the nav bar fragment from the mode change callbacks
Bug: 141473489
Test: Switch navigation modes a couple times, take hprof dump and verify
there aren't leaking classes
Change-Id: Ic389a559a3d430af495365102854d531f7d1966d
Following the same logic as the revision "Destroy SurfaceControl from RenderThread"
we have a similar race condition with the native object behind the mSurface object.
In addition that CL introduces a logic error...previously in positionLost we assumed
if mSurfaceControl != null then mSurface had not been released,
but now we release the Surface but wait on the RenderThread to release the SurfaceControl
when it tries to grab the frame number to create the deferred transaction the Surface
has already been released and we go on to crash. Releasing them all in the same place
fixes this.
Bug: 141525040
Test: go/wm-smoke
Change-Id: I7c938cd498a9260146f34f2d6e18744854d69946
With this change, the shelf offset will be set directly by Launcher to
SysUI without WM being involved.
PinnedStackControllerTest is removed in this change since the only test
function is against WM.setShelfHeight. However, new tests regard
PinnedStackController should be added per b/141200935.
See also: go/pip-sysui-migration
Bug: 139016518
Test: atest PinnedStackTests
Change-Id: I606de3d8106ac12d7bf2b367877bc5bb345af3fe
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