593 Commits

Author SHA1 Message Date
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
Matthew Xie
9e0a566839 am 23b046c4: Merge "Initial version of BLE support for Bluedroid" into jb-mr2-dev
* commit '23b046c4af6672d96a4ef7bb27fb444e40f0bd5d':
  Initial version of BLE support for Bluedroid
2013-02-28 22:38:38 +00:00
Ganesh Ganapathi Batta
9908112fd0 Initial version of BLE support for Bluedroid
The API classes are hidden for now. Will unhide after API console
approval.
Change-Id: I8283dd562fd6189fdd15c866ef2efb8bbdbc4109
2013-02-27 18:08:14 -08:00
Jim Miller
5ecd81154f Move keyguard to its own process.
This is in preparation to moving keyguard into its own process.

Moved keyguard source and resources into new .apk.

Got basic test app working.  Still need to implement MockPatternUtils
and means to pass it into KeyguardService with local binder interface.

Added new ACCESS_KEYGUARD_SECURE_STORAGE permission.

Temporarily disabled USER_PRESENT broadcast.

Remove unintentional whitespace changes in PhoneWindowManager, etc.

Checkpoint basic working version.

Move to systemui process.

Synchronize with TOT.

Sync with recent user API changes.

Fix bug with returing interface instead of stub for IKeyguardResult.  Create KeyguardServiceDelegate to allow
for runtime-selectable local or remote interface.

More keyguard crash robustness.

Keyguard crash recovery working.  Currently fails safe (locked).

Fix selector view which was still using frameworks resources.

Remove more references to internal framework variables.  Use aliases for those we should move but
currently have dependencies.

Allow runtime switching between service and local mode.

Fix layout issue on tablets where orientation was reading the incorrect constant
from the framework.  Remove more framework dependencies.

Fix PIN keyboard input.

Remove unnecessary copy of orientation attrs.

Remove unused user selector widget and attempt to get multi user working again.

Fix multi-user avatar icon by grabbing it from UserManager rather than directly since
keyguard can no longer read it.

Merge with AppWidget userId changes in master.

Change-Id: I254d6fc6423ae40f6d7fef50aead4caa701e5ad2
2013-02-27 17:27:53 -08:00
Daniel Sandler
09a247e9a8 New INotificationListener interface.
Use with INotificationManager.registerListener(). Limited to
system only right now.

Change-Id: I65b6a8778267022cdc5e58eb75ae607a54b1cc52
2013-02-19 15:26:37 -05:00
Ying Wang
4c818473d4 Remove the unnecessary framework-res-package-target
Now the dependency should be correctly established by
framework_docs_LOCAL_JAVA_LIBRARIES.

Change-Id: I4c0ed2d3fb2855539027c7a0eb663f5747ae3ebd
2013-02-12 17:18:44 -08:00
Robert Ly
16e8c1ed1b Revert "makefile changes for gcm javadocs"
This reverts commit 5f9922d7c3bce158e4c7a58929d4075e7c91e32e

Change-Id: I310f27b231c6d64d6d407ae451b189a6ecf6b34f
2013-02-12 14:00:39 -08:00
Robert Ly
6b2c7600e9 am e47033f9: am 4d9aa17a: am 87db373a: am 2328a779: am 9eb66b2d: Merge "Revert "makefile changes for gcm javadocs"" into jb-mr1-dev
# Via Android Git Automerger (4) and Android (Google) Code Review (2)
* commit 'e47033f9294056ab54c63608ab0a46de995fae63':
  Revert "makefile changes for gcm javadocs"
2013-02-12 13:58:44 -08:00
Robert Ly
2328a77980 am 9eb66b2d: Merge "Revert "makefile changes for gcm javadocs"" into jb-mr1-dev
# Via Android (Google) Code Review
* commit '9eb66b2db4724da7a2d6575fee29840004f1a5df':
  Revert "makefile changes for gcm javadocs"
2013-02-12 13:49:44 -08:00
Robert Ly
d3b50de375 Revert "makefile changes for gcm javadocs"
This reverts commit 5f9922d7c3bce158e4c7a58929d4075e7c91e32e

Change-Id: I310f27b231c6d64d6d407ae451b189a6ecf6b34f
2013-02-12 21:39:28 +00:00
Robert Ly
590aaea06d resolved conflicts for merge of 6db87978 to master
Change-Id: If439f5730e32fb2044a1e464fab0f6afb6bf1d08
2013-02-12 10:55:43 -08:00
Robert Ly
a95a64ddd6 am dc8ee206: Merge "Revert "makefile changes for s.a.c"" into jb-mr1-dev
# Via Android (Google) Code Review
* commit 'dc8ee2066a45adc6a57157c550e65317c8650ca0':
  Revert "makefile changes for s.a.c"
2013-02-12 10:41:20 -08:00
Robert Ly
343a89c2cd Revert "makefile changes for s.a.c"
This reverts commit 4c01047ec7b06aabeeae273c7871caa6c3029b84

Change-Id: I4465cfa678717ff7c202347ae6ad36d12d5393bc
2013-02-12 18:29:10 +00:00
Robert Ly
f065d0f024 remove sac make target to fix build
Change-Id: I44c51e12225cd0b1d82bfb70129fefa8ba66e8b4
2013-02-11 20:58:43 -08:00