Commit Graph

9646 Commits

Author SHA1 Message Date
Vladislav Kaznacheev
ee10f27cbe Merge "Revert "Make scrollbarSize in Material Design theme configurable"" into oc-dev am: 0964a2d9fc
am: 2679fe4e95

Change-Id: Ia664d87748f1febf544a5def60802456951dc23e
2017-04-13 03:57:09 +00:00
TreeHugger Robot
0964a2d9fc Merge "Revert "Make scrollbarSize in Material Design theme configurable"" into oc-dev 2017-04-13 03:36:30 +00:00
Evan Rosky
dc4792c10e Merge "Fix focus ordering with duplicate ids" into oc-dev am: a0ce440d60
am: 33f6bcb71d

Change-Id: I06f4cc41131ca82c6bfb75fcd174741589d936a4
2017-04-13 00:19:06 +00:00
Evan Rosky
a0ce440d60 Merge "Fix focus ordering with duplicate ids" into oc-dev 2017-04-12 23:50:04 +00:00
TreeHugger Robot
18d993bb72 Merge changes from topics 'KeyboardFocusHighlight-oc-dev', 'KeyboardFocusHighlight_ mDefaultFocusHighlightEnabled-oc-dev', 'KeyboardFocusHighlight_ hasFocusStateSpecified-oc-dev' into oc-dev
* changes:
  Fix broken CTS tests.
  Draw a default focus highlight if needed.
  Add a public API defaultFocusHighlightEnabled.
  Detect unhandled keyboard focused state.
2017-04-12 22:40:15 +00:00
Svet Ganov
cb98d9d6f3 Merge "Add autofill feature API" into oc-dev am: a402d6dd2f
am: bbef731c2d

Change-Id: I3d1429fe4d101072200aae522a2bdf00596273de
2017-04-12 22:22:39 +00:00
TreeHugger Robot
a402d6dd2f Merge "Add autofill feature API" into oc-dev 2017-04-12 21:17:33 +00:00
Jiaquan He
fb62ecb220 Fix broken CTS tests.
The default focus highlight should be necessary when the view is
attached to window.

Test: cts-tradefed run singleCommand cts --skip-device-info
--skip-preconditions --abi armeabi-v7a -m CtsViewTestCases -t
android.view.cts.ViewTest
Test: cts-tradefed run singleCommand cts --skip-device-info
--skip-preconditions --abi armeabi-v7a -m CtsWidgetTestCases -t
android.widget.cts.MediaControllerTest
Bug: 37082416

Change-Id: I5d6b0c00b5ba03c8f62e4f71be9336823a73134b
2017-04-12 18:25:26 +00:00
Jiaquan He
8062949ece Draw a default focus highlight if needed.
This commit draws a default highlight for a focused
View if it's detected to have no state_focused defined
and its useDefaultFocusHighlight attribute is true.

When we detect a default highlight is needed, we show it
on top of the view to. Once we detect that it's no longer
needed, we remove it.

Test: Check that views without a focused_state in its
state spec have a default highlight when they get focused.
Bug: 35096940

Change-Id: Ifbe4bb9e1297d98845314e24d8b758f14e5987a9
2017-04-12 18:24:52 +00:00
Jiaquan He
b7daaf8b5f Add a public API defaultFocusHighlightEnabled.
This commit adds a public API to turn on/off default
focus highlights. When a focused View is detected to
have no state_focused defined, we can use this API to
decide wether we should show a default highlight for it.

Test: cts-tradefed run singleCommand cts --skip-device-info
--skip-preconditions --abi armeabi-v7a -m CtsViewTestCases
-t android.view.cts.View_DefaultFocusHighlightTest
Bug: 35096940

Change-Id: I76b45d6bf5761641a0ed7f4d0b04cb325ed72b52
2017-04-12 18:23:43 +00:00
Vladislav Kaznacheev
f619ead8d3 Revert "Make scrollbarSize in Material Design theme configurable"
This reverts commit 98329f4da3.

Bug: 35432058
Test: android.view.cts.ViewTest passes
Change-Id: I4c76450a47b581a8237108180806845f5f66ac39
2017-04-12 11:16:51 -07:00
Svet Ganov
43574b03e5 Add autofill feature API
We now have a software feature for autofill which can be used
by partners to disable it on low-end devices or form factors
for which autofill doesn't make sense.

bug:35956220

Test: manual (requires a custom build)

Change-Id: I6c06462ed9ca3ae93331700dce38a8c08dfd0722
2017-04-12 09:53:38 -07:00
Jorim Jaggi
ccb6e53f80 Merge "Fix doc for FLAG_DISMISS_KEYGUARD" into oc-dev am: 39608b8556
am: 11a99404ce

Change-Id: I400130c5126d718d71be7daf5e0685f44eaebd27
2017-04-12 05:29:17 +00:00
Jorim Jaggi
9fc2870679 Fix doc for FLAG_DISMISS_KEYGUARD
Test: n/a
Change-Id: I7e8b0e22895e5efe839dc0f73bcfda6a67f52026
Fix: 36023803
2017-04-11 15:55:57 -07:00
Svet Ganov
ffa27feeb4 Merge "Move API for disabling an autofill service to the manager" into oc-dev am: 7a6df3b777
am: de369349a0

Change-Id: I2d48598f8e685591a88882aa1ba81a4e65268e3b
2017-04-11 06:26:32 +00:00
TreeHugger Robot
7a6df3b777 Merge "Move API for disabling an autofill service to the manager" into oc-dev 2017-04-11 06:10:13 +00:00
Bryce Lee
f63f5224c2 Merge "Revert "ViewRootImpl: Fix child lifetime."" into oc-dev am: 068b429c34
am: cd1cbc272b

Change-Id: I3ec51f88e72c034eabec569f92f0cf65432752e7
2017-04-11 02:36:26 +00:00
Bryce Lee
068b429c34 Merge "Revert "ViewRootImpl: Fix child lifetime."" into oc-dev 2017-04-11 02:05:33 +00:00
Bryce Lee
16e5089eb5 Revert "ViewRootImpl: Fix child lifetime."
This reverts commit ba29dbc3b3.

The original commit causes apps such as phone and clock to not wake the
device.

Fixes: 37197491
Change-Id: I1b45cafbcbf12991d8e1e716e4d1751cd077c556
2017-04-11 02:02:11 +00:00
Svet Ganov
f20a037ba2 Move API for disabling an autofill service to the manager
Test: the topic has a CTS test

bug:37170723

Change-Id: I2be18968ea8df0fd3fb070fe2efc3e811b0e5a76
2017-04-10 17:43:44 -07:00
Philip P. Moltmann
2b0e121c9c Merge "Restore session on new window after app kill" into oc-dev am: 51785edbe9
am: a839e15a65

Change-Id: Ieba9858a808080aba74a3fd45021dac69ad83453
2017-04-08 02:48:05 +00:00
Philip P. Moltmann
eab62baabf Restore session on new window after app kill
Also:
- Give the session an integer ID as the activityToken is not stable over
  restarts of the activity
- Verify that session is only accessed by one UID
- stabilize AccessibilityViewIds over activity lifecycle at least for
  the IDs we can do that. This required to split the ID namespace in
  "per-app" and "per-activity" views. Only the later ones can be
  restored.
- Do not end session when app is killed (as it can be restarted)

Bug: 35484143
Fixes: 36392498
Test: cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases --test=android.autofillservice.cts.SessionLifecycleTest
      cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases
Change-Id: I229acc1b3ce35fb57262da7d7466b5d4328b49d4
2017-04-08 00:48:55 +00:00
Evan Rosky
8448523665 Fix focus ordering with duplicate ids
AdapterViews (and other dynamic layouts) inflate views which
can lead to multiple views with the same id. The original
user-specified focus logic assumed that id's were unique causing
focus loops. This now uses the full "insideOut" id-search
instead of an id->view map.

Bug: 32647147
Test: FocusFinderTest still passes. Added #testDuplicateId
      specifically for this scenario

Change-Id: Iaed98438f5ad70c866dd72e699453eab0ac0cf58
2017-04-07 16:13:05 -07:00
Phil Weaver
27e1f88a28 Make a11y node info parceling more robust
am: 487d869733

Change-Id: I5c85f0dd279f8263aad5b76cbf51dd9d4e0ef549
2017-04-07 23:09:30 +00:00
Robert Carr
7e34a1ea7b Merge "ViewRootImpl: Fix child lifetime." into oc-dev am: ca2622b860
am: 016d3ceac2

Change-Id: I5b7e6d9092fe9d324488c3c6c6dfd443fba11d15
2017-04-07 21:59:57 +00:00
TreeHugger Robot
ca2622b860 Merge "ViewRootImpl: Fix child lifetime." into oc-dev 2017-04-07 21:44:48 +00:00
Robert Carr
ba29dbc3b3 ViewRootImpl: Fix child lifetime.
As far as I can tell this has always been broken. We've always had
intermittent reports of buffer-queue-abandoned as well (a recent bug
came with some reports from N). During onStop SurfaceView relies on
onWindowVisibilityChanged, to trigger a visibility change. At this
point SurfaceView will emit the SurfaceDestroyed callback in order to
stop the client from further use of the Surface. The contract we've
been using with ViewRootImpl is at any point following
Activity.performStop returning the WindowManager was free to destroy
the Surfaces. This is why in setWindowsStopped we destroy the hardware
resources for the ViewRoot. However we aren't dispatching anything to
the SurfaceView. The WindowManager will send an app visibility
notification, but that would go through the handler. This means by the
time we return from Stop, there is no guarantee that the
onWindowVisibilityChanged callbacks have been invoked at all. It
seemed most sensible to dispatch the visibility callbacks directly. We
also ensure that getHostVisibility will return false after this point,
so that performTraversals will not reverse our visibility request if
it occurs again prior to the window visibility notification from the
WindowManager. We also guard against emitting a second window
visibility changed callback in the traversals. I don't know at this
point what value the window visibility notification provides but I
don't feel excited about removing it in this CL at this point in
the development cycle.

Test: Put Chrome in PiP. Turn screen off. No Crash!
Bug: 36561071
Change-Id: Id1673561b2299d477b2761b3ac6afa14eabbf7fb
2017-04-07 12:24:43 -07:00
Phil Weaver
487d869733 Make a11y node info parceling more robust
Fix a bug where a malformed Parceled representation
of an AccessibilityNodeInfo could be used to mess with
Bundles as they get reparceled.

Bug: 36491278
Test: Verified that POC no longer works, a11y cts still passes.
Change-Id: I10f24747e3ab87d77cd1deba56db4526e3aa5441
(cherry picked from commit 687bb44b43)
2017-04-07 18:45:38 +00:00
Phil Weaver
718264a3f8 Merge "Make a11y node info parceling more robust" 2017-04-07 18:42:29 +00:00
Casey Burkhardt
e388282962 Merge "Revise Accessibility button chooser intent/permissions" into oc-dev am: ecb5b5ccc3
am: bc411cd461

Change-Id: I0a085365593d05a77eab013259c2a36ce2c39f1a
2017-04-07 02:52:50 +00:00
Casey Burkhardt
ecb5b5ccc3 Merge "Revise Accessibility button chooser intent/permissions" into oc-dev 2017-04-07 02:40:14 +00:00
TreeHugger Robot
1defbb19df Merge "Fix broken CTS tests." 2017-04-07 02:34:29 +00:00
Phil Weaver
687bb44b43 Make a11y node info parceling more robust
Fix a bug where a malformed Parceled representation
of an AccessibilityNodeInfo could be used to mess with
Bundles as they get reparceled.

Bug: 36491278
Test: Verified that POC no longer works, a11y cts still passes.
Change-Id: I10f24747e3ab87d77cd1deba56db4526e3aa5441
2017-04-06 17:40:51 -07:00
Felipe Leme
c5bee3b95a Merge "Fixed Autofill NPE that crashed some apps." into oc-dev am: 75d0d92f7b
am: eefb3c91f1

Change-Id: Ic771e1eabb8b348ca3cfedc597787959141dbd5f
2017-04-06 22:04:55 +00:00
Rob Carr
099d350e95 Merge "WindowManager.LayoutParams: Expose privateFlags for CTS" into oc-dev am: 0b504559ee
am: 1f3a56ef7e

Change-Id: I5ad2558172233f0b4df84e48281f0bbc5c4eaab7
2017-04-06 19:58:01 +00:00
Felipe Leme
75d0d92f7b Merge "Fixed Autofill NPE that crashed some apps." into oc-dev 2017-04-06 19:36:26 +00:00
Jiaquan He
a54e1ea27b Fix broken CTS tests.
The default focus highlight should be necessary when the view is
attached to window.

Test: cts-tradefed run singleCommand cts --skip-device-info
--skip-preconditions --abi armeabi-v7a -m CtsViewTestCases -t
android.view.cts.ViewTest
Test: cts-tradefed run singleCommand cts --skip-device-info
--skip-preconditions --abi armeabi-v7a -m CtsWidgetTestCases -t
android.widget.cts.MediaControllerTest
Bug: 37082416

Change-Id: I5d6b0c00b5ba03c8f62e4f71be9336823a73134b
2017-04-06 11:56:27 -07:00
Casey Burkhardt
afe3ef1b36 Revise Accessibility button chooser intent/permissions
1) Switch AccessibilityButtonChooserActivity to non-exported
2) Update AccessibilityButtonChooserActivity's intent action to
   be CTS-compliant
3) Switches to correct permission to validate a click of the
   accessibility button originated from the status bar service

Bug: 36866328
Bug: 36976440
Test: Manual / Created app to validate launch protection
Change-Id: Ifcd5e8dbbe683dc99bb900a5870a9ba374fbd5d4
2017-04-06 11:39:26 -07:00
Rob Carr
0b504559ee Merge "WindowManager.LayoutParams: Expose privateFlags for CTS" into oc-dev 2017-04-06 18:00:55 +00:00
Felipe Leme
6219f2693e Fixed Autofill NPE that crashed some apps.
It happened when views provided an Accessibility node that had children.

Bug: 37078783
Fixes: 37009008
Test: LoginActivityTest#testAutoFillWhenViewHasChildAccessibilityNodes

Change-Id: Ie694094afe9129b933096a385eb867baf4550e7f
2017-04-06 09:44:04 -07:00
Julius D'souza
4bb1ba7823 Document Android Wear usage of KEYCODE_WINDOW. am: 03d4a65865 am: 137006ff5c am: 4d0c2084f1
am: 4ce6cea7b6

Change-Id: Ifc2ddd699fcf83cab76fdee2a00788d79f6d8252
2017-04-06 14:32:48 +00:00
Julius D'souza
4d0c2084f1 Document Android Wear usage of KEYCODE_WINDOW. am: 03d4a65865
am: 137006ff5c

Change-Id: I40ba20230d36bfe7b1f397b822f2122172de9da3
2017-04-06 14:19:58 +00:00
Julius D'souza
137006ff5c Document Android Wear usage of KEYCODE_WINDOW.
am: 03d4a65865

Change-Id: If938e79a9eddcf3cec97274ad305834c2d58386e
2017-04-06 14:12:46 +00:00
Philip P. Moltmann
2390cc3407 Merge "Overlay a highlight over autofilled views" into oc-dev am: 4ebafa8000
am: 7e3af23cc3

Change-Id: I41e65cf34549589c17cea9cc71632925e0402019
2017-04-06 06:41:41 +00:00
Philip P. Moltmann
b42d133c8b Overlay a highlight over autofilled views
Also clear this overlay once the data changes. Some views call
notifyValueUpdated even if the value did not change. Hence remeber the
data that was autofilled and check if the data really changed.

Make the autofilledDrawable publicly accessible so that virtual views
can use the same UI.

As the activity is not aware that the views were autofilled the state
has to be explicitly persisted over activity lifecycle events as part
of the view. The lifecyle does not work yet as the AutofillIds are not
stable over activity lifecycle events.

Fixes: 34946006
Test: Autofilled and changed all supported views.
      cts-tradefed run cts-dev -m CtsUiRenderingTestCases
Change-Id: I58b105bb221f1b6466dd136dfe5062d3babb5aa8
2017-04-06 03:57:54 +00:00
TreeHugger Robot
84c43aea5f Merge "Add API for apps to prepare for some a11y requests" 2017-04-06 00:53:40 +00:00
TreeHugger Robot
101b151548 Merge "Consolidate a11y unit tests and get them working" into oc-dev 2017-04-05 21:41:27 +00:00
Felipe Leme
17168b773f Merge "Removed deprecated auto(F)ill classes." into oc-dev am: b44feb154b
am: dae23dab8c

Change-Id: I9285ea27ae36d06d1466ec74322a38609acfaab4
2017-04-05 20:36:44 +00:00
TreeHugger Robot
b44feb154b Merge "Removed deprecated auto(F)ill classes." into oc-dev 2017-04-05 20:25:40 +00:00
Phil Weaver
7a6cc9b5a7 Consolidate a11y unit tests and get them working
Moving tests for accessibility manager into the a11y
directory and getting them to use some of the newer
test infrastructure. Minor tweaks to
AccessibilityManager to make it testable.

Deleting the AccessibilityManagerService tests entirely.
This class is difficult to unit test with the current
infrastructure, but is covered in CTS tests to a large
degree. I wasn't able to get these working quickly, and
they rely on timeouts that make them run much slower than
the other tests. They also throw exceptions when their
mock accessibility services receive accessibility events,
which causes the system to blacklist those services, causing
the tests to fail differently until the system is reset.
I think it's better to focus on writing new, more robust
tests than on rewriting these tests to pass.

Bug: 36614219
Test: A11y unit tests now work.
Change-Id: I8effe44f22110d55ebb700dc46f59b7e7a1aa946
(cherry picked from commit 9213d23178)
2017-04-05 16:34:29 +00:00