580 Commits

Author SHA1 Message Date
Adrian Roos
b4df2f586a am b2302d43: Merge "Ensure trust agents are only provided by platform packages" into lmp-preview-dev
* commit 'b2302d437fd636d9973f466062cfad145cdd042d':
  Ensure trust agents are only provided by platform packages
2014-06-04 20:04:55 +00:00
Adrian Roos
1e9021aef8 Merge "Ensure trust agents are only provided by platform packages" into lmp-preview-dev 2014-06-04 13:18:40 +00:00
Jae Seo
4c9e57f156 resolved conflicts for merge of ebe661c4 to master
Change-Id: Ic25dc762ee43654b439de3ec237ead007bee3df4
2014-06-03 17:06:58 +00:00
Adrian Roos
18ea893a23 Ensure trust agents are only provided by platform packages
Prevents the TrustManagerService from binding to any non-platform
trust agents and updates the SampleTrustAgent to use the new
permission.

Bug: 15287044
Change-Id: I38c3deebd5ad359075e68f52d19417bab5ab43db
2014-06-03 15:49:19 +02:00
Evan Charlton
faa3ff9ba8 Merge "Revert sendEnvelope changes [DO NOT MERGE]" into lmp-preview-dev 2014-06-03 03:47:06 +00:00
Jae Seo
d5cc4a281e Put TV Input Framework under android.media.tv, including TvContract
Bug: 15345342
Change-Id: I665ca23f0f074ce29cb2e047109b209178532107
2014-06-02 11:02:52 -07:00
Amith Yamasani
f20d640fa2 Restrictions Manager
Mechanism to register a provider for requesting an
administrator to respond to permission requests.

Request format and response format constants.

Description of manifest template for static restrictions.
Int type introduced in RestrictionEntry.

Needs more javadoc and better description of manifest templates,
including specifying the XML attributes.

Change-Id: I5a654d364e98379fc60f73db2e06bf9a8310263d
2014-05-31 16:41:35 -07:00
Evan Charlton
fda1855eaa Revert sendEnvelope changes [DO NOT MERGE]
Revert the following changes from the I/O preview. This reverts the
following changes:

Revert "Revert "Revert "Modify TelephonyManager to expose sendEnvelopeWithStatus instead of sendEnvelope."""

This reverts commit 452e185fb6df92358701fb68d4fe6c65f172cc29.

Change-Id: I6bbff508b2f542d6ef3d372956db53d63a9165eb

Revert "Revert "Revert "Expose sendEnvelope."""

This reverts commit 0d5e5b9cce8af40494f72ff9decc169f99780254.

Revert "Adding support for SIM communication from Android over logical channels."

This reverts commit 57f656b9f6271cf857b5ecec5f8c7eacb321ec0b.

Change-Id: I975eb468841e85d63e506f68a5d8c879e110d9f6
2014-05-29 10:55:05 -07:00
Wonsik Kim
c22dbb6919 Revert "Revert "Add physical TV input handling to TvInputManagerService""
This reverts commit 1940e197a8de186df5edf0b78e0907ae539bd215.

Bug: 14118245, Bug: 15197740
Change-Id: Ia308f16d2ed8ec55112a4d21c180ccb97e8d7c6a
2014-05-27 01:33:50 +00:00
Dianne Hackborn
fb052926b8 Revert "Hide voice interaction APIs."
This reverts commit a677a9b9367bcf8c81c36dc59b53554cb347b438.
2014-05-21 14:16:46 -07:00
Andres Morales
62b25a5bf0 Revert "Adding INfcUnlockSettings and NfcUnlock interface class."
This will be re-added as a Trustlet in a subsequent CL.

This reverts commit 38a7ed05f8fed0aa81f7214d827875f9876ffbe1.

Change-Id: I5aa36df42a7751f165b4ef184e0cda57e5568b59
2014-05-20 16:59:34 +00:00
RoboErik
b19c192654 Merge "Rename session classes to have media prefix, hide routes" 2014-05-19 19:29:06 +00:00
RoboErik
42ea7eecd1 Rename session classes to have media prefix, hide routes
This renames several of the core session classes to be prefixed
with Media. It also adds @hide to all route references for now.

Change-Id: Idb42897d490cf24626e4e93ca975b2cb93ec054c
2014-05-16 16:40:17 -07:00
Dianne Hackborn
dcff99598f Hide voice interaction APIs.
Change-Id: I961b6399a6edca239caaba9bbd1dd5e03bc612bd
2014-05-16 14:32:35 -07:00
Adrian Roos
7e03dfcb79 Apply revised TrustAgent API
Bug: 14997466
Change-Id: I81042e058a20f28603a11471882f3dcfc4f8b13c
2014-05-16 16:06:28 +02:00
Jessica Hummel
fbf53d042d Merge "Disallow the INTERACT_ACROSS_USERS permission for system apps" 2014-05-08 09:40:13 +00:00
Jessica Hummel
96599a05ac Disallow the INTERACT_ACROSS_USERS permission for system apps
This reverts a temporary hack which was required for a temporary launcher version to work for development purposes.

Change-Id: Ifd17447076bf5c67ad2ce8df8f184fe6f12baad3
2014-05-06 18:11:26 +01:00
Dianne Hackborn
d83a096f29 Bump up priority of system receiving BOOT_COMPLETED.
Change-Id: I5166f88f11f781914312e867cb653c8ecbefa705
2014-05-02 16:29:10 -07:00
Dianne Hackborn
0923328962 Make GET_TASKS signature|system.
Normal apps can't hold it now.  If they try to use
getRecentTasks() or getRunningTasks() without the permission,
they will only see their own tasks and home in the list.

Also took this opportunity to eradicate all of the old pending
thumbnail stuff.

Change-Id: I6dc52a06221c78097162e4a8b482027b798bf3ee
2014-05-02 11:51:26 -07:00
Nicolas Prevot
10fa67c77e Introduce forwarding intents across profiles.
The package manager service maintains, for some user ids, a list of forwarding intent filters.
A forwarding intent filter is an intent filter with a destination (a user id).
If an intent matches the forwarding intent filter, then activities in the destination can also respond to the intent.

When the package manager service is asked for components that resolve an intent:
If the intent matches the forwarding intent filter, and at least one activity in the destination user can respond to the intent:
The package manager service also returns the IntentForwarderActivity.
This activity will forward the intent to the destination.

Change-Id: Id8957de3e4a4fdbc1e0dea073eadb45e04ef985a
2014-04-30 19:24:52 +01:00
John Spurlock
b22aabbbd2 Merge "Introduce condition provider services." 2014-04-25 18:19:06 +00:00
John Spurlock
7340fc8665 Introduce condition provider services.
Add the condition provider interface, base class, and associated
system metadata.

Pull out common service management code into a reusable helper,
used by notification listeners and condition providers. The
helper, ManagedServices, is now completely self-contained - it
has no dependencies on NoMan or NoMan abstractions.

Bug:13743109
Change-Id: I6856d40f0a2ead78ac9b5707568559a57e7eb009
2014-04-25 12:35:31 -04:00
Dianne Hackborn
91097de49b Initial implementation of new voice interaction API.
This gives a basic working implementation of a persist
running service that can start a voice interaction when
it wants, with the target activity(s) able to go through
the protocol to interact with it.  It may even work when
the screen is off by putting the activity manager in the
correct state to act like the screen is on.

Includes a sample app that is a voice interation service
and also has an activity it can launch.

Now that I have this initial implementation, I think I
want to rework some aspects of the API.

Change-Id: I7646d0af8fb4ac768c63a18fe3de43f8091f60e9
2014-04-24 17:48:58 -07:00
RoboErik
0a57a1112f Merge "Add RouteProviders to the new Media APIs" 2014-04-17 22:13:30 +00:00
RoboErik
07c7077c54 Add RouteProviders to the new Media APIs
Compiles and works with OneMedia. This currently is a rough test of
the system for finding, connecting to, and sending messages to routes.
This will just connect to the first route it finds when a request to
open the route picker is made (and disconnect when another request is
made).

Change-Id: I5de5521a079471b9e02664be4654c0591dfd9a6d
2014-04-17 15:02:33 -07:00
Robin Lee
66e5d96cf9 Allow ProfileOwner apps to manage app restrictions
Simple wrapper around the UserManager.{get|set}ApplicationRestrictions
APIs. Also added a new Intent to signal to running apps that the set
of restrictions has changed since startup.

Change-Id: Ifd108108a73f87325b499d9de2e1b2aacc59b264
2014-04-17 15:58:03 +01:00
Jeff Davidson
b51e0a6c4b Stub APIs for network scoring.
NetworkScoreManager defines all interactions between the framework and
the scorer app. An ACTION_SCORE_NETWORKS broadcast is sent to the
default scorer with any unscored networks, which responds by calling
updateScores() with scores for those networks. An app may also check
whether they are currently the default scorer with
getDefaultScorerPackage() and request to become the default via the
ACTION_CHANGE_DEFAULT broadcast.

Bug: 13786258
Change-Id: Id3dc0f7c1109f0e3afd73356e2475b7f34167419
2014-04-16 11:55:14 -07:00
Aravind Akella
d951ab230d am 8ebd66c2: am cd4c1c71: Merge "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor" into klp-modular-dev
* commit '8ebd66c259602f6b0be26fdfd3fe2f55538f6424':
  Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
2014-04-11 19:40:31 +00:00
Aravind Akella
8ebd66c259 am cd4c1c71: Merge "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor" into klp-modular-dev
* commit 'cd4c1c714c37a1bc7ba35ebd2509eca4f0f6a314':
  Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
2014-04-11 19:34:51 +00:00
Aravind Akella
cd9a7bb3ba Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
This reverts commit 819239e5bec90ee3c861ac45fffac4a832a183a1.

Change-Id: I4bbb222e5c9dc65aed03aa28fd9e0f00fe335819
2014-04-11 00:05:24 +00:00
Svetoslav
6be2f95202 Merge "Adding render stats APIs to UiAutomation (framework)." 2014-04-10 19:32:59 +00:00
Jae Seo
3957091ba8 Initial round of Television Input Framework
This provides APIs to control and create individual television inputs on
the system which will later be hosted by television applications.

Change-Id: I6866d28e78175a1bff2c32a85c5d77e94d0cd60c
2014-04-08 13:35:21 -07:00
Svetoslav
1376d600d8 Adding render stats APIs to UiAutomation (framework).
bug:12927198

Change-Id: Iae21481c75ae58dcdab3731bf5f1e2844e29d434
2014-04-07 17:01:42 -07:00
Etienne Le Grand
acf395fd94 am 819239e5: Revert "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor"
* commit '819239e5bec90ee3c861ac45fffac4a832a183a1':
  Revert "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor"
2014-04-05 09:05:50 +00:00
Etienne Le Grand
fa1d2417d2 Revert "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor"
This reverts commit fd53d8352a4617941b0a0449390aa562a01ea1d3.

Change-Id: I1c6322d1d992147bb5ef201238374966128c1a61
(cherry picked from commit 819239e5bec90ee3c861ac45fffac4a832a183a1)
2014-04-05 06:14:24 +00:00
Etienne Le Grand
819239e5be Revert "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor"
This reverts commit fd53d8352a4617941b0a0449390aa562a01ea1d3.

Change-Id: I1c6322d1d992147bb5ef201238374966128c1a61
2014-04-05 04:47:14 +00:00
Etienne Le Grand
ded2647330 am bdfe3841: am fd53d835: Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
* commit 'bdfe384106de364ea2effac6ab80108556d11649':
  Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
2014-04-05 03:53:49 +00:00
Etienne Le Grand
bdfe384106 am fd53d835: Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
* commit 'fd53d8352a4617941b0a0449390aa562a01ea1d3':
  Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
2014-04-05 01:52:27 +00:00
Etienne Le Grand
fd53d8352a Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
Change-Id: I16e5da68f860494e24cca64075be76fad02617bc
2014-04-04 16:31:08 -07:00
Jeff Tinker
9de8c1d82b resolved conflicts for merge of 4f342e87 to master
Change-Id: I2cdb238759beb49fede2de703df8defee92d316f
2014-04-03 11:51:37 -07:00
Jeff Tinker
4f342e878d am 4995d725: Merge "Add signature|system permission to MediaDrm signer APIs" into klp-modular-dev
* commit '4995d72520d16302fca13bc4614d1dd3c0d1c17c':
  Add signature|system permission to MediaDrm signer APIs
2014-04-03 01:35:28 +00:00
Jeff Tinker
65c94e6959 Add signature|system permission to MediaDrm signer APIs
Also addresses style issues noted in post-submit review from
https://googleplex-android-review.git.corp.google.com/#/c/439054/

Change-Id: If177b11dbcc049bc271529c119bc5c36ae0107b5
related-to-bug: 12702350
2014-04-02 16:43:10 -07:00
Adrian Roos
82142c21dd Define trust agent framework components
Adds the TrustManager system service that allows
registering for changes to the trust status and
reporting events that are important to trust agents.

Bug: 13723878
Change-Id: I7d0d2ea86fd755702d31aa5d49cac038a6cd4301
2014-03-31 21:18:28 +02:00
Adrian Roos
ff2144ccb4 Define initial trust agent API
Adds the minimal API needed to define a useful trust agent.

Bug: 13723878
Change-Id: Ib24440bab7b16d0b656bde8b059e7d42cab2c7dc
2014-03-31 20:40:49 +02:00
Colin Cross
a42cb8b0e2 resolved conflicts for merge of a67e34c8 to master
Change-Id: I597525886260884c9b2dfc7945e01eb8138a58c2
2014-03-21 13:11:02 -07:00
Jeff Sharkey
cf0c4a59b6 am 4868da52: am c620ec36: am 3f523222: Merge "Lock down MANAGE_DOCUMENTS permission." into klp-dev
* commit '4868da52450d3e5456b3567c228967539144d108':
  Lock down MANAGE_DOCUMENTS permission.
2014-03-21 18:00:13 +00:00
Jeff Sharkey
4868da5245 am c620ec36: am 3f523222: Merge "Lock down MANAGE_DOCUMENTS permission." into klp-dev
* commit 'c620ec3614c8737b87d60efa9db96c288bcad794':
  Lock down MANAGE_DOCUMENTS permission.
2014-03-21 17:56:44 +00:00
Jinsuk Kim
f2fecf48f7 am c61f4dd7: Merge "Add HDMI-CEC service" into klp-modular-dev
* commit 'c61f4dd744b1b0396703aa58eb22fc31d2b7050e':
  Add HDMI-CEC service
2014-03-21 02:37:00 +00:00
Christopher Tate
adfe8b86e9 App widget backup/restore infrastructure
Backup/restore now supports app widgets.

An application involved with app widgets, either hosting or publishing,
now has associated data in its backup dataset related to the state of
widget instantiation on the ancestral device.  That data is processed
by the OS during restore so that the matching widget instances can be
"automatically" regenerated.

To take advantage of this facility, widget-using apps need to do two
things:  first, implement a backup agent and store whatever widget
state they need to properly deal with them post-restore (e.g. the
widget instance size & location, for a host); and second, implement
handlers for new AppWidgetManager broadcasts that describe how to
translate ancestral-dataset widget id numbers to the post-restore
world.  Note that a host or provider doesn't technically need to
store *any* data on its own via its agent; it just needs to opt in
to the backup/restore process by publishing an agent.  The OS will
then store a small amount of data on behalf of each widget-savvy
app within the backup dataset, and act on that data at restore time.

The broadcasts are AppWidgetManager.ACTION_APPWIDGET_RESTORED and
ACTION_APPWIDGET_HOST_RESTORED, and have three associated extras:

    EXTRA_APPWIDGET_OLD_IDS
    EXTRA_APPWIDGET_IDS
    EXTRA_HOST_ID [for the host-side broadcast]

The first two are same-sized arrays of integer widget IDs.  The
_OLD_IDS values are the widget IDs as known to the ancestral device.
The _IDS array holds the corresponding widget IDs in the new post-
restore environment.  The app should simply update the stored
widget IDs in its bookkeeping to the new values, and things are
off and running.  The HOST_ID extra, as one might expect, is the
app-defined host ID value of the particular host instance which
has just been restored.

The broadcasts are sent following the conclusion of the overall
restore pass.  This is because the restore might have occurred in a
tightly restricted lifecycle environment without content providers
or the package's custom Application class.  The _RESTORED broadcast,
however, is always delivered into a normal application environment,
so that the app can use its content provider etc as expected.

*All* widget instances that were processed over the course of the
system restore are indicated in the _RESTORED broadcast, even if
the backing provider or host is not yet installed.  The widget
participant is responsible for understanding that these are
promises that might be fulfilled later rather than necessarily
reflecting the immediate presentable widget state.  (Remember
that following a cloud restore, apps may be installed piecemeal
over a lengthy period of time.)  Telling the hosts up front
about all intended widget instances allows them to show placeholder
UI or similarly useful information rather than surprising the user
with piecemeal unexpected appearances.

The AppWidgetProvider helper class has been updated to add a new
callback, onRestored(...), invoked when the _RESTORED broadcast
is received.  The call to onRestored() is immediately followed by
an invocation of onUpdate() for the affected widgets because
they will need to have their RemoteViews regenerated under the
new ID values.

Bug 10622506
Bug 10707117

Change-Id: Ie0007cdf809600b880d91989c00c3c3b8a4f988b
2014-03-20 12:30:51 -07:00
Svetoslav
8e3feb15c5 Added accessibility APIs for introspecting interactive windows.
1. The old introspection model was allowing querying only the active window
   which is the one the user is touching or the focused one if no window is
   touched. This was limiting as auto completion drop downs were not inspectable,
   there was not way to know when the IME toggles, non-focusable windows were
   not inspectable if the user taps them as until a screen-reader starts
   introspecting the users finger is up, accessibility focus was limited to
   only one window and the user couldn't use gestures to visit the whole UI,
   and other things I can't remember right now.

   The new APIs allow getting all interactive windows, i.e. ones that a
   sighted user can interact with. This prevents an accessibility service
   from interacting with content a sighter user cannot. The list of windows
   can be obtained from an accessibility service or the host window from an
   accessibility node info. Introspecting windows obey the same rules for
   introspecting node, i.e. the service has to declare this capability
   in its manifest.

   When some windows change accessibility services receive a new type
   of event. Initially the types of windows is very limited. We provide
   the bounds in screen, layer, and some other properties which are
   enough for a client to determined the spacial and hierarchical
   relationship of the windows.

2. Update the documentation in AccessibilityService for newer event types.

3. LongArray was not removing elements properly.

4. Composite accessibility node ids were not properly constructed as they
   are composed of two ints, each taking 32 bits. However, the values for
   undefined were -1 so composing a 64 long from -1, -1 prevents from getting
   back these values when unpacking.

5. Some apps were generating inconsistent AccessibilityNodeInfo tree. Added
   a check that enforces such trees to be well formed on dev builds.

6. Removed an necessary code for piping the touch exploration state to
   the policy as it should just use the AccessibilityManager from context.

7. When view's visibility changed it was not firing an event to notify
   clients it disappeared/appeared. Also ViewGroup was sending accessibility
   events for changes if the view is included for accessibility but this is
   wrong as there may be a service that want all nodes, hence events from them.
   The accessibility manager service takes care of delivering events from
   not important for accessibility nodes only to services that want such.

8. Several places were asking for prefetching of sibling but not predecessor
   nodes which resulted in prefetching of unconnected subtrees.

9. The local AccessibilityManager implementation was relying on the backing
   service being ready when it is created but it can be fetched from a context
   before that. If that happens the local manager was in a broken state forever.
   Now it is more robust and starts working properly once the backing service
   is up. Several places were lacking locking.

bug:13331285

Change-Id: Ie51166d4875d5f3def8d29d77973da4b9251f5c8
2014-03-20 16:52:59 +00:00