Commit Graph

13375 Commits

Author SHA1 Message Date
Jacky Kao
61178c5f13 Merge "Implementing new API : getWindowsOnAllDisplays()" 2019-10-05 00:07:04 +00:00
Jacky Kao
c7be7b52a2 Implementing new API : getWindowsOnAllDisplays()
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
2019-10-04 08:31:14 +08:00
Chavi Weingarten
6b44087b1a Merge "Added API to mirror display and added sample app." 2019-10-03 16:45:06 +00:00
Taran Singh
c0263d94a1 Merge "Add showInsets method in IWindow" 2019-10-03 11:10:02 +00:00
chaviw
a51724fc71 Added API to mirror display and added sample app.
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
2019-10-02 14:09:30 -07:00
Rob Carr
d3da95fd13 Merge "Improve WindowlessWM relayout support" 2019-10-02 21:03:07 +00:00
Mark Renouf
817d014bf0 Merge "Support frame-synchronized clipping on SurfaceView" 2019-10-02 15:03:15 +00:00
Robert Carr
650e718efb Improve WindowlessWM relayout support
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
2019-10-01 13:43:36 -07:00
Tarandeep Singh
0bedd94994 Add showInsets method in IWindow
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
2019-10-01 13:22:55 -07:00
Rob Carr
1d8b5401c2 Merge "Add relayout support to WindowlessWindowManager" 2019-10-01 19:29:19 +00:00
Adam He
725f1e8f60 Merge "Changed notifySessionLifecycle() API to notifySessionResumed() and notifySessionPaused()." 2019-10-01 18:30:59 +00:00
Robert Carr
df2894647e Add relayout support to WindowlessWindowManager
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
2019-09-30 17:16:02 -07:00
TreeHugger Robot
4c23a59805 Merge "Use DataClass annotation for InputMonitor" 2019-10-01 00:09:26 +00:00
Adam He
42ec1d868f Changed notifySessionLifecycle() API to notifySessionResumed() and
notifySessionPaused().

Bug: 139811826
Fixes: 141568144
Test: atest CtsAutoFillServiceTestCases
Test: atest android.contentcaptureservice.cts.CustomViewActivityTest#testSessionLifecycleEvents
Change-Id: Id5ed40a538020c5a7087556dccbda26909ffd3c2
2019-09-30 16:46:12 -07:00
Michael Klimushyn
a9427152d2 Downgrade InputMethodManager getFallbackIMM logs
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
2019-09-30 22:23:46 +00:00
Adam He
e8cdd860c2 Merge "Added documentation on how hintIdEntry was used." 2019-09-30 20:42:31 +00:00
Siarhei Vishniakou
29aea7fa02 Use DataClass annotation for InputMonitor
To test out the new codegen functionality, convert the InputMonitor
class to use the @DataClass annotation.

Test: presubmit
Bug: none
Change-Id: Idcddb410555aba0c45fe4997db8b662548ce1c39
2019-09-30 20:33:25 +01:00
Kevin Hufnagle
38980e0492 Merge "docs: Added link to multi-window drag how-to guide" into qt-dev am: 667b944522 am: 52145e2481 am: 3f80c14817
am: 0befd27389

Change-Id: I51cb2f14553e549b7c0403d26d91016285c5c364
2019-09-30 09:48:17 -07:00
Kevin Hufnagle
0befd27389 Merge "docs: Added link to multi-window drag how-to guide" into qt-dev am: 667b944522 am: 52145e2481
am: 3f80c14817

Change-Id: I8c346d90c38a76802a6f2a0e5289b03dcfb1f814
2019-09-30 09:36:01 -07:00
Kevin Hufnagle
3f80c14817 Merge "docs: Added link to multi-window drag how-to guide" into qt-dev am: 667b944522
am: 52145e2481

Change-Id: Ide5e154813dce831fb117a7d23e85737088b63bb
2019-09-30 09:29:21 -07:00
Kevin Hufnagle
52145e2481 Merge "docs: Added link to multi-window drag how-to guide" into qt-dev
am: 667b944522

Change-Id: Ic5039fb781c73c2e1691c4c32afc7e35a9713683
2019-09-30 09:23:00 -07:00
TreeHugger Robot
08e59efeb6 Merge changes from topic "drag surface stuck"
* changes:
  Fix drag surface would be stuck (1/2)
  Revert "Fix drag and drop (3/3)"
  Revert "Fix drag and drop (2/3)"
  Revert "Fix drag and drop (1/3)"
2019-09-28 00:08:43 +00:00
Kevin Hufnagle
36ef69743c docs: Added link to multi-window drag how-to guide
Test: make ds-docs -j32

Bug: 71008103
Change-Id: Ifcc50920cf3828697add018d1d3a6a827c7c9f98
2019-09-27 23:56:09 +00:00
Adam He
295e6d78fd Added documentation on how hintIdEntry was used.
Bug: 141318055
Test: atest CtsAutoFillServiceTestCases
Change-Id: Ib85638a159404ca29bc2cd97bca73148f87cefae
2019-09-26 15:12:48 -07:00
Rob Carr
05c575ea38 Merge "Continued SurfaceView lifetime fixes." 2019-09-26 21:58:52 +00:00
Robert Carr
9421048a1f Continued SurfaceView lifetime fixes.
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
2019-09-26 10:44:16 -07:00
Winson Chung
52d938d31f Fix nav bar leak in SystemUI
- 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
2019-09-26 02:31:27 +00:00
Hongwei Wang
a904e8d208 Merge "Moves shelf offset into SysUI package" 2019-09-25 21:22:59 +00:00
TreeHugger Robot
135906a5b9 Merge "SurfaceView: Release Surfaces where SurfaceControl are released." 2019-09-25 13:59:58 +00:00
Kevin Hufnagle
476214b386 Merge "docs: Modernized AccessibilityNodeProvider example" into qt-dev am: e49cbb3a5d am: 786e8a2849 am: 5061c99b61
am: c56a6f0800

Change-Id: I759c91fc53835dc607973b02d2637b77005974a9
2019-09-24 15:38:23 -07:00
Kevin Hufnagle
c56a6f0800 Merge "docs: Modernized AccessibilityNodeProvider example" into qt-dev am: e49cbb3a5d am: 786e8a2849
am: 5061c99b61

Change-Id: Id2ff15be26ce240114eb3ca53635b9fd9ea6c8ac
2019-09-24 15:24:12 -07:00
Kevin Hufnagle
5061c99b61 Merge "docs: Modernized AccessibilityNodeProvider example" into qt-dev am: e49cbb3a5d
am: 786e8a2849

Change-Id: I71ff61397d44812647124042e73a655a6710ff01
2019-09-24 15:14:14 -07:00
Kevin Hufnagle
786e8a2849 Merge "docs: Modernized AccessibilityNodeProvider example" into qt-dev
am: e49cbb3a5d

Change-Id: I24a281dd7194ea5c731ecc02371734fe1fa315f8
2019-09-24 15:06:18 -07:00
Robert Carr
172bdbc502 SurfaceView: Release Surfaces where SurfaceControl are released.
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
2019-09-24 12:03:18 -07:00
Hongwei Wang
9b751800bc Moves shelf offset into SysUI package
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
2019-09-23 17:00:42 -07:00
TreeHugger Robot
427356e1b3 Merge "Updated ViewPropertyAnimator to call View methods" 2019-09-21 00:00:02 +00:00
Rob Carr
89c64cd195 Merge "SurfaceView: Destroy SurfaceControl from RenderThread" 2019-09-20 23:43:13 +00:00
Nader Jawad
6fa971bab3 Updated ViewPropertyAnimator to call View
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
2019-09-20 14:55:14 -07:00
Robert Carr
005c63e8c6 SurfaceView: Destroy SurfaceControl from RenderThread
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
2019-09-20 14:48:40 -07:00
Winson Chung
95112612bb Merge "Add wallpaper leash for remote and recents animations" 2019-09-20 21:28:29 +00:00
Winson Chung
d585219545 Add wallpaper leash for remote and recents animations
Bug: 140626334
Test: atest RecentsAnimationControllerTest
Test: atest RemoteAnimationControllerTest

Change-Id: Id638256983801e722b57da0abd22e3e480d5559d
Signed-off-by: Winson Chung <winsonc@google.com>
2019-09-20 17:20:12 +00:00
Yunfan Chen
e7a1ac48f7 Merge "Remove animation background color" 2019-09-20 03:31:43 +00:00
Rob Carr
9b1731f276 Merge "Fix WindowlessWm null check" 2019-09-19 23:42:12 +00:00
Robert Carr
8833ae89d5 Fix WindowlessWm null check
Fix careless mistake and also add end-to-end tests so that it doesn't happen again.

Bug: 134365580
Test: WindowlessWmTests
Change-Id: I4b22498faeb19d28f9f40daa8777f69efe6899ba
2019-09-19 16:39:24 -07:00
Beth Thibodeau
0893762538 Merge "Output switch button in media notification header" 2019-09-19 15:18:18 +00:00
Winson Chung
3f0b334926 Merge "Exposing flickerlib classes and layer tracing to sysui" am: e25075b2fb am: f19fcb5048
am: 8832611d4f

Change-Id: I0b0e2b1f094b29cc445e5347aa8af81da1b08bf8
2019-09-19 07:17:25 -07:00
Winson Chung
8832611d4f Merge "Exposing flickerlib classes and layer tracing to sysui" am: e25075b2fb
am: f19fcb5048

Change-Id: I281764bab937ff4a71ed0572a648e4f08738a5d9
2019-09-19 07:09:21 -07:00
Winson Chung
f19fcb5048 Merge "Exposing flickerlib classes and layer tracing to sysui"
am: e25075b2fb

Change-Id: I182eef2c7f93d68bcdceaec3fcdfaf9615eda0ea
2019-09-19 06:55:30 -07:00
Riddle Hsu
0ac60d478c Move the checking of mWindowAttributesChanged closer to relayoutWindow
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
2019-09-19 16:50:12 +08:00
Yunfan Chen
93d522496d Remove animation background color
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
2019-09-19 17:31:59 +09:00