577 Commits

Author SHA1 Message Date
Svetoslav
269403b032 Implemented advanced printer selection and API refactoring.
1. Added past printer history tracking and merging favorite printers
   with discovered printers.

2. Added save as PDF support.

3. Added all printers activity with search capability and optional
   add printers chooser (if any print service provides add printers
   activity)

4. Refactored the printer discovery session APIs. Now one session
   can have multiple window discovery windows and the session stores
   the printers found during past discovery periods.

5. Merged the print spooler and the print spooler service - much
   simpler and easier to maintain.

Change-Id: I4830b0eb6367e1c748b768a5ea9ea11baf36cfad
2013-08-19 13:24:11 -07:00
destradaa
5c7e64609c Merge "Add support in the platform for Flp Geofencing." into klp-dev 2013-08-13 23:56:31 +00:00
Robert Greenwalt
7a8d9d6fec Merge "Add support for batched wifi scans." into klp-dev 2013-08-13 23:22:52 +00:00
destradaa
0682809ad0 Add support in the platform for Flp Geofencing.
Change-Id: I0fb0e276d3a06322697bb5d46323779aca1f78c5
2013-08-13 16:00:04 -07:00
Robert Greenwalt
0451d59ba2 Add support for batched wifi scans.
bug:9301872

Change-Id: I5a7edfdbd2b78a65119d11acad491eae350c0870
2013-08-13 14:37:37 -07:00
Svetoslav Ganov
c7c4d6dd4d Merge "Refinement of the print service APIs." into klp-dev 2013-08-11 21:42:54 +00:00
Svetoslav Ganov
798bed6cc7 Refinement of the print service APIs.
1. Factored out the printer discovery APIs of a print service in a
   dedicated session object that is created by the print service on
   demand. This ensures that added/removed/updated printers from
   one session do not interfere with another session.

2. Updated the app facing APIs to pass in a document info along
   with a printed file. Also exposed the print file adapter so
   apps that create a temporary file for printing can intercept
   when it is read by the system so the file can be deleted.

3. Updated the print service documentation.

Change-Id: I3473d586c26d8bda1cf7e2bdacb441aa9df982ed
2013-08-11 14:40:05 -07:00
Matthew Xie
fe3807a5b2 Bluetooth MAP profile - sms and mms support initial check-in
bug:10116530

Change-Id: I57d022005bcff5bc3e56438a81ac92566f957744
2013-08-09 15:01:07 -07:00
destradaa
1af4b0280a Add FlpHal layer to support Location Batching.
Change-Id: Ia3a57d869dfb3f067a1b95fa66d54f311ddcfdc3
2013-08-08 15:27:38 -07:00
Jason Monk
602b232a06 Add PAC File support for proxy configuration
PAC (Proxy auto-config) files contain a single javascript function,
FindProxyForURL(url, host).  It gets called to determine what proxy should be
used for a specific request.

This adds PAC support to the system.  The ProxyProperties has been modified
to hold the PAC file when one is present.  The Proxy method
setHttpProxySystemProperty has been modified to insert a PacProxySelector
as the default ProxySelector when it is required.  This new ProxySelector
makes calls to the ConnectivityService to parse the PAC file.

The ConnectivityService and the WifiConfigStore have been modified to support
saving the extra PAC file data.

The ConnectivityService now has a class attached (PacProxyNative) that
interfaces to the native calls for PAC files.  The parsing of the PAC file
is handled by libpac (which is being added to external/) which utilizes
libv8 to parse the javascript.

As a fallback to applications that don't use the java ProxySelector,  the proxy
is setup to point to a local proxy server that will handle the pac parsing.

bug:10182711
Change-Id: I5eb8df893c632fd3e1b732385cb7720ad646f401
2013-08-07 21:01:39 -04:00
Dianne Hackborn
23fb6e8418 Start adding IPC calls to retrieve proc stat data.
Also fix a bug where we were not correctly unparcelling service
duration data.

Change-Id: Ie9113b2e3a747622441b1939ffc45edb5803a10f
2013-08-07 10:08:22 -07:00
Martijn Coenen
badb063c81 Merge "NFC: Host-based card emulation APIs." 2013-08-03 00:49:03 +00:00
Martijn Coenen
a7397883de NFC: Host-based card emulation APIs.
- New INfcCardEmulation interface to allow apps to interface
  with card emulation system.
- New BIND_NFC_SERVICE permission to prevent malicious apps
  from binding to card emulation services.
- ApduServiceInfo is now in the framework.
- Added constants to Settings.Secure for storing defaults.
- Modified XML grammar a bit.

Change-Id: I56b3fa6b42eb5dc132c91c1386ab1e6bac779059
2013-08-02 17:22:53 -07:00
Scott Main
27dfaf3bb1 am 30483952: am 1d7516a7: am ec6f327e: update sizes/sums for tools 22.0.5 release also update platform version number for doc builds
* commit '30483952528469c612c61c7370e99db9e40b3262':
  update sizes/sums for tools 22.0.5 release also update platform version number for doc builds
2013-07-30 20:14:47 -07:00
Scott Main
3048395252 am 1d7516a7: am ec6f327e: update sizes/sums for tools 22.0.5 release also update platform version number for doc builds
* commit '1d7516a79883dded43e6c370bf071feb9527971e':
  update sizes/sums for tools 22.0.5 release also update platform version number for doc builds
2013-07-30 20:09:42 -07:00
Eino-Ville Talvala
2f1a2e423e Camera2 API: Rename package to android.hardware.camera2
Change-Id: I77b7939e199f9fe8e12a59393c24cff08097448c
2013-07-30 11:37:31 -07:00
Scott Main
ec6f327ed0 update sizes/sums for tools 22.0.5 release
also update platform version number for doc builds

Change-Id: Ib3e644c3bfe618137516398aebf3f778ebdd1e81
2013-07-30 10:10:22 -07:00
Todd Poynor
a9de3462a6 Add libbatteryservice AIDL and java interfaces
Add IBatteryPropertiesRegistrar and IBatteryPropertiesListener AIDLs,
BatteryProperties class.

Change-Id: Ic8e71178c02b04868eca29c3da88e877bc2590ca
2013-07-25 02:13:49 +00:00
Matthew Williams
fa77418134 AnonymousSyncService & SyncRequest.
Changes to the way bundles are parcelled broke SM,
this update writes out the bundle as xml. This circumvents
the need for parcel, and makes it easier to debug whats
happening.
Change-Id: I6cd5d3a2eb80bfa5b3ae0c7f2d2ff91a65daaa34
2013-07-24 15:25:29 -07:00
Jeff Brown
5aa9064ef3 Split framework jar.
Change-Id: Ia4bcae15c029fd0efe01dd4527fa3d5b5367b6c8
2013-07-17 21:11:33 -07:00
Svetoslav Ganov
a00271533f Refactoring of the print sub-system and API clean up.
1. Now a user state has ins own spooler since the spooler app is
   running per user. The user state registers an observer for the state
   of the spooler to get information needed to orchestrate unbinding
   from print serivces that have no work and eventually unbinding from
   the spooler when all no service has any work.

2. Abstracted a remote print service from the perspective of the system
   in a class that is transparently managing binding and unbinding to
   the remote instance.

3. Abstracted the remote print spooler to transparently manage binding
   and unbinding to the remote instance when there is work and when
   there is no work, respectively.

4. Cleaned up the print document adapter (ex-PrintAdapter) APIs to
   enable implementing the all callbacks on a thread of choice. If
   the document is really small, using the main thread makes sense.

   Now if an app that does not need the UI state to layout the printed
   content, it can schedule all the work for allocating resources, laying
   out, writing, and releasing resources on a dedicated thread.

5. Added info class for the printed document that is now propagated
   the the print services. A print service gets an instance of a
   new document class that encapsulates the document info and a method
   to access the document's data.

6. Added APIs for describing the type of a document to the new document
   info class. This allows a print service to do smarts based on the
   doc type. For now we have only photo and document types.

7. Renamed the systemReady method for system services that implement
   it with different semantics to systemRunning. Such methods assume
   the the service can run third-party code which is not the same as
   systemReady.

8. Cleaned up the print job configuration activity.

9. Sigh... code clean up here and there. Factoring out classes to
   improve readability.

Change-Id: I637ba28412793166cbf519273fdf022241159a92
2013-07-16 12:59:59 -07:00
Igor Murashkin
70725500dc Initial camera device implementation
* Working streaming preview requests only
* Almost everything else returns empty objects that don't do anything

Bug: 9213377
Change-Id: Ie6f02a7c0952b0f5ebc41905425b15cae221f7d3
2013-06-26 13:19:45 -07:00
Igor Murashkin
36483e9622 Revert "Initial camera device implementation"
This reverts commit 59bc67c732eab53b370b196066e8012d3f6bf09a.

Change-Id: I9e1ce3b9f4af4e2b9b98855c0ca533581c87ea7f
2013-06-25 05:13:55 +00:00
Igor Murashkin
59bc67c732 Initial camera device implementation
* Working streaming preview requests only
* Almost everything else returns empty objects that don't do anything

Bug: 9213377
Change-Id: I183dd47ddd737ec2c3c374e5c3461542a97f09b0
2013-06-24 17:41:10 -07:00
Svetoslav
fd90651cfc Print APIs documentation update
Change-Id: I0df438e45ef540cc42c9ee5baafc816ebafa1c7b
2013-06-24 09:05:38 -07:00
Svetoslav Ganov
4b9a4d1687 Print - platform APIs
Related changes:
    Skia (inlcude PDF APIs): https://googleplex-android-review.googlesource.com/#/c/305814/
    Canvas to PDF: https://googleplex-android-review.googlesource.com/#/c/319367/
    Settings (initial version): https://googleplex-android-review.googlesource.com/#/c/306077/
    Build: https://googleplex-android-review.googlesource.com/#/c/292437/
    Sample print services: https://googleplex-android-review.googlesource.com/#/c/281785/

Change-Id: I104d12efd12577f05c7b9b2a5e5e49125c0f09da
2013-06-21 18:43:17 -07:00
Igor Murashkin
4491d684f4 camera: Add Java binder proxies for some existing binder interfaces
Note that anything not in the AIDL interfaces, will NOT be magically
compatible if you just add it there. It probably requires a change in
frameworks/av/camera as well.

Bug: 9213377
Change-Id: I91d3efb755ed2e3ace139f83573f86efdccccd06
2013-06-11 11:36:38 -07:00
Ying Wang
2d66a4182a am 6c5b9799: am 1fa3cdf0: Merge "Move offline-pdk to where the source is." into jb-mr2-dev
* commit '6c5b979917b8189d7de75f9d622899ba1fb9e6d1':
  Move offline-pdk to where the source is.
2013-05-22 18:03:01 -07:00
Ying Wang
6c5b979917 am 1fa3cdf0: Merge "Move offline-pdk to where the source is." into jb-mr2-dev
* commit '1fa3cdf0cbc9bc788a313eda5d3ca3e2ad77fcc4':
  Move offline-pdk to where the source is.
2013-05-22 18:00:28 -07:00
Ying Wang
06acbf0e89 Move offline-pdk to where the source is.
Change-Id: I10b05c28954a27f11482751e14287ec21422dce2
2013-05-21 18:03:29 -07:00
Jeff Brown
5b48229b74 am 9da9947d: am 05002977: Merge "Include support library resource modules when building docs." into jb-mr2-dev
* commit '9da9947d4c7a2195bf440f0af8370f0667af90bf':
  Include support library resource modules when building docs.
2013-05-13 17:38:34 -07:00
Jeff Brown
9da9947d4c am 05002977: Merge "Include support library resource modules when building docs." into jb-mr2-dev
* commit '0500297714a26c744304a323267d5d642f351326':
  Include support library resource modules when building docs.
2013-05-13 17:35:21 -07:00
Jeff Brown
ae1d6f2fd3 Include support library resource modules when building docs.
Bug: 8175766
Change-Id: I0f0739d9f71386bae6c4ad23a2eb33e38d6a2d87
2013-05-10 20:37:12 -07:00
Dirk Dougherty
81d45178ec am 2ff5a479: am a6303d8a: am 67430e8e: am 2e52e815: am 6b6fd9d1: am 36aa2759: am b582c678: Doc change: delete legacy intl dir and update toc\'s for devsite-compatible lang strings.
* commit '2ff5a47999c5a6801e2e0530fbe1bf80ed25e8f1':
  Doc change: delete legacy intl dir and update toc's for devsite-compatible lang strings.
2013-05-07 10:25:15 -07:00
Dirk Dougherty
2ff5a47999 am a6303d8a: am 67430e8e: am 2e52e815: am 6b6fd9d1: am 36aa2759: am b582c678: Doc change: delete legacy intl dir and update toc\'s for devsite-compatible lang strings.
* commit 'a6303d8a211543a8e1f5fd2425024a1c4d0f88ff':
  Doc change: delete legacy intl dir and update toc's for devsite-compatible lang strings.
2013-05-06 18:51:11 -07:00
Dirk Dougherty
a6303d8a21 am 67430e8e: am 2e52e815: am 6b6fd9d1: am 36aa2759: am b582c678: Doc change: delete legacy intl dir and update toc\'s for devsite-compatible lang strings.
* commit '67430e8ec735c83f1f3304da7037e518aef6128a':
  Doc change: delete legacy intl dir and update toc's for devsite-compatible lang strings.
2013-05-06 18:49:14 -07:00
Dirk Dougherty
b582c678c8 Doc change: delete legacy intl dir and update toc's for devsite-compatible lang strings.
Change-Id: Ie390d2bbd8abc0d063c1f313797e8c3d21d27490
2013-05-06 18:38:24 -07:00
Romain Guy
3b748a44c6 Pack preloaded framework assets in a texture atlas
When the Android runtime starts, the system preloads a series of assets
in the Zygote process. These assets are shared across all processes.
Unfortunately, each one of these assets is later uploaded in its own
OpenGL texture, once per process. This wastes memory and generates
unnecessary OpenGL state changes.

This CL introduces an asset server that provides an atlas to all processes.

Note: bitmaps used by skia shaders are *not* sampled from the atlas.
It's an uncommon use case and would require extra texture transforms
in the GL shaders.

WHAT IS THE ASSETS ATLAS

The "assets atlas" is a single, shareable graphic buffer that contains
all the system's preloaded bitmap drawables (this includes 9-patches.)
The atlas is made of two distinct objects: the graphic buffer that
contains the actual pixels and the map which indicates where each
preloaded bitmap can be found in the atlas (essentially a pair of
x and y coordinates.)

HOW IS THE ASSETS ATLAS GENERATED

Because we need to support a wide variety of devices and because it
is easy to change the list of preloaded drawables, the atlas is
generated at runtime, during the startup phase of the system process.

There are several steps that lead to the atlas generation:

1. If the device is booting for the first time, or if the device was
updated, we need to find the best atlas configuration. To do so,
the atlas service tries a number of width, height and algorithm
variations that allows us to pack as many assets as possible while
using as little memory as possible. Once a best configuration is found,
it gets written to disk in /data/system/framework_atlas

2. Given a best configuration (algorithm variant, dimensions and
number of bitmaps that can be packed in the atlas), the atlas service
packs all the preloaded bitmaps into a single graphic buffer object.

3. The packing is done using Skia in a temporary native bitmap. The
Skia bitmap is then copied into the graphic buffer using OpenGL ES
to benefit from texture swizzling.

HOW PROCESSES USE THE ATLAS

Whenever a process' hardware renderer initializes its EGL context,
it queries the atlas service for the graphic buffer and the map.

It is important to remember that both the context and the map will
be valid for the lifetime of the hardware renderer (if the system
process goes down, all apps get killed as well.)

Every time the hardware renderer needs to render a bitmap, it first
checks whether the bitmap can be found in the assets atlas. When
the bitmap is part of the atlas, texture coordinates are remapped
appropriately before rendering.

Change-Id: I8eaecf53e7f6a33d90da3d0047c5ceec89ea3af0
2013-05-02 13:32:09 -07:00
Kenny Root
178e8bbf25 am e9ae6822: resolved conflicts for merge of 1f6e789b to jb-mr2-dev-plus-aosp
* commit 'e9ae6822a80cb1f3bd13c785f1727c03d35da52e':
  Track change to JSSE provider
2013-04-30 09:01:38 -07:00
Kenny Root
e9ae6822a8 resolved conflicts for merge of 1f6e789b to jb-mr2-dev-plus-aosp
Change-Id: I06c05d637613215b6d83df3e29cd495f6a5a0176
2013-04-29 23:09:03 -07:00
Kenny Root
12e752225a Track change to JSSE provider
Change-Id: I35e824e47ad758ab6408e91e2ba5dcda053a82f5
2013-04-29 15:15:27 -07:00
Jeff Brown
5ae02e92e4 am eb6403e9: resolved conflicts for merge of bfdd2566 to jb-mr2-dev-plus-aosp
* commit 'eb6403e95d601b62be7b4610599e72fd329f2666':
  Generate SDK docs for v7 support library packages.
2013-04-26 12:06:15 -07:00
Jeff Brown
eb6403e95d resolved conflicts for merge of bfdd2566 to jb-mr2-dev-plus-aosp
Change-Id: I42e15a186561222edd0d97047fcd207208a87282
2013-04-26 12:04:07 -07:00
Jeff Brown
caf7b0a155 Generate SDK docs for v7 support library packages.
This change required fixing some bugs in how AAPT handles
qualified symbols such as "android:layout_height"
when generating JavaDoc links.  The links were being
generated using the package name of the generated R file
rather than the package name of the referenced symbol.
These broken links caused the JavaDoc build to fail.

Bug: 8175766
Change-Id: I52fbef27825a25abca960cb44b59c2132267e9d6
2013-04-26 00:20:42 -07:00
Nick Pelly
dfe49e9c9f am 09e9e1a5: am edced26f: Merge "Add ContentValues & CursorWindow to framework.aidl" into jb-mr2-dev
* commit '09e9e1a5e7e3dd161b73f4254f239cab0410438a':
  Add ContentValues & CursorWindow to framework.aidl
2013-04-23 11:16:11 -07:00
Nick Pelly
09e9e1a5e7 am edced26f: Merge "Add ContentValues & CursorWindow to framework.aidl" into jb-mr2-dev
* commit 'edced26f162b0232338064e569fe651b8c805f93':
  Add ContentValues & CursorWindow to framework.aidl
2013-04-23 03:51:56 -07:00
Nick Pelly
bb392ba5f7 Add ContentValues & CursorWindow to framework.aidl
By adding these stubs, they will be automatically added to framework.aidl
in sdk builds.

This makes it easier for unbundled apps to pass these objects across
AIDL calls.

ContentValues & CursorWindow are already public Parcelables. It is an
oversight that they were not already in framework.aidl.

There are a lot of other public Parcelables that are missing from
framework.aidl. This just fixes two commonly requested ones.

Change-Id: If61e19b1206da1680413d9ea03de87a90b6d233e
2013-04-23 08:30:34 +10:00
Jaikumar Ganesh
032aeafd68 am d5af1724: am 176c245c: Merge "Hardware geofence API changes." into jb-mr2-dev
* commit 'd5af1724500f42e389cc2b8a0be9bacdf53405ad':
  Hardware geofence API changes.
2013-04-17 22:25:18 -07:00
Jaikumar Ganesh
d5af172450 am 176c245c: Merge "Hardware geofence API changes." into jb-mr2-dev
* commit '176c245cefaf08f33043e9b67cb787efeb6ad662':
  Hardware geofence API changes.
2013-04-17 22:21:32 -07:00
Jaikumar Ganesh
da6508954a Hardware geofence API changes.
b/8631678

1.GeofenceRequest object created.
2.MonitorState moved to a new callback
3.getTypeAndStatus separated to 2 calls.
4.Binder death implemented
5.geofenceChange callback name changed.
6.Parameters rearranged in some calls.

Change-Id: I8fe9621186aeb49efeb0eef1821a2556afe03cfc
2013-04-17 22:18:01 -07:00