Commit Graph

9841 Commits

Author SHA1 Message Date
Evan Rosky
8d4b72c68a Merge "Don't report focusableViewAvailable on add" into oc-dev 2017-06-07 01:02:21 +00: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
afb45bba83 Coordinate configuration changes and window frame size.
Previously, it was possible for the view hierarchy to be measured,
laid out, and drawn around a window frame size that did not match
the current configuration. This stems from new configurations not
always propagating back from WindowSession#relayout, which is
called from ViewRootImpl.

This changelist makes WindowManagerService#relayoutWindow always
return the latest configuration. It also adds rotation to the
configuration.

Fixes: 32839232
Test: go/wm-smoke
Test: Open Camera while rotating phone to landscape. Added
      temporary logs to detect inconsistencies between measurements
      and reported rotation on draw.
Change-Id: I39daca338b4f87eff1a509eb99493f01e710ced1
2017-06-05 20:55:46 -07:00
TreeHugger Robot
71044d6ba1 Merge "Reinstate SurfaceView Background from N" into oc-dev 2017-06-05 23:57:06 +00:00
Jeff Sharkey
d86b8fea43 Annotate @SystemApi with required permissions.
Most @SystemApi methods should be protected with system (or higher)
permissions, so annotate common methods with @RequiresPermission to
make automatic verification easier.

Verification is really only relevant when calling into system
services (where permissions checking can happen on the other side of
a Binder call), so annotate managers with the new @SystemService
annotation, which is now automatically documented.

This is purely a docs change; no logic changes are being made.

Test: make -j32 update-api && make -j32 offline-sdk-docs
Bug: 62263906
Change-Id: I2554227202d84465676aa4ab0dd336b5c45fc651
2017-06-05 13:27:11 -06:00
TreeHugger Robot
c3504d4f33 Merge "Workaround to ensure that PIP activities have a visible shadow." into oc-dev 2017-06-03 20:41:18 +00:00
TreeHugger Robot
a2f747c57c Merge "Workaround glitches from SOFT_INPUT_ADJUST_PAN" into oc-dev 2017-06-03 01:01:26 +00:00
Winson Chung
4d8681ff6a Workaround to ensure that PIP activities have a visible shadow.
- When the window for the activity enters PIP, update the outline provider
  to override the alpha of the shadow (to be opaque) to ensure that is is
  visible.  Only applies to the task root activity.

Bug: 36741700
Test: Launch YT, ensure that there is a shadow when after it enters PIP
Test: go/wm-smoke
Test: android.server.cts.ActivityManagerPinnedStackTests

Change-Id: If089dae84e4916d3d0e7bbeb316215b46e522e05
2017-06-02 16:02:50 -07:00
John Reck
3e04f09136 Workaround glitches from SOFT_INPUT_ADJUST_PAN
Change-Id: I1ee0c7d434eb03667bd5e838ea891db73651a994
Fixes: 62073166
Test: Repro app in bug
2017-06-02 16:01:14 -07:00
Robert Carr
5523555293 Reinstate SurfaceView Background from N
In N we used a Dim-Layer to add a background to SurfaceView, from
the WM side. In O we forgot to reimplment this with the new SurfaceView
and so we once again can have holes for apps which don't implement
surfaceRedrawNeeded.

Bug: 62113351
Test: Manual from bug. go/wm-smoke
Change-Id: If3dac51886b9a8083140da7b5bc1b349da57860f
2017-06-02 14:21:03 -07:00
Evan Rosky
12ee4bd7a8 Merge "Improve consistency in focusAfterDescendants behavior" into oc-dev 2017-06-02 17:56:33 +00:00
TreeHugger Robot
0b83588177 Merge "Annotate test method visibility in WindowManager" into oc-dev 2017-06-02 17:26:54 +00:00
Evan Rosky
2ae1bf568b Improve consistency in focusAfterDescendants behavior
- focusAfterDescendant ViewGroups that were also clusters would
  continue to be remembered for restoreFocusedInCluster after
  gaining focusable children. This caused undesired cluster-focus
  loops
- focusableViewAvailable wasn't being called in all cases (specifically
  when views were added). This meant focusAfterDescendant views
  wouldn't transfer focus to children in some cases.
- 0-area views which became focusable weren't reporting
  focusableViewAvailable. Since views gaining area doesn't report
  focusableViewAvailable, this was another case of state change not
  being accounted for. Also, this restriction doesn't exist for
  gaining focus so these views are actually focusable despite having
  0 area.
- focusableViewAvailable was reporting focusable views even when
  ancestors (and therefore the new focusables) were not visible.
- restoreFocusNotInCluster tried to focus invisible views
- restoreFocusNotInCluster was sending focus to focusAfterDescendant
  viewgroups which had focusable children IN a cluster.

Bug: 38010274
Bug: 38009598
Bug: 38352147
Test: cycling works in situations reported in bugs.
      Added CTS tests around focusableViewAvailable and
      FOCUS_AFTER_DESCENDANTS

Change-Id: I77f214f5384dcf9092324e08fc1daa3f1155bbad
2017-06-01 20:50:01 +00:00
TreeHugger Robot
d8d9758363 Merge "Don't automatically autofill when manual request returned just 1 dataset." into oc-dev 2017-05-31 20:43:20 +00:00
Alan Viverette
39259dd33c Annotate test method visibility in WindowManager
Change-Id: I36714b4eb39c937cc3c42fac604fd0fa9900ae47
Fixes: 62066862
Test: n/a
2017-05-31 15:06:09 -04:00
TreeHugger Robot
21999d2895 Merge "Always post AutofillManager operations in the UI thread." into oc-dev 2017-05-31 18:49:38 +00:00
Winson Chung
4e73123c52 Merge changes from topic 'hw_bitmap' into oc-dev
* changes:
  DO NOT MERGE Updating AnimationSpec and related internal APIs to use GraphicBuffer.
  Update code to draw into hardware bitmaps.
2017-05-31 18:46:59 +00:00
Winson Chung
aa7fa01353 DO NOT MERGE Updating AnimationSpec and related internal APIs to use GraphicBuffer.
- This reduces the copy of the hardware bitmap when it is
  parceled/unparceled.

Bug: 38507414
Bug: 62021436
Test: Launch Overview to/from app, ensure that the header bar shows
Test: go/wm-smoke

Change-Id: I85a9a59a0a3699d1642158061d10fddef34393c3
Signed-off-by: Winson Chung <winsonc@google.com>
2017-05-31 16:23:24 +00:00
TreeHugger Robot
c6700cac67 Merge "Fix unnecessary relaunches when unlocking with fingerprint sensor." into oc-dev 2017-05-31 03:54:58 +00:00
Felipe Leme
9876a6fba9 Always post AutofillManager operations in the UI thread.
Test: existing CtsAutoFillServiceTestCases pass
Fixes: 62194407

Change-Id: If878b2befc03706c000b3f31b60904072b2225f4
2017-05-30 19:54:43 -07:00
Wale Ogunwale
bfa81adfbe Fix unnecessary relaunches when unlocking with fingerprint sensor.
When the device is unlocked using the fingerprint sensor in an
orientation opposite to the lockscreen orientation, the app that
will be visible is first relaunched in the current lockscreen
orientation and then later relaunched in the correct orientation.
If the keygaurd is going away then:
- Don't let keyguard affect device orientation. We want to use the
orientation of the app that will be visible.
- Allow the rotation sensor to be enabled even though draw isn't
complete so window manager can get the updated or last rotation
reading.
- Don't clear the previous proposed sensor reading to allow
window manager to use the information to update the orientation as
needed vs. falling back to the previous orientation.

Change-Id: I8369723d6a77f2c602f1ef080371fa7cd9ee094e
Fixes: 38494778
Test: Launch an app that doesn't fix orientation like clock, hold
the device in landscape, press the power button, unlock the device
using the fingerprint sensor, and verify the the app isn't
relaunched.
2017-05-30 18:35:36 -07:00
TreeHugger Robot
9c1b222fc1 Merge "Fix issue with aspect ratio not applying correctly when PIP is expanded" into oc-dev 2017-05-31 00:01:00 +00:00
Felipe Leme
8697a31d3c Don't automatically autofill when manual request returned just 1 dataset.
When the user manually requested autofill and the service returned just 1
dataset, the app was automatically filled with it.

The motivation here was that since the user explicitly asked for autofill,
it'd ok - and better for the user - to release the data to the app without
the selecting a dataset.

This assumption was ok initially, but now the API to manually request autofill
is public, so a malicious app could use to get autofill data without user
interation.

Test: CtsAutoFillServiceTestCases pass
Fixes: 62164695

Change-Id: I47c3d8c557533526572aa67a4240c0a57f54268d
2017-05-30 14:34:27 -07:00
Winson Chung
a71febe2aa Fix issue with aspect ratio not applying correctly when PIP is expanded
- The current code always used the default min edge size to calculate the
  PIP bounds when the aspect ratio changes, so if a PIP app sets the aspect
  ratio in response to the an action, the bounds would be resized down
  incorrectly.
- This CL fixes the issue with current aspect ratio not being initialized
  correctly, and also ensures that SystemUI always updates the min edge
  size when expanding the PIP.

Bug: 38324839
Test: android.server.cts.ActivityManagerPinnedStackTests
Test: go/wm-smoke

Change-Id: Ida0f68b2f8f93f9bf1915dda8762a156704d4709
2017-05-30 16:36:48 +00:00
Robert Carr
49cd9f882c ViewRootImpl: More careful draw accounting.
The strategy of beginning the count at 1 isn't enough
and we need to explicitly debt each request to report
draw. Imagine the case where a ViewRootImpl reports draw
multiple times, while we are waiting for a SurfaceView draw
completion callback. Without the explicit draw debt, the ViewRoot
would be counted as drawing for the SurfaceView and we could
notify the WM too early.

Test: Open Chrome a few hundred times. go/wm-smoke.
Bug: 38324871
Change-Id: I5762a98d1cc808125033ba3d1db8a3ea39a9e071
2017-05-30 09:27:44 -07:00
Robert Carr
b53670aecf SurfaceView: Avoid over-reporting DRAW_FINISHED.
To some extent we rely on the app to call the draw callback
if they want the app to work properly, but this case is fairly easy
to detect, so why not prevent it and provide a helpful log.

Bug: 62051758
Test: Warm start camera a few times. go/wm-smoke.
Change-Id: I39f4e015bfa15a1e0c37dba70b4a700803a6a274
2017-05-30 09:27:44 -07:00
Rob Carr
5366cfbef3 Merge "Fix SurfaceView handler." into oc-dev 2017-05-30 16:17:32 +00:00
TreeHugger Robot
0b1b1c4346 Merge "Improved autofillHints documentation." into oc-dev 2017-05-27 02:25:08 +00:00
TreeHugger Robot
759669988b Merge changes from topic 'highlight_fixed' into oc-dev
* changes:
  Check default focus highlight for ImageView.
  Check state_focus in foreground.
2017-05-27 00:11:10 +00:00
John Reck
7992500d54 Fix SurfaceView handler.
The UI Thread is whatever we happen to be attached to, or the current thread if we are unattached.

Bug: 38180075
Test: Repro from bug. go/wm-smoke.
Change-Id: I3f75882aa13de2b781c71ebbc7b09888981521b3
2017-05-26 21:15:33 +00:00
TreeHugger Robot
bd8fb0e71d Merge "Resolve inflate attr against default package" into oc-dev 2017-05-26 20:54:57 +00:00
Alan Viverette
a7cec30f98 Resolve inflate attr against default package
Change-Id: I2de0f79fb4918770c9f816934b1fc4953073a4f1
Fixes: 38456890
Test: LayoutInflaterTest#testInclude
2017-05-26 14:55:49 -04:00
TreeHugger Robot
7990306b8b Merge "Moar Autofill Framework javadoc improvements:" into oc-dev 2017-05-26 18:55:38 +00:00
TreeHugger Robot
25ae29dfd5 Merge "Removed deprecated setAutofill() method for virtual children." into oc-dev 2017-05-26 15:08:20 +00:00
Felipe Leme
6dcec87ea2 Moar Autofill Framework javadoc improvements:
- Fixed WebView < > and API calls.
- Improved description of virtual views.
- Described how to set boundaries of virtual views.
- Improved AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS doc.

Bug: 37567048
Test: ran 'm -j doc-comment-check-docs' and checked resulting HTML

Change-Id: Ic0d1e9ff2703c87d4007f0092a2f8dfe0efca6db
2017-05-25 16:10:08 -07:00
TreeHugger Robot
68311f8712 Merge "Fix and clarify behavior of vertical/horizontal attributes" into oc-dev 2017-05-25 22:51:18 +00:00
Felipe Leme
8dfe3fa979 Improved autofillHints documentation.
Bug: 38086244
Test: ran 'mmm -j frameworks/base/:doc-comment-check-docs' and checked HTML.

Change-Id: Ia7d2f75ae1db067106af36aa8dbb1cdbf3b40b3a
2017-05-25 15:37:08 -07:00
Felipe Leme
5f3dbb30fc Removed deprecated setAutofill() method for virtual children.
Test: CtsAutoFillServiceTestCases pass

Bug: 37563972

Change-Id: Icbffb89d86ee65831b7c78effd2522ac7891e1be
2017-05-25 11:51:50 -07:00
TreeHugger Robot
d63b77c627 Merge "Creating HW bitmaps from RenderNode" into oc-dev 2017-05-25 18:48:22 +00:00
Chet Haase
cb3d023639 Fix and clarify behavior of vertical/horizontal attributes
There were a couple of problems with the new paddingHorizontal
and layout_mareginHorizontal attributes. For one thing, the behavior
of layout_marginHorizontal needed to change with respect to marginStart/End.
Instead of the implemented behavior where Horizontal took precedence over
start/end, the behavior is being changed such that start/end can override
horizontal. This makes it consistent with the way that the attributes work
for padding.

Also, the attribute docs were not correct. For one thing, they needed to be
updated to match the new behavior for marginHorizontal. Also, the docs for
the padding attributes (including the docs for the existing "padding") were
not correct for the behavior as-implemented (specifically with respect to the
precedence of the attributes where paddingStart/End are concerned).

Bug: 37756178  double-check logic of horizontal/vertical attributes wrt start/end attributes
Test: Updated cts tests, submitting at the same time
Change-Id: I85a102549022cbec7d7b5c76f31ac985db103372
2017-05-24 18:35:48 -07:00
Andrew Solovay
05ceb4e0a6 docs: Clarifying code snippet for View.autoFill()
Per bug, updating code snippet to clarify that it's an example of an
implementation of the method. Oscar & Felipe, please check that I did
it right!

Also fixed a couple of HTML syntax errors while I had the file open
(badly formatted escape-characters that Chrome figured out, but other
browsers might choke on) and a spelling error.

Revised Javadoc is staged to:

http://go/dac-stage/reference/android/view/View.html#autofill(android.view.autofill.AutofillValue)

Test: make ds-docs
Bug: 38347106
Change-Id: I587a66c53fd5ebeeb6108529723d2d7a74c61cf7
2017-05-24 16:37:43 -07:00
Jiaquan He
0bdf1c9c76 Check state_focus in foreground.
This commit checks whether the state_focus is specified in the
foreground of a view. If it is, the default focus highlight won't
show up.

Test: cts-tradefed run singleCommand cts --skip-device-info
--skip-preconditions --abi armeabi-v7a -m CtsViewTestCases -t
android.view.cts.View_DefaultFocusHighlightTest#testIsDefaultFocusHighlightNeeded
Bug: 37288730
Change-Id: I5256eb656c1b8729d685edb914e867ee9a3a92a4
2017-05-24 16:13:38 -07:00
John Reck
1fedd91687 Creating HW bitmaps from RenderNode
Allows creating a HW Bitmap from the drawing
commands of a RenderNode.

Bug: 38507414
Bug: 37698012
Test: Sample in HwAccelerationTest

Change-Id: I57c60b2c8bf5194f4412ad4b7f1c1f35e2e4c757
2017-05-24 22:10:40 +00:00
Abodunrinwa Toki
d80e82f917 Merge "Make TextClassifier.getLinks(...) a default method." into oc-dev 2017-05-24 01:57:50 +00:00
TreeHugger Robot
eee1dd26fa Merge "Hide Autofill UI when non-savable id is gone." into oc-dev 2017-05-23 23:28:38 +00:00
Abodunrinwa Toki
9115eeb483 Make TextClassifier.getLinks(...) a default method.
Fixes: 37907518
Test: cts-tradefed run cts-dev -o -m CtsSignatureTestCases -t
android.signature.cts.SignatureTest

Change-Id: I876781eccb2574ea01b6b460e14afd4e970a01b4
2017-05-23 21:29:39 +01:00
Felipe Leme
27e202208b Hide Autofill UI when non-savable id is gone.
AutofillManager keeps track of which views the AutofillServiec is interested to
save, so when these views are gone, the session is finished.

But when the AutofillService returns a dataset whose views it can not save,
the FillUi for these views are not hiding when the views are gone. This CL
fixes this issue by:

- Keeping track which non-savable views should be tracked.
- Pass the view (instead of it's id) when the UI on such views should be hid.

This CL also optimized some AIDL and internal calls by avoiding the creating of
unnecessary Lists.

Test: manual verification with Snapchat
Test: existing CtsAutoFillServiceTestCases pass
Test: new tests on MultipleFragmentLoginTest pass

Fixes: 38199452
Change-Id: I78fa357962dbc6667146d8e08cd6bacb63e0f337
2017-05-23 10:46:24 -07:00
TreeHugger Robot
6cfc8afa7a Merge "Fix window affecting SysUi visibility for once and all" into oc-dev 2017-05-23 16:58:42 +00:00
Rob Carr
d9bf5ecf51 Merge "SurfaceView: Wait to gather transparent region." into oc-dev 2017-05-23 16:31:02 +00:00