Commit Graph

68852 Commits

Author SHA1 Message Date
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
Jiaquan He
4a81674b45 Detect unhandled keyboard focused state.
A View uses a Drawable as its background, which changes
its appearance according to the View's state. This commit
adds an algorithm to detect undefined state_focused in
state specs for those Drawables.

Test: cts-tradefed run singleCommand cts --skip-device-info
--skip-preconditions --abi armeabi-v7a -m CtsGraphicsTestCases
-t android.graphics.drawable.cts.DefaultFocusHighlightTest
Bug: 35096940

Change-Id: I5e9f07141679881fe88f9040aa116ea2f9d537c9
2017-04-10 21:01:49 +00:00
Andrii Kulian
c2ec7bf965 Merge "Fix activity move between displays" into oc-dev 2017-04-10 19:20:37 +00:00
Dmitry Dementyev
d401163599 Merge "Make visible only accounts for which authenticator supports contacts operations for callers with READ_CONTACTS permission." into oc-dev 2017-04-10 18:30:53 +00:00
TreeHugger Robot
c922c4827a Merge "Add an API to enable disable safebrowsing in WebView" into oc-dev 2017-04-10 16:36:48 +00:00
TreeHugger Robot
0ac8fd7adb Merge "Add ICompanionDeviceManager.getAssociation overload with explicit userId" into oc-dev 2017-04-10 15:06:10 +00:00
Bryce Lee
9c80a16c45 Merge "Update decor LayoutParams when window is already added." into oc-dev 2017-04-10 14:22:53 +00:00
Andrei Stingaceanu
549482bfcb AutoSize TextView - fix measurements
The BoringLayout measurements for auto-size are
incorrect. Removed those and kept the StaticLayout
measurements.

Bug: 36940118
Test: cts-tradefed run cts-dev -m CtsWidgetTestCases -t\
      android.widget.cts.TextViewTest

Change-Id: I772ade08ed26efac05ca56cb7df8cfec0327633b
2017-04-10 09:56:32 +00:00
TreeHugger Robot
51785edbe9 Merge "Restore session on new window after app kill" into oc-dev 2017-04-08 02:35:35 +00:00
Andrii Kulian
72790bade5 Merge "Use feature instead of hidden config for multi-display" into oc-dev 2017-04-08 01:51:29 +00:00
Selim Gurun
ec0a1f2599 Add an API to enable disable safebrowsing in WebView
WebView safebrowsing can be opted in using a manifest value. However,
we also need to control individual WebViews.

Bug:37158813
Test: See change I71e813bccc2fab73d100384661128c7311dd396c

Change-Id: I647dc304787d6406691b5cbadf1c9a4f13ac5604
2017-04-07 18:46:18 -07:00
Andrii Kulian
51c1b67022 Fix activity move between displays
1. ActivityConfigCallback might not have been registered
because DecorView was not yet attached to window and ViewRootImpl
was not available. In this CL the callback is set as soon as a
DecorView is attached to window.
2. When private display was removed from system, its stacks were
moved to bottom in AM but moved to top in WM.
3. When reparenting stack visibility of activities should be updated
before reparenting in WM, because otherwise WM will be resizing
windows that should no longer visible and reporting it to clients.

Bug: 34164473
Test: android.server.cts.ActivityManagerDisplayTests
Test: #testOnMovedToDisplayCallback
Test: #testContentDestroyOnDisplayRemoved
Change-Id: I6ccc27d873d0d60d7650659fb25cbfcaaeb0fd07
2017-04-07 18:39:32 -07: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
TreeHugger Robot
6f36255adc Merge "Do not make strong reference to Resources." into oc-dev 2017-04-07 23:57:29 +00:00
TreeHugger Robot
5c8d88e855 Merge "Autofill Partitioning: support multiple SaveInfos." into oc-dev 2017-04-07 23:52:11 +00:00
Andrii Kulian
1981f5fd17 Use feature instead of hidden config for multi-display
Using a feature will allow app developers to find out if a
particular device supports running activities on secondary
screens before using the APIs.

Bug: 36776777
Test: android.server.cts.ActivityManagerDisplayTests
Change-Id: I7121bdb782cac9df70121e9df5cbf3fcb76f4a93
2017-04-07 16:23:12 -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
Bryce Lee
4b51b3232a Update decor LayoutParams when window is already added.
These values can change for themes that are dependent on the size,
such as the DialogWhenLarge theme. In this case, different layouts
are loaded that could depend on updated LayoutParams.

This CL identifies the case when the layoutparams change and informs
the activity.

Change-Id: Icde8d94cc089ca0c02a15120a860533ef540c850
Fixes: 31643268
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerAppConfigurationTests#testDialogWhenLargeSplitSmall
2017-04-07 15:11:12 -07:00
Bryce Lee
fea79005bd Do not make strong reference to Resources.
This CL removes the strong reference added for mapping display ids
and Resources to Displays. Instead, the key pair is now the display
id and ResourcesKey, and the mapping is pruned when key is
invalidated.

Change-Id: If91368171212b28c40e03c15fb39c72412a44811
Fixes: 36625868
Test: make -j32 cts; cts-tradefed; run cts --module CtsAppTestCases --test android.app.cts.DisplayTest#testRotation
2017-04-07 22:06:52 +00:00
TreeHugger Robot
e467be5e14 Merge "copy 'visbileToInstantApps' setting" into oc-dev 2017-04-07 22:04:09 +00:00
TreeHugger Robot
ca2622b860 Merge "ViewRootImpl: Fix child lifetime." into oc-dev 2017-04-07 21:44:48 +00:00
Andrii Kulian
4eab3cb11a Merge "Add hidden API to check support of Multi-Display" into oc-dev 2017-04-07 20:22:58 +00:00
Todd Kennedy
66b5c042c2 copy 'visbileToInstantApps' setting
Change-Id: I342a133ae8d7f38008cb03706d160e6f2e2cca97
Fixes: 37002720
Test: Start instant app [adb shell am start -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d http://www.realestate.com.au/property-apartment-nsw-pyrmont-124879602] and see that hitting the 'share' icon works
2017-04-07 12:48:13 -07: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
TreeHugger Robot
91d289903c Merge "Special-case English for DateTime and Time key listeners" into oc-dev 2017-04-07 19:21:56 +00:00
Wale Ogunwale
2f2e3f8ad5 Merge "Revert "Do not make strong reference to Resources."" into oc-dev 2017-04-07 19:06:55 +00: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
Bryce Lee
4eb4f05ea9 Revert "Do not make strong reference to Resources."
This reverts commit 2d2315a66d.

Reason for revert: possible cause for b/37156733

Change-Id: I02d468449f0632d1281ab5ad2a381e7e36a5b0ea
2017-04-07 18:44:26 +00:00
Andrii Kulian
597f390681 Add hidden API to check support of Multi-Display
Added ActivityManager#supportsMultiDisplay() to check if system
supports running activities on secondary displays.

Bug: 36776777
Test: android.server.cts.ActivityManagerDisplayTests
Test: #testMultiDisplayDisabled
Change-Id: I18f98f2f6a9e865ad8dc63a470210190536d3271
2017-04-07 11:08:55 -07:00
Eugene Susla
adce09b9a4 Add ICompanionDeviceManager.getAssociation overload with explicit userId
Bug: 30932767
Test: ensure getAssociations works as before
Change-Id: I58dc4dac5bf7aae83fe3611890116a928e290a43
(cherry picked from commit 544d714626)
2017-04-07 17:51:52 +00:00
Dmitry Dementyev
d6f0672e88 Make visible only accounts for which authenticator supports contacts operations
for callers with READ_CONTACTS permission.

Test: manual
Bug: 36983643
Change-Id: I1239a30a71cb13ce9ffff6f38b8506e9686abe4d
(cherry picked from commit d7e7a74179)
2017-04-07 17:50:00 +00:00
TreeHugger Robot
5393a0e2d9 Merge changes If96c0146,I0d68ad60 into oc-dev
* changes:
  Improved accessibility behavior of the notification shelf
  Fixed a bug where the indeterminate progressbar janky
2017-04-07 15:59:17 +00:00
Bryce Lee
13acf25cfd Merge "Check component before notifying activity is visible." into oc-dev 2017-04-07 14:58:18 +00:00
TreeHugger Robot
ca73ff016f Merge "Expose package_verifier_user_consent to Instant Apps" into oc-dev 2017-04-07 14:12:05 +00:00
TreeHugger Robot
ca687ac39a Merge "Change requestWait API according to request" into oc-dev 2017-04-07 13:19:12 +00:00
TreeHugger Robot
327c0b9f88 Merge "Do not make strong reference to Resources." into oc-dev 2017-04-07 06:21:00 +00:00
Chad Brubaker
8d7b36f0ec Expose package_verifier_user_consent to Instant Apps
Test: manual
Bug: 37119785
Change-Id: I0a6deb96f1267f3f80bcf017d898fcf365515353
2017-04-06 22:57:18 -07:00
Felipe Leme
7d5adb5b86 Autofill Partitioning: support multiple SaveInfos.
Bug: 35707731
Test: CtsAutoFillServiceTestCases (with new tests) pass

Change-Id: I2f234ca13c7e74f84c762473e38f938ed47f216f
2017-04-06 22:19:22 -07:00
Bryce Lee
2d2315a66d Do not make strong reference to Resources.
This CL removes the strong reference added for mapping display ids
and Resources to Displays. Instead, the key pair is now the display
id and ResourcesKey, and the mapping is pruned when key is
invalidated.

Change-Id: I60d767b52de7bbf769f6761f5a3301dd7aff6ddf
Fixes: 36625868
Test: make -j32 cts; cts-tradefed; run cts --module CtsAppTestCases --test android.app.cts.DisplayTest#testRotation
2017-04-06 21:32:31 -07:00
Philip P. Moltmann
3c002e45dd Merge "Return inet addr for discoverable printers" into oc-dev 2017-04-07 03:04:17 +00:00
TreeHugger Robot
6c171f35be Merge "Log excessive remote callbacks" into oc-dev 2017-04-07 02:58:53 +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
c56d782e13 Merge "Add UPDATE_TZDATA to config updater intents" into oc-dev 2017-04-07 02:28:23 +00:00
TreeHugger Robot
be41b61216 Merge "Added onMovedToDisplay method to WebView" into oc-dev 2017-04-07 01:18:59 +00:00
Philip P. Moltmann
9b6dd2b2c1 Change requestWait API according to request
Test: USB Device CTSVerifier test
Change-Id: Ib55bed248d7b37c6f5f4a7be7ec2d90a7ac396c7
Fixes: 36555805
2017-04-06 18:13:53 -07:00
Amith Yamasani
18a23f2fd8 Log excessive remote callbacks
Bug: 36778087
Test: N/A
Change-Id: Ifb02fe09e3c0869f7f6c741f886421064e5c1b8a
2017-04-06 16:38:25 -07:00
TreeHugger Robot
5362f10dad Merge "Set android.display thread to top-app cpusets and schedtune group" into oc-dev 2017-04-06 22:51:42 +00:00
Tima Vaisburd
134752b471 Added onMovedToDisplay method to WebView
Delegate the action to WebViewProvider, by default it is no-op.

Bug: 36006397
Test: There is no implementation yet to test.
Change-Id: Ib5101d3669a92ae81cfb34cc5db607c374712a3d
2017-04-06 15:50:05 -07:00