606 Commits

Author SHA1 Message Date
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
Scott Main
c541ca0d68 am 2f8caf6a: am dac80f63: Merge "add api level 18 to javadoc \'since\' tags" into jb-mr2-dev
* commit '2f8caf6a74c5d6bcddbc4fae57945c83e85788bd':
  add api level 18 to javadoc 'since' tags
2013-04-11 14:58:01 -07:00
Scott Main
2f8caf6a74 am dac80f63: Merge "add api level 18 to javadoc \'since\' tags" into jb-mr2-dev
* commit 'dac80f633977308ec87cca1dea802e81d0fb75ad':
  add api level 18 to javadoc 'since' tags
2013-04-11 12:03:54 -07:00
Scott Main
0d9e45a24e add api level 18 to javadoc 'since' tags
Change-Id: Iea2e13ef2fad47d6a19d380b5655aeeda0414930
2013-04-11 11:37:29 -07:00
Jaikumar Ganesh
a934b7c99a am 7228e1ae: am 8ce470dd: GPS Hardware geofencing.
* commit '7228e1aeb9a2af8fad410749e2adc61266b2649a':
  GPS Hardware geofencing.
2013-04-10 15:38:24 -07:00
Jaikumar Ganesh
7228e1aeb9 am 8ce470dd: GPS Hardware geofencing.
* commit '8ce470dd4ba0608abb6b5eae117cefca927af96b':
  GPS Hardware geofencing.
2013-04-10 15:34:35 -07:00
Jaikumar Ganesh
8ce470dd4b GPS Hardware geofencing.
Add support for doing geofencing in hardware.

Change-Id: I6d5015190e8d84e1f4beb1010ed977a71c1622d0
2013-04-10 15:25:07 -07:00
John Spurlock
8740cb1da6 resolved conflicts for merge of 29211d3a to master
Change-Id: I9691f41b12fbf52d0ef35a9bf5223edef7afdfd2
2013-04-05 16:18:59 -04:00
Daniel Sandler
29211d3a16 am 5feceebb: New NotificationListenerService.
* commit '5feceebb892d4cb5777cea3c6174b206705d456b':
  New NotificationListenerService.
2013-04-05 12:58:43 -07:00
Daniel Sandler
5feceebb89 New NotificationListenerService.
This is the best and only way for apps to listen for
notifications: create a NotificationListenerService, wait
for the NoMan to bind to you (as a result of the user
checking a box somewhere in Settings and agreeing to a
scary dialog box), and you'll start receiving notification
posted and dismissed callbacks. Your service, while enabled,
will also be able to clear one or all notifications.

Use this power wisely.

This change moves StatusBarNotification out of
com.android.internal into android.service.notification.
[Internal customers, including System UI and early users of
the system-only listener binder API, will need to be
updated.]

Bug: 8199624
Change-Id: I1be46f823d4b3ddc901109ec1e085cd6deb740c2
2013-04-05 19:54:44 +00:00
Brian Carlstrom
96242a1b17 am 3c7df09d: am 6fdcb168: Merge "Adjust the HttpResponseCache for OkHttp."
* commit '3c7df09d4dd00fb23da888726182f00788957cd9':
  Adjust the HttpResponseCache for OkHttp.
2013-04-03 14:12:27 -07:00
Brian Carlstrom
3c7df09d4d am 6fdcb168: Merge "Adjust the HttpResponseCache for OkHttp."
* commit '6fdcb168a7a0a4f508063019ca4d2ec35458f892':
  Adjust the HttpResponseCache for OkHttp.
2013-04-03 14:06:55 -07:00
jwilson
dea64ad715 Adjust the HttpResponseCache for OkHttp.
Change-Id: I2a80f3c3f30a3d15673d797fa3d1211286f75030
2013-04-03 20:15:36 +00:00
Jeff Brown
c5ebd80c43 am 901b77c6: am ca3d655d: Merge "Use input transport for communications between app and IME." into jb-mr2-dev
* commit '901b77c63bc707c5785a149975e2113a43e38ad6':
  Use input transport for communications between app and IME.
2013-03-26 19:48:23 -07:00
Jeff Brown
c28867a1d6 Use input transport for communications between app and IME.
The input method manager service now supplies an input channel for
communication while creating an IME session on behalf of the
application.

This change significanly reduces the overhead of IME event dispatch
by using a standard input channel to send input events rather than
using binder.  This results in fewer thread context switches
and fewer object allocations.

What's more, the IME may perform additional batching of the motion
events that it receives which may help it catch up if it is
getting behind while processing them.

Bug: 7984576
Bug: 8473020
Change-Id: Ibe26311edd0060cdcae80194f1753482e635786f
2013-03-26 15:42:39 -07:00
Michael Wright
0878312fd9 am 621c35e4: am 765ddb4b: Merge "Separate sessionCreated and finishedEvents callbacks" into jb-mr2-dev
* commit '621c35e4fc83c2864a82da31aac767832ce86df6':
  Separate sessionCreated and finishedEvents callbacks
2013-03-22 03:42:25 +00:00
Michael Wright
52a5352626 Separate sessionCreated and finishedEvents callbacks
Bug: 8276952
Change-Id: If7051086c060fcce5d1e958ebbddec0784c851da
2013-03-21 17:47:40 -07:00
Christopher Tate
294b512eca DO NOT MERGE - Full backup/restore now handles OBBs sensibly
OBB backup/ restore is no longer handled within the target app
process.  This is done to avoid having to require that OBB-using
apps have full read/write permission for external storage.

The new OBB backup service is a new component running in the
same app as the already-existing shared storage backup agent.
The backup infrastructure delegates backup/restore of apps'
OBB contents to this component (because the system process
may not itself read/write external storage).

From the command line, OBB backup is enabled by using new
-obb / -noobb flags with adb backup.  The default is noobb.

Finally, a couple of nit fixes:

- buffer-size mismatch between the writer and reader of chunked
  file data has been corrected; now the reading side won't be
  issuing an extra pipe read per chunk.

- bu now explicitly closes the transport socket fd after
  adopting it. This was benign but triggered a logged
  warning about leaked fds.

(Cherrypicked)

Change-Id: I471f6348abcccb7bf1e1710b7beda9f23de53e14
2013-03-08 15:08:10 -08:00
Christopher Tate
46cc43c6fa Full backup/restore now handles OBBs sensibly
OBB backup/ restore is no longer handled within the target app
process.  This is done to avoid having to require that OBB-using
apps have full read/write permission for external storage.

The new OBB backup service is a new component running in the
same app as the already-existing shared storage backup agent.
The backup infrastructure delegates backup/restore of apps'
OBB contents to this component (because the system process
may not itself read/write external storage).

From the command line, OBB backup is enabled by using new
-obb / -noobb flags with adb backup.  The default is noobb.

Finally, a couple of nit fixes:

- buffer-size mismatch between the writer and reader of chunked
  file data has been corrected; now the reading side won't be
  issuing an extra pipe read per chunk.

- bu now explicitly closes the transport socket fd after
  adopting it. This was benign but triggered a logged
  warning about leaked fds.

Bug: 6718844
Change-Id: Ie252494e2327e9ab97cf9ed87c298410a8618492
2013-03-07 13:47:20 -08:00
Dianne Hackborn
ee61a7fb95 am 530b2b1c: am a5513616: Merge "Add new WindowId for cross-process monitoring of focus." into jb-mr2-dev
* commit '530b2b1c98e3a3d86fd90cd91a08005370b8aa49':
  Add new WindowId for cross-process monitoring of focus.
2013-03-05 21:08:13 +00:00
Dianne Hackborn
e3f23a36d8 Add new WindowId for cross-process monitoring of focus.
This is a class representing a window and providing limited
interaction with it, which can be handed across processes.

Change-Id: I22885f2064a9cc8c68d690a5858c2e28bbb6a0f3
2013-03-05 09:33:48 -08:00
Jim Miller
25190577cc Post-review Keyguard cleanup.
- remove userActivity() from KeyguardService interface and call it
on PowerManager directly
- Split IKeyguardResult into two parts: IKeyguardShowCallback and
IKeyguardExitCallback.
- Misc other changes from the review.

Change-Id: I3f679cfa5d3f8bc742f2b2259ac354045e89a87b
2013-02-28 17:41:34 -08:00