Commit Graph

5372 Commits

Author SHA1 Message Date
TreeHugger Robot
00ed0baca8 Merge "Turn down the preliminary foreground service API" into oc-dev 2017-04-18 01:48:31 +00:00
TreeHugger Robot
6e8f116647 Merge "Finish impl of job queue: handle URI permissions." into oc-dev 2017-04-18 01:07:18 +00:00
Dianne Hackborn
342e603710 Finish impl of job queue: handle URI permissions.
The job queue now handles URI permissions associated with
the Intent of each job.  Just (kind-of) like Service!

Also do the second pass of locking in job scheduler, getting
rid of all the async dispatching on a handler, and just executing
calls right in line with simple locking.  This probably fixes
a few other race issues, and allows us to make sure that we
always finish a job correctly when dequeuing the last work (we
will always atomically dequeue and finish, so no new work can
slip in between).

And fix a little debug output in IntentFilter.

Test: ran CtsJobSchedulerTestCases, added new test for URI perms.

Change-Id: I52f700ef0cd5be3ff70050f9c0f5fe3e8a5ccac1
2017-04-17 16:14:58 -07:00
Jeff Sharkey
200d72d933 Merge "Storage API polishing." into oc-dev 2017-04-17 22:26:44 +00:00
Christopher Tate
242ba3e997 Turn down the preliminary foreground service API
The NotificationManager.startServiceInForeground() experiment is over,
and will not ship as API, so it's time to tidy up and get rid of it.

Bug 36130212
Test: manual

Change-Id: I834d1ce059aa464ff27f69f5e5d3625cc5e61d8a
2017-04-17 14:22:18 -07:00
TreeHugger Robot
c025ea892e Merge "OEM single-build/multi-SKU via dynamic RRO support" into oc-dev 2017-04-17 21:02:48 +00:00
Makoto Onuki
5838563e93 Merge "Enhance PinItemRequest javadoc" into oc-dev 2017-04-17 20:50:44 +00:00
TreeHugger Robot
c3fa6ab2ac Merge "getApplicationInfo() should throw NameNotFoundException" into oc-dev 2017-04-17 20:36:00 +00:00
Jeff Sharkey
789a8fc792 Storage API polishing.
Based on API council feedback, switch to using real UUID objects
instead of Strings.  Since UUID is a general-purpose utility class
that will be passed around quite a bit, add it to Parcel and Bundle.

Define well-known namespaced UUID values for "default" and "primary
physical" storage devices, which will let us annotate a bunch of
things with @NonNull.

Define new extras for MANAGE_STORAGE intent that apps can use to
signal where and how much space they'd like the user to free up.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug: 37325923, 35812899, 35806020
Change-Id: I8421b126d680f69141a361c1e77223fe2bf4a325
2017-04-17 12:19:50 -06:00
TreeHugger Robot
676590d060 Merge "expose the instant app installer component" into oc-dev 2017-04-17 14:17:27 +00:00
Todd Lee
ea2f3be7aa OEM single-build/multi-SKU via dynamic RRO support
The purpose here is to provide support for selectively
enabling Runtime Resource Overlays (RROs) (specifically
those pertaining to a specific SKU, within a OEM's "single
build" covering multiple SKUs) at boot based on the value
of a pre-defined system property.

This mechanism is designed to be compatible with other,
recent changes to Runtime Resource Overlays - specifically:

- has no effect on 'isStatic'. Resource overlays must be
  attributed as static in order to qualify for loading into
  the system_server. The 'requiredSystemPropertyName/
  requiredSystemPropertyValue' mechanism operates
  independent of this and can be used on both static and
  non static overlays. The effect of specifying a conditional
  property on any overlay is that it will ONLY be enabled
  in the event that the system reflects both the property
  and the specified value (Note that in the ABSENCE of a
  conditional property, overlays are assumed to be enabled).

- has no effect on OverlayManagerService (OMS) API. The
  OMS provides the system with an interface through which
  overlays can be enabled/disabled and even rearranged at
  runtime. This provides the basis of support for various
  user-level features (e.g. dynamic theme selection).
  The 'requiredSystemPropertyName/requiredSystemPropertyValue'
  mechanism operates independent of this -
  with enablement being completely coupled to the available
  system properties on the device and NOT subject to change
  at runtime.

Note: as part of this change, original overlay tests have been
updated (fixed) and expanded to include tests to cover the
conditional property implementation.

Issue: http://b/35100249
Test: frameworks/base/core/tests/overlaytests/testrunner.py

Change-Id: I1990ce21a27a385db1e2f53294b69dd03988351e
(cherry picked from commit d5566c6c47)
2017-04-17 14:12:00 +00:00
Makoto Onuki
7c7fbf6f45 getApplicationInfo() should throw NameNotFoundException
... instead of returning null.

Bug: 37324177

Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests
Test: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests

Change-Id: I7f9f3729ee0eef6b342e4711379e02516559472c
2017-04-14 23:24:35 +00:00
Amith Yamasani
e99757e4b1 MASTER_CLEAR action should not be public
Limit it to SystemApi, for passing intent tests

Bug: 36977779
Test: cts test
Change-Id: I716b94fc3cef43db1fafbfdad8dba0d850bec474
2017-04-14 14:41:45 -07:00
Makoto Onuki
a37ac3d6f1 Enhance PinItemRequest javadoc
Test: javadoc only, treehugger.
Bug: 37325874
Change-Id: I610e4032340cc732782aed2ea0522ae46b6dd6ce
2017-04-14 12:39:09 -07:00
Vikas Marwaha
e768104f9b Merge "Make android.intent.action.MASTER_CLEAR depreciation explicit" into oc-dev 2017-04-14 18:06:24 +00:00
Todd Kennedy
801e65905b expose the instant app installer component
Bug: 35873804
Test: TreeHugger
Change-Id: I4d962927587bb10833bfe3c3db27fdceab668fc3
2017-04-14 09:49:13 -07:00
Chad Brubaker
8ee12087e6 Merge "Implicitly expose SEND intents to Instant Apps" into oc-dev 2017-04-14 16:07:15 +00:00
Andrew Scull
e52a1bfede Merge "Service for OEM lock management." into oc-dev 2017-04-14 11:31:06 +00:00
Romain Guy
b3f69261c5 Fix javadoc typos
Bug: 37328228
Test: compiles
Change-Id: I75323ef5afb30381aa473ebe7172ebb145eac8f3
2017-04-13 20:06:41 -07:00
Dianne Hackborn
676bd21542 Merge "Add new extra for identifying an intent coming from storage UI." into oc-dev 2017-04-14 00:56:39 +00:00
Sam Lin
e707f83e8e Make android.intent.action.MASTER_CLEAR depreciation explicit
Bug: 36977779
Test: make sailfish cts
Test: run cts -o -m CtsSignatureTestCases -t android.signature.cts.IntentTest#shouldNotFindUnexpectedIntents
Change-Id: I7c18f9c3c1b73b4feca6904f927266f6973d889c
2017-04-13 17:00:55 -07:00
Chad Brubaker
4941483b55 Implicitly expose SEND intents to Instant Apps
Test: manual
Bug: 37241858
Change-Id: I9029060830e655d8b6779650726d380f7f1ffe23
2017-04-13 16:14:04 -07:00
TreeHugger Robot
fbadd6dac9 Merge "Actually remove the chooser APIs" into oc-dev 2017-04-13 23:08:55 +00:00
TreeHugger Robot
80b7a214ba Merge "Update docs for obtainStyledAttribute" into oc-dev 2017-04-13 20:15:51 +00:00
Chris Tate
117ac766a9 Merge "Introduce PACKAGE_FIRST_ADDED broadcast" into oc-dev 2017-04-13 19:24:13 +00:00
TreeHugger Robot
7f0d8c8076 Merge "Remove support for auto-paging of cursors." into oc-dev 2017-04-13 18:12:14 +00:00
Makoto Onuki
d3aebf3320 Actually remove the chooser APIs
Test: build
Bug: 36186790
Change-Id: Ib03bb482c266f4c4f1080ca776c738d11a175219
2017-04-13 18:02:21 +00:00
Andrew Solovay
2c63aa3be7 Merge "doc: Add note to Context.bindService()" into oc-dev 2017-04-13 17:46:16 +00:00
Steve McKay
927b01371b Remove support for auto-paging of cursors.
Auto-paging of cursors is being removed in favor of a support lib component.
Rationale:
    1) Auto-paging as implemented has potential to negatively impact system health.
    2) Similar functionality w/o system health concerns can be provided
       specific to RecyclerView.

Test: Removed. CTS coverage updated.
Bug: 30927484
Change-Id: I43e62181d8ceeeba6265d44536967a2102751320
(cherry picked from commit 4677c2b7f0)
2017-04-13 00:35:42 +00:00
Martijn Coenen
441d61bf16 Add persistentFeature application attribute.
This allows us to only mark processes as persistent
when a feature it actually depends on is present on
the device.

Also adds a "android.hardware.nfc.any" feature, to
indicate the device supports any of the NFC features
that require the NFC process to run persistently.

Bug: 36873979
Bug: 37269025
Test: NFC is still started on devices with NFC
Change-Id: I5792d75d8714f39718fa957177a632efcbbd37d3
2017-04-12 17:09:37 -07:00
Christopher Tate
ee3b42af3f Introduce PACKAGE_FIRST_ADDED broadcast
When an app first appears on a device, this new broadcast is issued
including to manifest receivers.  The more general PACKAGE_ADDED
broadcast continues to be issued for both first install and updates,
but is not delivered to manifest receivers of apps that target O+.

Bug 37219124
Test: manual

Change-Id: I59b0a0b0dce96a909076b41280771f63e59584be
2017-04-12 16:14:17 -07: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
Adam Lesinski
5ec8875d20 Update docs for obtainStyledAttribute
Include the requirement that the input attribute ID array
must be sorted.

Bug: 34802757
Change-Id: I3244178c52df77078afae656652c3a44447fa645
Test: none
2017-04-12 14:45:14 -07:00
Andrew Solovay
2b03511377 doc: Add note to Context.bindService()
Per email from Dianne H, even if bindService() returns false, the
client should still call unbindService() to release the connection.

Doc is staged to:

http://go/dac-stage/reference/android/content/Context.html#bindService(android.content.Intent,%20android.content.ServiceConnection,%20int)

Bug: 37092557
Test: make ds-docs
Change-Id: I5849aaccec933ee7660b31241e4d8eff9ee1ef72
2017-04-12 14:43:57 -07:00
TreeHugger Robot
a402d6dd2f Merge "Add autofill feature API" into oc-dev 2017-04-12 21:17:33 +00: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
TreeHugger Robot
27ce8b0d34 Merge "Add hidden SystemApi for two setup wizard actions" into oc-dev 2017-04-12 16:07:26 +00:00
Suprabh Shukla
a609bbc9c4 Merge "Renaming intent action for unknown sources" into oc-dev 2017-04-12 04:32:51 +00:00
Russell Brenner
880994d0db Add hidden SystemApi for two setup wizard actions
ACTION_UPGRADE_SETUP exists as an SdkConstant and is now additionally
tagged as a SystemApi. ACTION_DEVICE_INITIALIZATION_WIZARD is added
as a deprecated SystemApi to appease CTS requirements. Both APIs are
hidden.

Test: cts-tradefed run cts-dev -m CtsSignatureTestCases \
        -t android.signature.cts.IntentTest#shouldNotFindUnexpectedIntents
Bug: 33663899
Change-Id: Ib45afbfcbb9a3d3020f11c8b63fc2bcf6fc447a1
(cherry picked from commit 4cd32e5395)
2017-04-11 23:53:20 +00:00
Jaekyun Seok
42d53f6b18 Bring back the priority feature for static RRO
Supporting the priority feature is requested by partners because they
want to layer RRO for their customers.
Applying the priority feature on non-static RRO isn't feasible because
their priority should be managed directly by users.

Test: building succeeded and tested on sailfish device.
Bug: 37185740
Change-Id: I8ef83c5e3178bd395ec7e6498764a535f24ef235
2017-04-11 10:29:34 +09:00
Adam Lesinski
ec8f353668 Merge "OverlayManagerService: Make broadcasts/updates explicit" into oc-dev 2017-04-11 00:04:41 +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
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
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
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
Dianne Hackborn
a320f01470 Add new extra for identifying an intent coming from storage UI.
Test: this is just a constant.
Change-Id: Ief0913300bd035e7ce4bc79a0abdc689abae7063
2017-04-07 13:57:48 -07: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
Suprabh Shukla
a1300c84f6 Renaming intent action for unknown sources
Renaming action MANAGE_EXTERNAL_SOURCES to MANAGE_UNKNOWN_APP_SOURCES to
be clearer about its purpose

Test: adb shell am instrument -w -e class \
com.android.settings.applications.ExternalSourcesSettingsTest \
com.android.settings.tests/android.support.test.runner.AndroidJUnitRunner

cts-tradefed run singleCommand cts -m ExternalSources

Bug: 35812498
Change-Id: If38349f349781541673f93638e536a4f2a184bf6
2017-04-06 18:06:33 -07:00
Chad Brubaker
941e9e2b38 Merge "Allow permissions to be runtime-only." into oc-dev 2017-04-06 16:44:11 +00:00