557 Commits

Author SHA1 Message Date
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
Jinsuk Kim
4f512fb451 Add HDMI-CEC service
This CL adds a system service handling HDMI-CEC protocol. The service
is equipped with the capability sending/receiving HDMI-CEC messages

Not all the messages are in place. Currently it has messages to support
a few features only, as follows:

- One touch play
- System information
- Routing control (partially - active source status maintenance only)
- Device OSD transfer
- Power status

It will be extended to cover the wider usages in the follow up CLs.

The CEC standard version referenced in the implementation is 1.3a.

Change-Id: Ifed0b02f52ebf098eddb3bd0987efbf353b7e8fe
2014-03-20 16:40:22 +09:00
Fabrice Di Meglio
d0abcedece Merge "Introduce the SearchIndexablesProvider and its friends" 2014-03-20 01:12:06 +00:00
Fabrice Di Meglio
b49995d4d9 Introduce the SearchIndexablesProvider and its friends
- enable retrieval of search data to be indexed

Change-Id: I4a16408dec3d3305bf20107fb11eb2d1aee7fad5
2014-03-19 15:44:01 -07:00
Jeff Sharkey
42c32c0c88 Lock down MANAGE_DOCUMENTS permission.
MANAGE_DOCUMENTS is a very broad permission, since it allows full
access to all DocumentsProviders.  DocumentsUI should really be the
only app holding this permission; everyone else should rely on Uri
permission grants for access.

Bug: 12958298
Change-Id: I1def48a4ea1814e031fc8513c3cd051d764cd7f8
2014-03-18 11:05:43 -07:00
Jessica Hummel
b4ca2639e4 Temporarily allow system apps to fully act across users.
This is to allow launcher to start activities across users
and will be reverted when an alternative API is provided.

Change-Id: I67ec3e9d419afffbadce37d6e9958e2dfc096fb2
2014-03-17 17:08:22 +00:00
Jason Gerecke
d6396d6720 Allow persistence of input device calibration
This patch extends the PersistentDataStore store to read and write
input device calibration data. A new SET_INPUT_CALIBRATION permission
grants apps the ability to update this information, and a new
TouchCalibration class is used to wrap the raw calibration data.

Change-Id: I4daac2b15ef03616ea5b068c1e77bebd0ce7b8c1
2014-03-10 15:54:21 -07:00
Santos Cordon
4c8c27ed73 Updating wording around PROCESS_INCOMING_CALL. DO NOT MERGE.
bug: 12175514

Change-Id: I37dba7eedbf86c0b87ce559a52fe0b15c6911bfa
(cherry picked from commit b4aeac730503eb4b9db7d2dcece48e1ca13b4b30)
2014-03-06 17:27:59 +00:00
Dirk Dougherty
f55616cd8b Update permission description string.
Change-Id: I6cd5895d78bff4f6f3fc8090e13a9ddbd83a1978
(cherry picked from commit 08d7c2861fee205a314c3847ab5f5894617a233b)
2014-03-05 23:21:41 +00:00
Santos Cordon
b4aeac7305 Updating wording around PROCESS_INCOMING_CALL.
bug: 12175514

Change-Id: I37dba7eedbf86c0b87ce559a52fe0b15c6911bfa
2014-03-04 18:51:18 -08:00
Dirk Dougherty
a4eeb0dca0 am bc8301df: am 0054ed81: am 8bb3b8f8: am 95cf532f: am 26de0b71: am cce121fb: Merge "Update permission description string." into klp-docs
* commit 'bc8301dfa3fc2789c4bf8dc82784075980b6329f':
  Update permission description string.
2014-03-03 23:22:03 +00:00
Dirk Dougherty
0054ed815a am 8bb3b8f8: am 95cf532f: am 26de0b71: am cce121fb: Merge "Update permission description string." into klp-docs
* commit '8bb3b8f805658ecf9106778992dceea9a05dcc4c':
  Update permission description string.
2014-03-03 22:24:14 +00:00
Dirk Dougherty
8bb3b8f805 am 95cf532f: am 26de0b71: am cce121fb: Merge "Update permission description string." into klp-docs
* commit '95cf532fe389713ff1fb33810012586fd460e223':
  Update permission description string.
2014-03-03 22:21:00 +00:00
Dirk Dougherty
26de0b7118 am cce121fb: Merge "Update permission description string." into klp-docs
* commit 'cce121fb7504fbc460b85564735ff5d8a1ed4d55':
  Update permission description string.
2014-03-03 22:13:31 +00:00
Dirk Dougherty
08d7c2861f Update permission description string.
Change-Id: I6cd5895d78bff4f6f3fc8090e13a9ddbd83a1978
2014-03-03 14:05:21 -08:00
rich cannings
3cff34742a am 341e6b73: am fd6d8a8b: am bc4d34dd: am 8ebfbffc: Merge "Make FORCE_STOP_PACKAGES "signature|system"" into klp-dev
* commit '341e6b73e6362f8757717a2518b370724c3a3913':
  Make FORCE_STOP_PACKAGES "signature|system"
2014-03-03 17:31:35 +00:00
rich cannings
341e6b73e6 am fd6d8a8b: am bc4d34dd: am 8ebfbffc: Merge "Make FORCE_STOP_PACKAGES "signature|system"" into klp-dev
* commit 'fd6d8a8b736568ccb61af10dec04a99a8c36f29a':
  Make FORCE_STOP_PACKAGES "signature|system"
2014-03-03 17:28:21 +00:00
rich cannings
0c9bd3ed4d Make FORCE_STOP_PACKAGES "signature|system"
Bug: 12992556
Change-Id: Iebc91aabb67034e8a5ada7efdcdaaed4cc6d0f1b
(cherry picked from commit 4b7510cf842fdadf1b7e8e0495ded1b2bbd50d7e)
2014-02-24 21:00:58 +00:00
Jeff Sharkey
89f545a4eb Lock down MANAGE_DOCUMENTS permission.
MANAGE_DOCUMENTS is a very broad permission, since it allows full
access to all DocumentsProviders.  DocumentsUI should really be the
only app holding this permission; everyone else should rely on Uri
permission grants for access.

Bug: 12958298
Change-Id: I1def48a4ea1814e031fc8513c3cd051d764cd7f8
2014-02-18 14:26:23 -08:00
rich cannings
5a92fec650 Merge "Make FORCE_STOP_PACKAGES "signature|system"" 2014-02-14 18:04:46 +00:00
Narayan Kamath
0051514845 resolved conflicts for merge of 396b9e79 to master
Change-Id: Ie71a79699be57f5af6069559068bf6253835d805
2014-02-13 11:48:48 +00:00
Wink Saville
27bf55c815 am 16c0b295: am bba3a694: Merge "Telephony API extension v2"
* commit '16c0b295ef069e128a4e01fd2f72da06784950a1':
  Telephony API extension v2
2014-02-13 08:44:55 +00:00
rich cannings
4b7510cf84 Make FORCE_STOP_PACKAGES "signature|system"
Bug: 12992556
Change-Id: Iebc91aabb67034e8a5ada7efdcdaaed4cc6d0f1b
2014-02-12 13:24:25 -08:00
Jake Hamby
8f9b33e776 Add new RIL commands to read/write NV items and reset NV config.
Add new RIL commands and generic code cleanups.

The only changes required for OMA DM support are the
addition of five new methods in ITelephony.aidl for
reading/writing NV items and performing NV config and
radio resets (requires MODIFY_PHONE_STATE), along with
the new RIL request IDs in RILConstants.java.

Bug: 12864208
Change-Id: I958d2571580d98a49936ef2e6822e5ac086acbe2
2014-02-03 15:52:18 -08:00