Commit Graph

10089 Commits

Author SHA1 Message Date
Casey Burkhardt
8cc3fee95c Merge "Resolve 3 inconsistencies in accessibility button API - Unify logic for detecting availability of the accessibility button - Ensure the initial visibility state is propagated to A11yMS - Ensure services only receive availability callbacks for changes" into oc-dev am: 4ab690a50d
am: 8097485c28

Change-Id: I0c21a256e612fd2ecfb2dce6c4d28e3c33e075e2
2017-06-17 01:02:57 +00:00
Casey Burkhardt
4ab690a50d Merge "Resolve 3 inconsistencies in accessibility button API - Unify logic for detecting availability of the accessibility button - Ensure the initial visibility state is propagated to A11yMS - Ensure services only receive availability callbacks for changes" into oc-dev 2017-06-17 00:41:06 +00:00
Bryce Lee
14d9e3a529 Merge "Create native Surface object on updateWindow for legacy apps." into oc-dev
am: 1e1c5d7b77

Change-Id: I2f402ea2a6003e5306a7bbcf1d7b8d640672d460
2017-06-16 23:24:34 +00:00
Bryce Lee
1e1c5d7b77 Merge "Create native Surface object on updateWindow for legacy apps." into oc-dev 2017-06-16 23:15:10 +00:00
Felipe Leme
2de4d6bce4 Merge "Trim text from autofillvalue when checking for empty." into oc-dev
am: b3b13ff62c

Change-Id: I5a96a3f2613aeaad1f3d146b5ce6a208b1180851
2017-06-16 23:00:14 +00:00
Bryce Lee
02949f1415 Create native Surface object on updateWindow for legacy apps.
There are some apps that use the Surface object itself to indicate
changes. As a result, recycling the existing Surface object for
updates can lead to such apps ignoring events such as size changes.

This changelist restores the original behavior for legacy apps, where
the underlying native Surface object is recreated during updates.

Fixes: 62108743
Test: go/wm-smoke
Test: Open affected application, observe expansion to fullscreen when
      nav bar disappears. Rotate to other orientation and observe
      expansion to fullscreen.

Change-Id: I874602b6b8686c6ecb05cf7b1a04ec4b700ad3f9
2017-06-16 14:00:40 -07:00
Felipe Leme
c5d4e068f2 Trim text from autofillvalue when checking for empty.
Test: VirtualContainerActivityTest#testSaveDialogNotShownWhenBackIsPressed
Fixes: 62667931

Change-Id: I7e673eedd39fff7af89c694d0bfc5a495f14ea26
2017-06-16 13:41:37 -07:00
Rob Carr
995f5240c9 Merge "ViewRootImpl: More null checks for performTraversals." into oc-dev
am: 6f87503ed8

Change-Id: I3c951fd2572abbada566494b5954697be098865d
2017-06-16 20:12:17 +00:00
Rob Carr
6f87503ed8 Merge "ViewRootImpl: More null checks for performTraversals." into oc-dev 2017-06-16 19:55:12 +00:00
Phil Weaver
9da5ee9e29 Merge "Stop rounded corners from confusing magnification" into oc-dr1-dev 2017-06-16 19:34:18 +00:00
Casey Burkhardt
469a2087d5 Resolve 3 inconsistencies in accessibility button API
- Unify logic for detecting availability of the accessibility button
- Ensure the initial visibility state is propagated to A11yMS
- Ensure services only receive availability callbacks for changes

Test: Manual, created test accessibility services
      targeting specific breakages
Bug: 38345417

Change-Id: I2250b32830cdfc2ecdc1dff7b7130dced2c1db29
2017-06-15 18:39:27 -07:00
Robert Carr
32f37ab023 ViewRootImpl: More null checks for performTraversals.
Let's first understand how mView could become null. Notice
at the beginning of performTraversals, there is a check that
mView != null, and so it is nulled while we are in the function.
mView is package private and there are only two places which assign
to it, ViewRootImpl#setView and ViewRootImpl#doDie. setView is guarded
by mView == null. But mView was not null (per the check at the beginning
of performTraversals) and so mView is being nulled by doDie().

doDie() only has 3 callpoints:
        1. ViewRootImpl#die(). Here though, calling it is guarded by
        !mIsInTraversal. !mIsInTraversal is unconditionally set at the
        beginning of performTraversals, and so this isn't our caller.
        2. ViewRootHandler, handling MSG_DIE. This runs on the same thread
        as performTraversal, and so it can't be our nuller.
        3. WindowManagerGlobal#addView. This must be our nuller.

We see WindowManagerGlobal#addView will call doDie in the case that
we attempt to add a view which we had previously set to be removed
but deferred removal of. Now we can construct a reasonable sequence
for getting here:
    1. requestLayout(). Perform traversals ends up on handler.
    2. removeView(). MSG_DIE ends up on handler, View ends up in mDyingViews
    3. performTraversals is executed by the handler
    4. From a callback initiated by performTraversals (e.g. measure)
       the client calls WindowManagerGlobal#addView on the view which
       was just removed.
    5. We are still in performTraversals so MSG_DIE hasn't been processed
       yet. This means that WindowManagerGlobal will perform the doDie
       immediately nulling mView.
    6. We return to performTraversals and crash.

We can see shortly after the offending call to doDie, a new ViewRoot will be
constructed and so whatever traversal we are doing on the old one doesn't
seem particularly important. It doesn't seem that we can do any better
than letting it fall through without crashing.

Bug: 38421184
Test: go/wm-smoke. Feed to the monkeys.
Change-Id: I55f310a3533175c9df4a82878be5a60fd01b80c1
2017-06-15 12:52:53 -07:00
John Reck
94ed3c84d6 Merge "Add a workaround for simulate secondary display" into oc-dev
am: 31443a17e8

Change-Id: Ib248882df61f0d45b7687726c1a57de6c289a9b5
2017-06-14 20:27:09 +00:00
John Reck
a896306c38 Add a workaround for simulate secondary display
To workaround a deadlock caused by bufferqueue locks
we force RenderThread over to use async mode which
we enable via eglSwapInterval(0)

Bug: 38372997
Test: steps in the bug
Change-Id: Ia305f73abbdd64ab0c25d1f7d32792cc6295a0ce
2017-06-14 10:50:14 -07:00
Lucas Dupin
1ead7fc753 Scrims should be grey when in-app
Bug: 38164389
Test: runtest -x colorextraction/tests/src/com/google/android/colorextraction/ColorExtractorTest.java
Test: runtest -x tests/src/com/android/systemui/colorextraction/SysuiColorExtractorTests.java
Change-Id: Ifcc04a8562e46b4f65bce0470ccd6c02dffcf377
(cherry picked from commit e1571705e6)
2017-06-14 10:00:16 -07:00
Phil Weaver
d321075ea4 Stop rounded corners from confusing magnification
Bug: 62144667
Test: Start magnification on device with rounded corners.
It now works properly.

Change-Id: I526dde8516693ac15425a4d005fb185cbdfcd8b0
2017-06-13 14:18:00 -07:00
Robert Carr
aec6b4749a Merge "SurfaceView: Fix missing override for SurfaceControl proxy" into oc-dev
am: 42b3610adc

Change-Id: I3238399a26917f80bd4e33bb20142f62076e6f4f
2017-06-13 00:54:10 +00:00
TreeHugger Robot
42b3610adc Merge "SurfaceView: Fix missing override for SurfaceControl proxy" into oc-dev 2017-06-12 23:38:19 +00:00
Robert Carr
552da0e0cd SurfaceView: Fix missing override for SurfaceControl proxy
I will not pretend classes are interfaces...I will not pretend
classes are interfaces...

Bug: 62444724
Test: cts-tradefed run singleCommand cts -d -o --module CtsViewTestCases --test android.view.cts.SurfaceViewSyncTest#testSurfaceViewBigScale
      go/wm-smoke

Change-Id: Iccca46edcd669430c32f31e9c7d8aba1db254f2d
2017-06-12 11:43:51 -07:00
Jeff Sharkey
0c28d43fe1 Hide APIs not intended to ship in DR.
This CL will be reverted once it merges into the next release branch
to re-introduce the proposed APIs.

This CL also makes the following code changes to preserve API
compatibility:

-- It keeps the recently added RemoteViews.clone() synchronized logic
intact, but moves it inside the method to avoid changing the API
signature.

-- It reverts the RttCall.read() behavior to the oc-dev logic, since
we can't throw IOException until we get an API level bump.  (The
original logic returned null instead of throwing.)

Test: builds, boots
Bug: 62427252, 62431886, 62427329
Bug: 62468911, 62431162, 62428935, 62429096
Bug: 37290820, 37359238, 36886243
Bug: 30143923, 35761231, 62192626, 29829689
Change-Id: I83d723f598cb0ee1fe198e65debd86ef7fd0420c
2017-06-12 10:26:01 -06:00
Felipe Leme
d11e14b428 Merge "Minor fix on autofill() javadoc." into oc-dev
am: 211e760408

Change-Id: I1dddd4e6a326ccd0fb6f57dbd30b0c4ba0d08106
2017-06-09 22:13:59 +00:00
Felipe Leme
211e760408 Merge "Minor fix on autofill() javadoc." into oc-dev 2017-06-09 22:02:51 +00:00
Siyamed Sinir
f99e84e4dd Merge "Force Autofill in FloatingToolbar overflow menu" into oc-dev
am: bc626c6358

Change-Id: I4d3cff4bf6a0403f311011709c3074bca532de15
2017-06-09 21:56:09 +00:00
Felipe Leme
6890569c04 Merge "Closes Autofill UIs when back button is pressed." into oc-dev
am: 8db148093c

Change-Id: I966af17b26d67f7f29290ee73053e1b833a6623a
2017-06-09 21:12:03 +00:00
Felipe Leme
d66af648c2 Merge "Ignore dispatchProvideStructureForAutofill() when layout is being updated." into oc-dev
am: e4835a2af4

Change-Id: If88ec9c1de2d81d5b629ed0ead8c9911e6f2c0c5
2017-06-09 21:03:27 +00:00
Siyamed Sinir
bc626c6358 Merge "Force Autofill in FloatingToolbar overflow menu" into oc-dev 2017-06-09 20:58:36 +00:00
Felipe Leme
8db148093c Merge "Closes Autofill UIs when back button is pressed." into oc-dev 2017-06-09 19:48:00 +00:00
Felipe Leme
e4835a2af4 Merge "Ignore dispatchProvideStructureForAutofill() when layout is being updated." into oc-dev 2017-06-09 19:42:24 +00:00
Jorim Jaggi
9f23608173 Merge "Properly run window animations at vsync-sf (1/2)" into oc-dev
am: d1f55f6302

Change-Id: Ibbb9214593ee1b5dd51a0b0da8815c270b875257
2017-06-09 04:15:12 +00:00
Felipe Leme
fad3a83a93 Minor fix on autofill() javadoc.
Bug: 62465574
Test: N/A

Change-Id: I4a55b4064a8af835e962a77c6ad55a29c1954efd
2017-06-08 18:50:27 -07:00
Felipe Leme
5013f9feb2 Ignore dispatchProvideStructureForAutofill() when layout is being updated.
View already checks if its layout is being updated when calling
notifyEnterOrExitForAutoFillIfNeeded(), but that doesn't prevent apps crashing
when the autofill process was triggered by another view.

Test: existing CtsAutoFillServiceTestCases pass
Fixes: 38198484

change-Id: I8e9435ddc4cf21fb648d39aace93f3af0e1fdf4f
2017-06-08 18:45:11 -07:00
Jorim Jaggi
34a0cdb98e Properly run window animations at vsync-sf (1/2)
- Add new Choreographer instance that runs on vsync-sf
- Use this new Choreographer for WindowAnimator, and remove all
the hacks around it

Test: Open apps and close apps, notice no stutter
Test: Screen zoom animations
Test: go/wm-smoke
Bug: 36631902
Change-Id: I988ae25645effc3ac20efa7cb9b68f23444da0d0
2017-06-08 17:22:43 -07:00
Siyamed Sinir
484c2e2fbe Force Autofill in FloatingToolbar overflow menu
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
bit CtsWidgetTestCases:android.widget.cts.EditTextTest

Bug: 62271937
Change-Id: Ib3447281f3bd1abc811a25fc55ad55e34e155bbb
2017-06-08 17:16:26 -07:00
Felipe Leme
5f97880714 Closes Autofill UIs when back button is pressed.
Test: existing CtsAutoFillServiceTestCases pass
Test: LoginActivityTest#testSaveGoesAwayWhenTappingBackButton pass

Fixes: 62272098

Change-Id: Id34767ca32836f040e04790f0f2935ae49d88d71
2017-06-08 13:10:32 -07:00
Felipe Leme
4d579eacec Merge "Overall improvement on Autofill javadocs for autofillable APIs." into oc-dev
am: 9be8c96918

Change-Id: Ib165e14765a74e77fd41d15d979bf7f7ac0726ed
2017-06-08 06:07:15 +00:00
Felipe Leme
9be8c96918 Merge "Overall improvement on Autofill javadocs for autofillable APIs." into oc-dev 2017-06-08 05:21:08 +00:00
Bryce Lee
50caf4af60 Merge "Revert "Coordinate configuration changes and window frame size."" into oc-dev
am: f867733d4f

Change-Id: Icaff526ff266e449eefdc6f471c37d94290662b6
2017-06-07 23:31:48 +00:00
Bryce Lee
f867733d4f Merge "Revert "Coordinate configuration changes and window frame size."" into oc-dev 2017-06-07 23:23:30 +00:00
Bryce Lee
46b01655b3 Revert "Coordinate configuration changes and window frame size."
This reverts commit afb45bba83.

Bug: 32839232
Fixes: 62424393
Change-Id: Ifaa0176e18100ec85b8c81268a26fb16ffe9b5f3
2017-06-07 23:03:09 +00:00
Albert Chaulk
51d67cf693 Add a WM API to query the touch region for the input method window
This is needed by VR to handle keyboards that display a window larger
than the interactable region

Bug: 62194867
Test: Manually with prints
Change-Id: I7288956ed8da8d24e7c46ffa8f27461f7abbca5e
(cherry picked from commit 56162a0a51)
2017-06-07 16:29:02 +00:00
Evan Rosky
fd80d0e8ac Merge "Don't report focusableViewAvailable on add" into oc-dev am: 8d4b72c68a
am: 2b64c87366

Change-Id: I76ffe2869425314f43b0fc2044b8bb8d80619689
2017-06-07 01:19:12 +00:00
Evan Rosky
8d4b72c68a Merge "Don't report focusableViewAvailable on add" into oc-dev 2017-06-07 01:02:21 +00:00
Rob Carr
198aa2bcda Merge "SurfaceView: Correct inverted alpha detection condition." into oc-dev am: 3946916d56
am: 8296054d4e

Change-Id: Iaf35647355f48300199d888eb884a23750c0059b
2017-06-07 00:03:51 +00:00
TreeHugger Robot
d131f19c50 Merge "Add new haptic feedback constant for virtual key release." 2017-06-06 21:35:51 +00:00
Felipe Leme
2f6fc72efc Overall improvement on Autofill javadocs for autofillable APIs.
Bug: 37567048
Test: ran 'm -j doc-comment-check-docs' and checked resulting HTML

Change-Id: I7eaf0a521c3777baf0dc0002ae814990fd96a14c
2017-06-06 14:33:56 -07:00
Robert Carr
851e7e4394 SurfaceView: Correct inverted alpha detection condition.
Careless mistake on my part :). Sorry about that.

Test: Try an app with two SV like Netflix verify top SurfaceView doesn't occlude bottom one.
Bug: 62375611
Bug: 62113351
Change-Id: Ia33aabf8b8e276f70365d62b82f113ecd3bee2fa
2017-06-06 14:04:50 -07:00
Evan Rosky
b23e4f4987 Don't report focusableViewAvailable on add
This reverts a part of 2ae1bf568b

RecyclerView relies on the old behavior. Will un-revert this (with
targetSdk check) once we have a solution for RecyclerView

Bug: 38352147
Test: RecyclerView Focus tests now pass
Change-Id: I7b0dfda295cd75e407bbd39a948b5585f8ed6e08
2017-06-06 10:41:26 -07:00
Bryce Lee
906fdb24e6 Merge "Coordinate configuration changes and window frame size." into oc-dev am: 749cbb1911
am: 42e95f8b54

Change-Id: I6ecf592612f5c9d54c37ae9df9525b2f9e14826d
2017-06-06 16:10:17 +00:00
Robert Carr
17c340bb8b Merge "Reinstate SurfaceView Background from N" into oc-dev am: 71044d6ba1
am: 6f0f995120

Change-Id: I69cf4465b8900abea6e4e803b0d2c1cd033a0635
2017-06-06 15:56:31 +00:00
Jeff Sharkey
ec68b46bc8 Merge "Annotate @SystemApi with required permissions." into oc-dev am: c1406978a4
am: 7a2e4a8486

Change-Id: Ib629e25dbf047c110feaf03e4ff744b5c6df9aeb
2017-06-06 15:48:24 +00:00