History log of /frameworks/base/core/jni/AndroidRuntime.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e983008863c3f0706af95e0e601808e60eb0dbf2 01-Oct-2012 Ian Rogers <irogers@google.com> Fix target utilization property_get.

Copy and paste error where wrong compare meant the code thought a target
utilization option was specified even if there wasn't one.


Change-Id: Ibf1c6cf72743c5fbec7618a719d12d0373184754
5325010486a13553a8597aab92f90abc141a25e8 24-Sep-2012 Ian Rogers <irogers@google.com> Extra GC heap configuration parameters.

Allows parameters to increase the maximum free size. b/6606849

Change-Id: Ia74ccdbb8e32954820e3bd26f441b2c2fac889f4
cbad976b2a36a0895ca94510d5208a86f66cf596 05-Sep-2012 Jeff Brown <jeffbrown@google.com> Add support for Wifi display.

Change-Id: I99693786cf9d07d07d3400046c55eb4933730b80
64a55af0ac700baecb0877235eb42caac59a3560 26-Aug-2012 Jeff Brown <jeffbrown@google.com> Add plumbing for new surface flinger display API.

Cleaned up the implementation of Surface and SurfaceSession
to use more consistent naming and structure.

Added JNI for all of the new surface flinger display API calls.

Enforced the requirement that all Surfaces created by
the window manager be named.

Updated the display manager service to use the new methods.

Change-Id: I2a658f1bfd0437e1c6f9d22df8d4ffcce7284ca2
3f1e8b90b05e0fb39240f4c8924d94d8c11f50d1 16-Aug-2012 Kenny Root <kroot@google.com> Remove StatFs from AndroidRuntime JNI

Change-Id: I88039794cf3e4a959b37c29c67f16f2dc0751a5c
fa25bf5382467b1018bd9af7f1cb30a23d7d59f7 24-Jul-2012 Jeff Brown <jeffbrown@google.com> Add display manager skeleton.

The purpose of this change is to remove direct reliance on
SurfaceFlinger for describing the size and characteristics of

This patch also starts to make a distinction between logical displays
and physical display devices. Currently, the window manager owns
the concept of a logical display whereas the new display
manager owns the concept of a physical display device.

Change-Id: I7e0761f83f033be6c06fd1041280c21500bcabc0
313a2167098ce8498db3a50d70724f260e8169c0 18-Jan-2012 Jaikumar Ganesh <jaikumar@google.com> Delete various Bluetooth files for stack integration.
6b1e838fc16d397359f82c3a4f5700f1ed7dd910 03-Jul-2012 Thomas Tafertshofer <tafertth@google.com> EGL 1.4 bindings generated by glgen

Change-Id: I1c3da57101f4ea089a12f1796f25b72d6852141e
e38b1c4d156a569efc646e86a72ab3a3e3ccf6fc 08-Jun-2012 Kenny Root <kroot@google.com> resolved conflicts for merge of 9855f6e2 to jb-dev-plus-aosp

Change-Id: I012bd3b5946dedba3439285caa93739d44ebc60f
7304c343821309dd15f769b18f1de2fa43751573 12-May-2012 Jeff Brown <jeffbrown@google.com> Move power HAL interactions to PowerManagerService.

This refactoring sets the stage for a follow-on change that
will make use additional functions of the power HAL.

Moved functionality from android.os.Power into PowerManagerService.
None of these functions make sense being called outside of the
system server. Moving them to the PowerManagerService makes it
easier to ensure that the power HAL is initialized exactly once.

Similarly, moved ShutdownThread out of the policy package and into
the services package where it can tie into the PowerManagerService
as needed.

Bug: 6435382
Change-Id: I958241bb124fb4410d96f5d5eb00ed68d60b29e5
3f177d7c9a5c8ac727b0c6c3a5131e1e00ea52e8 13-Apr-2012 Elliott Hughes <enh@google.com> Bump the interpreter stack size for the main thread.

Bug: 6315322
Change-Id: I8d84e7c2e0eeb5314530b8a8b141f44014b8c646
9f25b7fdf216c9ef0bd2322cd223eeaf0d60f77f 10-Apr-2012 Jeff Brown <jeffbrown@google.com> Request key maps from input manager service.

Instead of each application loading the KeyCharacterMap from
the file system, get them from the input manager service as
part of the InputDevice object.

Refactored InputManager to be a proper singleton instead of
having a bunch of static methods.

InputManager now maintains a cache of all InputDevice objects
that it has loaded. Currently we never invalidate the cache
which can cause InputDevice to return stale motion ranges if
the device is reconfigured. This will be fixed in a future change.

Added a fake InputDevice with ID -1 to represent the virtual keyboard.

Change-Id: If7a695839ad0972317a5aab89e9d1e42ace28eb7
c07fca3831baf4d812dd724f506b4ed23dcc39e0 13-Jan-2012 Stephen Smalley <sds@tycho.nsa.gov> Add JNI bindings for some of the libselinux interfaces.

Change-Id: Ifcc68cb06f9f56a04f3bc64dd9906a9436fabc88
4280c4a93ea17f2e9d3f651e49d8c13dc3fb92aa 16-Mar-2012 Jeff Brown <jeffbrown@google.com> If an application calls System.exit() terminate it immediately.

There is no graceful way to kill Android application processes.
They typically have many threads running doing various things
When System.exit() is called, those threads just keep going
while the cleanup actions run until the process finally.

Performing shutdown actions can easily cause more harm than good.
For example, closing the Binder driver's file descriptor may
cause other threads waiting on Binder to wake up and then crash
in nasty ways after receiving EBADF.

So when an Android application exits, skip the cleanup and just
call _exit() to end it all.

Bug: 6168809
Change-Id: I29790c064426a0bf7dae7cdf444eea3eef1d5275
16f5f5cc9d4c480fac3dc7f176f3f1edfbd256f4 16-Mar-2012 Jeff Brown <jeffbrown@google.com> Delete useless JNI methods.

Change-Id: Ie7c7638c79fc9c6a43f45604ad9a40ebc58b93c7
a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3 21-Feb-2012 Chet Haase <chet@google.com> Handle view properties at the native level

Basic functionality of handling View properties (transforms,
left/right/top/bottom, and alpha) at the native DisplayList level.
This logic is disabled for now (via compile-time flags in View.java and
DisplayListRenderer.h) as we continue work on it (there is no advantage
to the new approach until we optimize invalidation and rendering paths
to use the new code path).

Change-Id: I370c8d21fbd291be415f55515ab8dced6f6d51a3
481c1570dc5cdf58265b53f657801709dd05d1df 09-Mar-2012 Jeff Brown <jeffbrown@google.com> Add Java wrappers for new atrace functionality.

Instrument a few parts of the input dispatcher and the
view hierarchy.

Change-Id: I49285c9fb3502253baa1ffed60f521b8c24fccaf
d84e1ce0b535128f03416145554fb405f9fade3e 07-Mar-2012 Jeff Sharkey <jsharkey@android.com> Split Parcel JNI details away from Binder.

This is purely a refactoring, with no change to the underlying

Change-Id: I41b59f14e57d1cc144274a01f77658d99a1bfe02
b01e8bf57b7492b77e3445db51471edcbadda75e 30-Aug-2011 Mike Lockwood <lockwood@android.com> New Serial Manager API:

SerialManager: provides access to serial ports
SerialPort: for reading and writing data to and from serial ports

IO with both array based and direct ByteBuffers is supported.

Accessing serial ports requires android.permission.SERIAL_PORT permission

Each platform must configure list of supported serial ports in the
config_serialPorts resource overlay
(this is needed to prevent apps from accidentally accessing the bluetooth
or other system UARTs).

In addition, the platform uevent.rc file must set the owner to the
/dev/tty* files to "system" so the framework can access the port.

Signed-off-by: Mike Lockwood <lockwood@android.com>
c6aacce37191e1cc79cfeba13b39899f59c68c3b 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)

Change-Id: I1de629b4632a4b3187ca1a28d6416daccd35f924
a51f0e707f1f3142358aa919ea60ad2842803139 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)

Change-Id: I8fbdfa7a7581f481968dbb65aa40f7042936d7cb
933e85615059b85a87747da57288384541cc56da 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)

Change-Id: I26f76452ac49e2890b14d133c065493d8df0fb4a
1afd5bab4e0eaba8b5bc2ab5c7b556cd602cf2e7 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)

Change-Id: I44f267700356967dc51e8f85ebf457dc85cfb229
06ade6ae1bd015e8b8ad0685847911213c93cc5b 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)

Change-Id: I5321ebd12e9c6248a108529e82c4e1af2a4405e3
e5360fbf3efe85427f7e7f59afe7bbeddb4949ac 01-Nov-2011 Jeff Brown <jeffbrown@google.com> Rewrite SQLite database wrappers.

The main theme of this change is encapsulation. This change
preserves all existing functionality but the implementation
is now much cleaner.

Instead of a "database lock", access to the database is treated
as a resource acquisition problem. If a thread's owns a database
connection, then it can access the database; otherwise, it must
acquire a database connection first, and potentially wait for other
threads to give up theirs. The SQLiteConnectionPool encapsulates
the details of how connections are created, configured, acquired,
released and disposed.

One new feature is that SQLiteConnectionPool can make scheduling
decisions about which thread should next acquire a database
connection when there is contention among threads. The factors
considered include wait queue ordering (fairness among peers),
whether the connection is needed for an interactive operation
(unfairness on behalf of the UI), and whether the primary connection
is needed or if any old connection will do. Thus one goal of the
new SQLiteConnectionPool is to improve the utilization of
database connections.

To emulate some quirks of the old "database lock," we introduce
the concept of the primary database connection. The primary
database connection is the one that is typically used to perform
write operations to the database. When a thread holds the primary
database connection, it effectively prevents other threads from
modifying the database (although they can still read). What's
more, those threads will block when they try to acquire the primary
connection, which provides the same kind of mutual exclusion
features that the old "database lock" had. (In truth, we
probably don't need to be requiring use of the primary database
connection in as many places as we do now, but we can seek to refine
that behavior in future patches.)

Another significant change is that native sqlite3_stmt objects
(prepared statements) are fully encapsulated by the SQLiteConnection
object that owns them. This ensures that the connection can
finalize (destroy) all extant statements that belong to a database
connection when the connection is closed. (In the original code,
this was very complicated because the sqlite3_stmt objects were
managed by SQLiteCompiledSql objects which had different lifetime
from the original SQLiteDatabase that created them. Worse, the
SQLiteCompiledSql finalizer method couldn't actually destroy the
sqlite3_stmt objects because it ran on the finalizer thread and
therefore could not guarantee that it could acquire the database
lock in order to do the work. This resulted in some rather
tortured logic involving a list of pending finalizable statements
and a high change of deadlocks or leaks.)

Because sqlite3_stmt objects never escape the confines of the
SQLiteConnection that owns them, we can also greatly simplify
the design of the SQLiteProgram, SQLiteQuery and SQLiteStatement
objects. They no longer have to wrangle a native sqlite3_stmt
object pointer and manage its lifecycle. So now all they do
is hold bind arguments and provide a fancy API.

All of the JNI glue related to managing database connections
and performing transactions is now bound to SQLiteConnection
(rather than being scattered everywhere). This makes sense because
SQLiteConnection owns the native sqlite3 object, so it is the
only class in the system that can interact with the native
SQLite database directly. Encapsulation for the win.

One particularly tricky part of this change is managing the
ownership of SQLiteConnection objects. At any given time,
a SQLiteConnection is either owned by a SQLiteConnectionPool
or by a SQLiteSession. SQLiteConnections should never be leaked,
but we handle that case too (and yell about it with CloseGuard).

A SQLiteSession object is responsible for acquiring and releasing
a SQLiteConnection object on behalf of a single thread as needed.
For example, the session acquires a connection when a transaction
begins and releases it when finished. If the session cannot
acquire a connection immediately, then the requested operation
blocks until a connection becomes available.

SQLiteSessions are thread-local. A SQLiteDatabase assigns a
distinct session to each thread that performs database operations.
This is very very important. First, it prevents two threads
from trying to use the same SQLiteConnection at the same time
(because two threads can't share the same session).
Second, it prevents a single thread from trying to acquire two
SQLiteConnections simultaneously from the same database (because
a single thread can't have two sessions for the same database which,
in addition to being greedy, could result in a deadlock).

There is strict layering between the various database objects,
objects at lower layers are not aware of objects at higher layers.
Moreover, objects at higher layers generally own objects at lower
layers and are responsible for ensuring they are properly disposed
when no longer needed (good for the environment).

API layer: SQLiteDatabase, SQLiteProgram, SQLiteQuery, SQLiteStatement.
Session layer: SQLiteSession.
Connection layer: SQLiteConnectionPool, SQLiteConnection.
Native layer: JNI glue.

By avoiding cyclic dependencies between layers, we make the
architecture much more intelligible, maintainable and robust.

Finally, this change adds a great deal of new debugging information.
It is now possible to view a list of the most recent database
operations including how long they took to run using
"adb shell dumpsys dbinfo". (Because most of the interesting
work happens in SQLiteConnection, it is easy to add debugging
instrumentation to track all database operations in one place.)

Change-Id: Iffb4ce72d8bcf20b4e087d911da6aa84d2f15297
3762c311729fe9f3af085c14c5c1fb471d994c03 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
8564c8da817a845353d213acd8636b76f567b234 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
6215d3ff4b5dfa52a5d8b9a42e343051f31066a5 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
5baa3a62a97544669fba6d65a11c07f252e654dd 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
a356bf1cd81614a94ef6c720998792480ade4c84 14-Dec-2011 Nick Pelly <npelly@google.com> Rewrite NDEF parsing in Java, clean-up API.

o Lots of documentation fixes.
o Add NdefMessage(NdefRecord ... records) ctor
o Add NdefRecord.createMime()
o Add NdefRecord.createExternal()
o Add toString(), equals() and hashCode() implementations
o Deprecate NdefRecord(byte[]) and NdefRecord.toByteArray()
o Remove framework dependency on libnfc_ndef.so
o Remove NfcAdapter.getDefaultAdapter(), its been deprecated a while

next step:
o Attempt to move NdefMessage -> Intent conversion into NDEF, and
make it CTS tested. This will ensure consistent NDEF -> Intent
mapping across all Android devices.

Change-Id: Ifed4910caa9a1d6bad32dbf0a507ab22bca35e22
0a0a1248cfc03940174cbd9af677bafd7280a3bc 02-Dec-2011 Jeff Brown <jeffbrown@google.com> Add a new class to receive vsync events.

Change-Id: I4e384336d2813752a6d65fda6a77e86113a4510c
32cbc3855c2a971aa5a801fd339fb6a37db91a1a 01-Dec-2011 Jeff Brown <jeffbrown@google.com> Refactor InputQueue as InputEventReceiver.

This change simplifies the code associated with receiving input
events from input channels and makes it more robust. It also
does a better job of ensuring that input events are properly
recycled (sometimes we dropped them on the floor).

This change also adds a sequence number to all events, which is
handy for determining whether we are looking at the same event or a
new one, particularly when events are recycled.

Change-Id: I4ebd88f73b5f77f3e150778cd550e7f91956aac2
07c0fe4c4fdb13d8e743c80394eddd292631f735 11-Nov-2011 Romain Guy <romainguy@google.com> am f1062114: am a3cc20ff: Merge "Initialize egl_cache with an app writeable file" into ics-mr1

* commit 'f1062114874f1cf46de479031d9ad3ad3cae1131':
Initialize egl_cache with an app writeable file
a95826582773a194ed7fb66bc29c9b82fe9bb8d1 10-Nov-2011 Romain Guy <romainguy@google.com> Initialize egl_cache with an app writeable file

Change-Id: I5dda234feab0fedd6e4179a80715ae20dee1c833
71f2cf116aab893e224056c38ab146bd1538dd3e 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
98a4f7e7e12effb78b3d1035e5a670ccbbf5bca1 03-Sep-2011 JP Abgrall <jpa@google.com> NetworkManagement SocketTagger: Migrate QTagUid support to JNI.

* Instead of javaland trying to write commands to
use the libcutils/qtaguid.c support via JNI.
* Get rid of tagToKernel() handled by qtaguid library.

Requires libcutils changes from c/132538/

Change-Id: I9de5b3fa4a596c56835024c6d376769a0eea7db1
1ee60119c4fa51ebfa781cf5fdc33f192e8551b8 26-Jul-2011 Ted Bonkenburg <tedbo@google.com> Remove ParcelSurfaceTexture and update MediaPlayer

This removes the ParcelSurfaceTexture class since that functionality has been
folded into Surface.java. The change also updates the MediaPlayer to get rid
of setParcelSurfaceTexture() and modifies setTexture() to use the new Surface
functionality in order to simplify the code.

Change-Id: Iafa75ea3188263928128325d8a726786971b4de4
66269ea6f68f2f25888ce1080c94ac782742fafc 12-Jul-2011 Kenny Root <kroot@google.com> Move extract native libraries to JNI code

The built-in ZipFile class was quite a long time to find an unpack
libraries. Move everything to using the libutils ZipFileRO class that
goes quite a bit faster. Initial measurements are 6 times faster than
the Java code.

Also, read files off the disk and compare their CRC against the APK's
CRC to see if we need to write the new file to disk. This also cuts down
the bootup time by up to a second per APK that has native files.

Change-Id: Ic464a7969a17368fb6a6b81d026888c4136c7603
f9cf814440dad21dd1ef92bb4b93d1a6a4e6442c 18-Jul-2011 Elliott Hughes <enh@google.com> Stop attempting to call the removed -Xdeadlockpredict option.

Bug: 5038293
Change-Id: If834f07355c110eb02cc8a96e25b432c508462cd
f85ad937553d4476e3362dcf017dbc4a4919c946 16-Jul-2011 Romain Guy <romainguy@google.com> Don't break the build...

Change-Id: I9c77f3d22eb412dc92703167100d72496aefac9c
dafbf247ee4d0c14d501a23612115ab3a1306288 16-Jul-2011 Romain Guy <romainguy@google.com> Remove unused code

Change-Id: I7f7fc6bac03c92087037fc56b78fc43a1e93dae5
c1b9bbb21c8ad5109978a4e9e770cd18b0257434 13-Jul-2011 Mike Lockwood <lockwood@android.com> Remove some #ifdef HAVE_ANDROID_OS that were needed for the simulator build

Change-Id: I13d9f251f86c05ae5405f37adbf6b8e9660935ba
Signed-off-by: Mike Lockwood <lockwood@android.com>
84e297238f53f83c9e7de499e711b997d09514e0 27-Jun-2011 Andy McFadden <fadden@android.com> Remove native EventRecurrence parser

Switch over to the new parser.

Bug 4575374

Change-Id: If78d8042fb266182900398f7fc464a048c779966
4532c5e49cc0d029c53a3aee3e0b1fdf8ffd2ec4 10-Jun-2011 Jamie Gennis <jgennis@google.com> Merge "Add ParcelSurfaceTexture Java class to enable ISurfaceTexture sharing via Binder."
050316184b01c0d1a01c46afae7429b89a27c31b 07-Jun-2011 tedbo <tedbo@google.com> Add ParcelSurfaceTexture Java class to enable ISurfaceTexture sharing via Binder.

This adds a new ParcelSurfaceTexture.java class that can be instantiated with
a SurfaceTexture and used to send the corresponding ISurfaceTexture interface
to another process via Binder. The ParcelSurfaceTexture java object can then
be used to create an ANativeWindow based on the SurfaceTextureClient interface.

Change-Id: Ie38ea948b866e52f36a6d0f6cde19b54a8546817
66e9af6c549b1f6ab4e3f26e2bab14b115ad3848 08-Jun-2011 Romain Guy <romainguy@google.com> Remove obsolete code.

Change-Id: I2f990528bdc0dc6127f367e55c55287d43dd29f9
ebed7d6e35f7f960e6e6add2b8ab7c7a31a511c3 17-May-2011 Jeff Brown <jeffbrown@google.com> Support wrapping app processes to inject debug instrumentation.
Bug: 4437846

Change-Id: I4552501c693716b14714afb5c5248edaca9547ab
4a627c71ff53a4fca1f961f4b1dcc0461df18a06 01-Apr-2011 Christopher Tate <ctate@google.com> Full local backup infrastructure

This is the basic infrastructure for pulling a full(*) backup of the
device's data over an adb(**) connection to the local device. The
basic process consists of these interacting pieces:

1. The framework's BackupManagerService, which coordinates the
collection of app data and routing to the destination.

2. A new framework-provided BackupAgent implementation called
FullBackupAgent, which is instantiated in the target applications'
processes in turn, and knows how to emit a datastream that contains
all of the app's saved data files.

3. A new shell-level program called "bu" that is used to bridge from
adb to the framework's Backup Manager.

4. adb itself, which now knows how to use 'bu' to kick off a backup
operation and pull the resulting data stream to the desktop host.

5. A system-provided application that verifies with the user that
an attempted backup/restore operation is in fact expected and to
be allowed.

The full agent implementation is not used during normal operation of
the delta-based app-customized remote backup process. Instead it's
used during user-confirmed *full* backup of applications and all their
data to a local destination, e.g. via the adb connection.

The output format is 'tar'. This makes it very easy for the end
user to examine the resulting dataset, e.g. for purpose of extracting
files for debug purposes; as well as making it easy to contemplate
adding things like a direct gzip stage to the data pipeline during
backup/restore. It also makes it convenient to construct and maintain
synthetic backup datasets for testing purposes.

Within the tar format, certain artificial conventions are used.
All files are stored within top-level directories according to
their semantic origin:

apps/pkgname/a/ : Application .apk file itself
apps/pkgname/obb/: The application's associated .obb containers
apps/pkgname/f/ : The subtree rooted at the getFilesDir() location
apps/pkgname/db/ : The subtree rooted at the getDatabasePath() parent
apps/pkgname/sp/ : The subtree rooted at the getSharedPrefsFile() parent
apps/pkgname/r/ : Files stored relative to the root of the app's file tree
apps/pkgname/c/ : Reserved for the app's getCacheDir() tree; not stored.

For each package, the first entry in the tar stream is a file called
"_manifest", nominally rooted at apps/pkgname. This file contains some
metadata about the package whose data is stored in the archive.

The contents of shared storage can optionally be included in the tar
stream. It is placed in the synthetic location:


uid/gid are ignored; app uids are assigned at install time, and the
app's data is handled from within its own execution environment, so
will automatically have the app's correct uid.

Forward-locked .apk files are never backed up. System-partition
.apk files are not backed up unless they have been overridden by a
post-factory upgrade, in which case the current .apk *is* backed up --
i.e. the .apk that matches the on-disk data. The manifest preceding
each application's portion of the tar stream provides version numbers
and signature blocks for version checking, as well as an indication
of whether the restore logic should expect to install the .apk before
extracting the data.

System packages can designate their own full backup agents. This is
to manage things like the settings provider which (a) cannot be shut
down on the fly in order to do a clean snapshot of their file trees,
and (b) manage data that is not only irrelevant but actively hostile
to non-identical devices -- CDMA telephony settings would seriously
mess up a GSM device if emplaced there blind, for example.

When a full backup or restore is initiated from adb, the system will
present a confirmation UI that the user must explicitly respond to
within a short [~ 30 seconds] timeout. This is to avoid the
possibility of malicious desktop-side software secretly grabbing a copy
of all the user's data for nefarious purposes.

(*) The backup is not strictly a full mirror. In particular, the
settings database is not cloned; it is handled the same way that
it is in cloud backup/restore. This is because some settings
are actively destructive if cloned onto a different (or
especially a different-model) device: telephony settings and
AndroidID are good examples of this.

(**) On the framework side it doesn't care that it's adb; it just
sends the tar stream to a file descriptor. This can easily be
retargeted around whatever transport we might decide to use
in the future.


* the security UI is desperately ugly; no proper designs have yet
been done for it
* restore is not yet implemented
* shared storage backup is not yet implemented
* symlinks aren't yet handled, though some infrastructure for
dealing with them has been put in place.

Change-Id: Ia8347611e23b398af36ea22c36dff0a276b1ce91
c6cc0f8c19d9eccf408a443fa2bf668af261dcd0 12-Apr-2011 Joe Onorato <joeo@google.com> Rename ViewRoot to ViewAncestor.

ViewRoot is about to be a new public class for poking at ViewAncestor.

Change-Id: Ie95d707c6d8bbb48f78d093d7b2667851812a7d5
8f0095cd33558e9cc8a440047908e53b68906f5f 03-May-2011 Romain Guy <romainguy@google.com> Allows to render with an OpenGL context inside a TextureView.

Change-Id: I59453f7fc3997f0502a1c5d325d37fed376fabc7
2352b978a3c94cd88f41d0d908f961333fdac1e9 13-Apr-2011 Jeff Brown <jeffbrown@google.com> Initial checkin of spot presentation for touchpad gestures.

Added a new PointerIcon API (hidden for now) for loading
pointer icons.

Fixed a starvation problem in the native Looper's sendMessage
implementation which caused new messages to be posted ahead
of old messages sent with sendMessageDelayed.

Redesigned the touch pad gestures to be defined in terms of
more fluid finger / spot movements. The objective is to reinforce
the natural mapping between fingers and spots which means there
must not be any discontinuities in spot motion relative to
the fingers.

Removed the SpotController stub and folded its responsibilities
into PointerController.

Change-Id: I5126b1e69d95252fda7f2a684c9287e239a57163
d195e5ab401432ddac659791640a2927fc668699 14-Apr-2011 Elliott Hughes <enh@google.com> Replace a custom AndroidRuntime::findClass with a more targeted fix.

This seems simpler and more contained, and I think the comment explaining
why hoop-jumping is necessary is a bit clearer now.

Change-Id: Ief4afd7cbb42188ed835fce23e497520bdb753a8
46703b099516c383a6882815bcf9cd4df0ec538d 07-Apr-2011 Brian Carlstrom <bdc@google.com> Tolerate missing AccountManager resource, not just missing resource name

In addition to the primary change in the subject, also some minor cleanup of javadoc, typos, CloseGuard warning, etc found while working on a new AbstractAccountAuthenticator.

Change-Id: I73f3408773a43a0021a15f8d051fd3dbbdf898a5
aedc2a8fcc2841063b3324e09234eff03044a324 03-Apr-2011 Brian Carlstrom <bdc@google.com> Merge "Tracking merge of dalvik-dev to master"
08065b9f09ead8895d97b2971622af8c179e1768 02-Apr-2011 Brian Carlstrom <bdc@google.com> Tracking merge of dalvik-dev to master

git cherry-pick --no-commit a80febd83c8bf0b6717da2a7136179bdc906a5b7

git cherry-pick --no-commit 5e642b41cf44c5da7afdd95ab3d5e2bdbf7b31dd

git cherry-pick --no-commit 4886db14c9eee4b6fee69bd54c57c5af04709c4c

git cherry-pick --no-commit 560c685e448769904047507b9484ce8111967d7e

git cherry-pick --no-commit 63dde7a2fcfa53dc531558635b64cea613d3cdb4

git cherry-pick --no-commit 74e5cb91060a379d98dd3a333b5f231bfb4f502e

git cherry-pick --no-commit 1cc8c9708b555e2e338b7798d38887a2fefcfea6

git cherry-pick --no-commit 09625a21f5abe0c0db15757f58585d552d62c3d7

git cherry-pick --no-commit fcb02dfe0f5a2bb7c07e6d6fc69f756a484b5458

git cherry-pick --no-commit a68cb7fa3ab42854768b8145ff85231663770292

git cherry-pick --no-commit 716beb1c131dd2c6b805d4f681debaa20075010c

git cherry-pick --no-commit 8c29b1097a7afe3a77e27546a56e396f3620a4ec

git cherry-pick --no-commit 9c6a1a55d1c8086c1cc57464eea43725694ff70c

git cherry-pick --no-commit b14f5ea5c57acdd009ba5b51f1bbe430f3d353b8

Change-Id: I8cc94175441b009e23549762d6baee1dbace4881
9c1e23baf5bfbebd1aebbd6d9a18c225325567ce 24-Mar-2011 Chet Haase <chet@google.com> Add logging of graphics acceleration info to bugreports

Change-Id: I9fa4cda6ccf92df9d1c644ccdc0e7274a30106e0
2ed2462aa29c564f5231f317c27b3188da875e52 15-Mar-2011 Jeff Brown <jeffbrown@google.com> Improve VelocityTracker numerical stability.

Replaced VelocityTracker with a faster and more accurate
native implementation. This avoids the duplicate maintenance
overhead of having two implementations.

The new algorithm requires that the sample duration be at least
10ms in order to contribute to the velocity calculation. This
ensures that the velocity is not severely overestimated when
samples arrive in bursts.

The new algorithm computes the exponentially weighted moving
average using weights based on the relative duration of successive
sample periods.

The new algorithm is also more careful about how it handles
individual pointers going down or up and their effects on the
collected movement traces. The intent is to preserve the last
known velocity of pointers as they go up while also ensuring
that other motion samples do not count twice in that case.

Bug: 4086785
Change-Id: I2632321232c64d6b8faacdb929e33f60e64dcdd3
acc29cc91be634070c92a807df412ced97b9b375 11-Mar-2011 Mike Lockwood <lockwood@android.com> UsbDevice: Move IO related methods to new UsbDeviceConnection class

UsbDevice is now just an immutable parcelable object like UsbInterface and
All IO related functionality is now contained in UsbDeviceConnection
and UsbRequest.

Bug: 4067029

Change-Id: Ia84da0b512a697acc940eee0c3566711c62e1a68
Signed-off-by: Mike Lockwood <lockwood@android.com>
929a1c219248b62778807cac8ea256c7ac0fda6a 02-Feb-2011 Brian Carlstrom <bdc@google.com> Removing android.security.MessageDigest

Bug: 3392028
Change-Id: I6b9732da17d086ba00c846c3ad1c7fb39baf9502
e7d511e148bc901ef41ac44d7b3593e5d803f72f 30-Dec-2010 Mike Lockwood <lockwood@android.com> New APIs for USB host support:

- is now a service retrievable via Context.getSystemService(Context.USB_SERVICE).
- provides support for returning a list all connected USB devices
are added and removed from the USB host bus

- represents an attached USB device.

- represents an interface on a USB device
- devices may have multiple interfaces if they provide multiple
sets of functionality (for example, android phones typically have interfaces
for both USB mass storage and adb)

- represents an endpoint on a USB interface
- endpoints are used for sending or receiving data
(only in one or the other direction)

- encapsulates a send or receive request to be sent over an endpoint

Change-Id: Ieef3e434c62760770ea839070cf5eba1a705967a
Signed-off-by: Mike Lockwood <lockwood@android.com>
8cdf27c36a5b697396144925b3f61e4802dd3558 19-Jan-2011 Carl Shapiro <cshapiro@google.com> Add a property for specifying a dalvik heap growth limit.

Change-Id: I7334fb720277888df836414834ecf1e8d6b4b579
fbf097732137a32930d151f7ba6816a5b870c32a 16-Jan-2011 Jeff Brown <jeffbrown@google.com> Support non-rectangular input regions.

This enables the system bar to carve out a region through which
events will be sent to the IME behind it.

Bug: 3238092
Change-Id: I69b855a8d9b5b3ee525266c0861826e53e5b5028
aa0ce3396c096c97e3394c53e3912cb08b66fe20 07-Jan-2011 Jamie Gennis <jgennis@google.com> Add SurfaceTexture JNI registration.

Change-Id: I5441600b334e11e6ef88eb96ebb010df75080ad6
264f6cd0b9215f75dd5917252abea98e8fce6222 06-Jan-2011 Mike Lockwood <lockwood@android.com> Temporarily remove UsbManager support for USB host.

A new USB host API will be added in an upcoming commit

Change-Id: I5816c10c7acd236d31ab8ae255fc83c77121eea0
Signed-off-by: Mike Lockwood <lockwood@android.com>
d07c9d5d920c261ef10efc825ee5225e83ad1c5b 29-Dec-2010 Mike Lockwood <lockwood@android.com> UsbManager: Add methods to convert between USB device names and IDs

Change-Id: I199a47805b629cc7b1714191d6af2fd70c2bda6d
Signed-off-by: Mike Lockwood <lockwood@android.com>
0bd5243b751c9cad317758158f79b3347e7948af 14-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> Framework-side support for Dalvik "isSensitiveThread" hook.

Used in lock contention stats.

Bug: 3226270
Change-Id: Ie6f58d130a29079a59bdefad40b80304d9bc3623
9e4c884e7a7acd6b75399b180dc339295cda5a43 08-Dec-2010 Carl Shapiro <cshapiro@google.com> Add a comment regarding the sizing of the Dalvik heap.

Change-Id: I07a3267531580f034e78b5316162bfb553f1f819
ca7e1ed81ce44090aac17c9599578b1c23db7863 08-Dec-2010 Carl Shapiro <cshapiro@google.com> Remove stale code and unneeded '\n' chars from findClass.

Change-Id: I496d56105a0889eb0a8c492985f8a324a200edc6
38cfa8ca8bc67f4342431cea7e35643ddf9254cc 08-Dec-2010 Carl Shapiro <cshapiro@google.com> Add a property to set the starting size of a VM.

Change-Id: I3c981417baadfef64990fd90b4a275ed706a0b5b
a8079bfb9a738a7f24f103cd640e5317c4fd2510 16-Nov-2010 Andreas Huber <andih@google.com> Apparently SystemProperties jni native support must now be registered before Binder's.

Change-Id: Ia7197f41052c4d47dbecec400a7c789317f743a0
6e0ecb4eed5cd2e1f15766d7028467129974a12d 04-Nov-2010 Chet Haase <chet@google.com> Adding JNI methods as a faster reflection mechanism

This approach is only for the common cases of void-return,
single-argument float/int methods.

Change-Id: Ifb31535a6f717b85417eced93c579be6e461e039
cd0e839a2448deea50f79bddeba782c546b33893 14-Oct-2010 Nick Pelly <npelly@google.com> NFC: Move NFC service implementation out of system_server.

NFC service is now an application service in packages/apps/Nfc.

NFC service is registered through ServiceManager.addService(), and the proxy
object NfcAdapter obtains a handle to it through ServiceManager.getService().

**Important** Had to add new symbols AID_NFC / NFC_UID / android.uid.nfc and
modify service_manager.c, Process.java and PackageManagerService.java in order
to force the com.android.nfc process to take a fixed uid, so that it can use

Most of the JNI has moved to packages/apps/Nfc/jni. However NdefRecord and
NdefMessage require some in-process native code, so android_com_NdefMessage.cpp
and android_com_NdefRecord.cpp stay in frameworks/base/core/jni. They link to
a very small library libnfc_ndef.so that implements NDEF message parsing. This
has been added to core.mk so all devices (even without NFC hardware) can work
with NDEF data.

Bug: 3041259
Bug: 3097445
Change-Id: If7f00cd8f2053acfc9319ca366d4a9c02bd396e6
Signed-off-by: Nick Pelly <npelly@google.com>
4715bd91f5949a1919156a5a5cb50f0cccda645e 29-Sep-2010 Nick Pelly <npelly@google.com> resolved conflicts for merge of f4c3b7e9 to master

Change-Id: Idcdc521144f3072058b2bb6cb383e42c852e64f4
038cabe0247ee46df62f9363f1a303bc5b9c1028 24-Sep-2010 Nick Pelly <npelly@google.com> NFC integration

Source: Trusted_NFC_Device_Host_AA03.01e02_google.zip code drop (23-Sep-2010)



Change-Id: I62c92f4c79f5ee65126c97602f6bc1c15794e573
Signed-off-by: Nick Pelly <npelly@google.com>
a23cdda0a5fad7798454ecb05a7855cb9211ea22 23-Sep-2010 Wei-Ta Chen <weita@google.com> am ac487f70: am 6b849e21: Unhide BitmapRegionDecoder.

Merge commit 'ac487f708f7b58dbd4f3021b520c6ed5975daebe'

* commit 'ac487f708f7b58dbd4f3021b520c6ed5975daebe':
Unhide BitmapRegionDecoder.
6b849e2123be98eb2a1a25b8abf0b13a279ce952 07-Sep-2010 Wei-Ta Chen <weita@google.com> Unhide BitmapRegionDecoder.

1. Rename LargeBitmap to BitmapRegionDecoder
2. Move the instantiations of BitmapRegionDecoder out of BitmapFactory.
3. Remove the use of MemoryFile in BitmapRegionDecoder, since MemoryFile's API had been modified in master. Otherwise, the change will break the master build.
4. Move AssetStreamAdaptor, AutoFDSeek and nullObjectReturn to Utils.h because BitmapFactory.cpp and BitmapRegionDecoder.cpp both need to use these utility functions.

Most of the modifications, except for (2) and (3), were reviewed in https://android-git.corp.google.com/g/#change,64716 .
However, that change broke the master build due to (3) and was reverted eventually.
So, instead of withdrawing this change and waiting for that change to be checked in again, I merge the two changes into one.

Change-Id: I2202c0fbbbd6d6676bbd9637e690023ea4099c40
3bf23a7b9f59e0ae38b728461f5f755b0be6883c 17-Sep-2010 Carl Shapiro <cshapiro@google.com> am b0abf3ea: am 4b164c1b: Kill off the remaining GC-specific system properties.

Merge commit 'b0abf3ea47b74296fd790843e789cfd101f58a00'

* commit 'b0abf3ea47b74296fd790843e789cfd101f58a00':
Kill off the remaining GC-specific system properties.
4b164c1bf3592d4d83d93a5de58bb09676f1462c 17-Sep-2010 Carl Shapiro <cshapiro@google.com> Kill off the remaining GC-specific system properties.

Change-Id: Ib09ef132c6fb99b9eb22ecfd75a910c9c0f01e25
7b29804ba2b0db1a627b680b3fe2c5036139513b 08-Sep-2010 Wei-Ta Chen <weita@google.com> am 8fc6f8b2: am 1b214be9: Merge "Revert "Rename LargeBitmap to BitmapRegionDecoder for having a better API."" into gingerbread

Merge commit '8fc6f8b2152564cab6ede025644f9bc3ee61ce16'

* commit '8fc6f8b2152564cab6ede025644f9bc3ee61ce16':
Revert "Rename LargeBitmap to BitmapRegionDecoder for having a better API."
340ce75b446f6a6afc12b0582be3fc34ac3a5364 08-Sep-2010 Wei-Ta Chen <weita@google.com> Revert "Rename LargeBitmap to BitmapRegionDecoder for having a better API."

This reverts commit 50ba3d2c09a9131f3578d271adf2bc8258ca1742.
50cb7dc458e65b75fb69a3a3fed972e7ed913703 08-Sep-2010 Wei-Ta Chen <weita@google.com> am a295a390: am b356f8ac: Merge "Rename LargeBitmap to BitmapRegionDecoder for having a better API." into gingerbread

Merge commit 'a295a3908befeb9dd30203c612d95411d68492ed'

* commit 'a295a3908befeb9dd30203c612d95411d68492ed':
Rename LargeBitmap to BitmapRegionDecoder for having a better API.
50ba3d2c09a9131f3578d271adf2bc8258ca1742 07-Sep-2010 Wei-Ta Chen <weita@google.com> Rename LargeBitmap to BitmapRegionDecoder for having a better API.

Move AssetStreamAdaptor, AutoFDSeek and nullObjectReturn to Utils.h because
BitmapFactory.cpp and BitmapRegionDecoder.cpp both need to use these utility functions.

Change-Id: I3e60c7fe4abd0289e1384e69a08fd20fe6fb0e10
949498de6630c22ee15821bd07ac816b9fe79702 02-Sep-2010 Dianne Hackborn <hackbod@google.com> am 14d56840: am bc5ec2f9: Merge "Improve messages when java process is starting." into gingerbread

Merge commit '14d56840eeec537c037bebaeaebf1b37f48d8dad'

* commit '14d56840eeec537c037bebaeaebf1b37f48d8dad':
Improve messages when java process is starting.
08e60f2a165d23b53f41993374aa074165bb5863 02-Sep-2010 Dianne Hackborn <hackbod@google.com> Improve messages when java process is starting.

Change-Id: I33e401eb240a454845987c10d44e3520e419721b
78448edcdddaff98cf738a4ae9663917d0397951 25-Aug-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of 50d35946 to master

Change-Id: Ia8c3312d626952c378fc4e7fec1d46119e2ccf42
171ea89fb99385146e159ef75849a87c49ffee76 25-Aug-2010 Brian Carlstrom <bdc@google.com> Update AndroidRuntime with dalvik-dev changes

This change is the result of three cherry-picks:

- Add dalvik.vm.gc.preverify dalvik.vm.gc.postverify properties.
git cherry-pick --no-commit 0ef82fcf

- Add the property dalvik.vm.gc.verifycardtable to set the -Xgc:-Xgc:verifycardtable option for the vm.
git cherry-pick --no-commit 8b4faf54

- Eliminate short JIT debugging properties
git cherry-pick --no-commit 57a673fc3db9d84908467ae6d245fd60d4637b2f

Change-Id: I5f8002ed1e431344570add02f58e2641c8fae549
1b10d3d23512f9f9a091e1f4c27bb3dc47806f6c 17-Aug-2010 Joseph Wen <josephwen@google.com> am 81dcea60: am f1f48bc7: Do JPEG tile-based decoding.

Merge commit '81dcea6093dfcdadd52982505249a5eacf47a81b'

* commit '81dcea6093dfcdadd52982505249a5eacf47a81b':
Do JPEG tile-based decoding.
f1f48bc7f200f54c76b22d845d8ba8419879b375 19-Jul-2010 Joseph Wen <josephwen@google.com> Do JPEG tile-based decoding.

Change-Id: I5c1b4ac3c02eb4350ef0ba9a7877b22cfd730cfb
7b6d0d99b6904b511996267efae215fe9cb5e98f 11-Aug-2010 Dianne Hackborn <hackbod@google.com> am 679ac09a: am a5ae50cd: Merge "More native work." into gingerbread

Merge commit '679ac09a5c22175354f3a04b28456b323839530e'

* commit '679ac09a5c22175354f3a04b28456b323839530e':
More native work.
08d5b8fad8d46ccb64db2fdcb4d66972ec87bf48 04-Aug-2010 Dianne Hackborn <hackbod@google.com> More native work.

Implement save/restore of state, and add native APIs for
configuration information.

Change-Id: I2a3ddc2ba605db58d7c8b2b31b9215fb323f90b5
163935113919a184122b8b3bd672ef08c8df65dc 08-Aug-2010 Romain Guy <romainguy@android.com> Make libhwui entirely optional.

The makefile variable USE_OPENGL_RENDERER must be set to true to compile
libhwui and the related code in the JNI layer.

This change also removes obsolete APIs from Canvas that must not be used
and would be confusing if left in. These APIs were remnants of our first
attempt at an OpenGL renderer for the view hierarchy and had not been
taken out before Android 1.0 was released.

Change-Id: I2475ff1307212bab26c926724f3c508681c7dae1
a8bc19901c4a48ad821f6bdd94ebbf7d145d573d 06-Aug-2010 Carl Shapiro <cshapiro@google.com> Remove overwritefree property. The underlying flag no longer exists.

Change-Id: Iecd1710887a7b16536cdbd52846952cc72cc0727
3c7c351a6217ac48b741740167c201a679a0ca65 05-Aug-2010 Brian Carlstrom <bdc@google.com> Tracking merge of dalvik-dev to gingerbread

git cherry-pick --no-commit f77cf7f0
git cherry-pick --no-commit c8f503b5285e30c1a881d0ba860ba9021f57d113
git cherry-pick --no-commit 570bb561
git cherry-pick --no-commit e2417541
git cherry-pick --no-commit e4d81f25bd4dc1a5c909b56ab56a56406290da30
git cherry-pick --no-commit 5e8a587d

Change-Id: I101a385d43f3e0f4ce5352217f92ef67a3908c88
e4d81f25bd4dc1a5c909b56ab56a56406290da30 15-Jul-2010 Andy McFadden <fadden@android.com> Add support for dalvik.vm.extra-opts property.

The goal here is to avoid the dalvik.vm.* property explosion by
having a single property that takes an arbitrary collection of Dalvik
command-line options. This is intended for testing of various
configurations by the Dalvik team, not industrial use.

Options should be separated by spaces, e.g.

adb shell setprop dalvik.vm.extra-opts "-showversion -Xmx4m"

will print the version banner and set the heap max to 4MB, which won't
get you very far.

The extra-opts options will appear last, which allows them to override
values set earlier (like the heap max).

Bug 2838629.

(cherry-pick from dalvik-dev branch)

Change-Id: Ibcbb1b62367cf2152798583e8722ef7e461ad19a
c242a5aa93466e7879036ff21652cf7040c932ea 20-Jul-2010 Danica Chang <danicachang@google.com> delete ScoSocket

Change-Id: Ib941ca2d817e0a788638a5e72f1eb2e1fc4739e9
fb4e1e24a93c7e6bc0fcdb3f5cfadfbc19503cd8 16-Jul-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of 181bb0ab to master

Change-Id: I2284e7c671d127da0d124fbabae8d887727fd5bf
02c8730c1bf19daf48bec8c6995df676a00a73b1 01-Jul-2010 Kenny Root <kroot@google.com> Add API to call to vold for mounting OBBs

* Unhide StorageService class; hide all the USB-related items

* Add application-visible API to StorageManager for OBB files

* Add class for parceling OBB info across binders (ObbInfo)

* Add a JNI glue class to libutils/ObbFile (ObbScanner)

* Add API to MountService to deal with calling into vold and checking

Change-Id: I33ecf9606b8ff535f3a2ada83931da6bbef41cfd
81ea83d10883886013bc95eac2fe032acf1e7aa9 30-Jun-2010 Mike Lockwood <lockwood@android.com> Move MTP JNI code from libandroid_runtime to libmedia_jni

Signed-off-by: Mike Lockwood <lockwood@android.com>

Change-Id: I0c54bbe4e6146beba7d22e782e02ded420f50dbd
98ef64e4a89ced79094d4ff3dc0123c1989f9e10 29-Jun-2010 Mike Lockwood <lockwood@android.com> MTP: Add MtpServer Java class to wrap MTP device support.

Change-Id: I818c2d3b3f52ad5bb515acc4d3288b2b43e11908
Signed-off-by: Mike Lockwood <lockwood@android.com>
f40e4928b9d8e1da4166c76dbd3f86a6bd2d3f72 29-Jun-2010 Chris Tate <ctate@android.com> am 96725326: am 31e0ffe8: Merge "Native input event dispatching." into gingerbread

Merge commit '96725326149687168937cf62f75364cf9cc3e96b'

* commit '96725326149687168937cf62f75364cf9cc3e96b':
Native input event dispatching.
349703effce5acc53ed96f7ed8556131f0c65e18 22-Jun-2010 Jeff Brown <jeffbrown@google.com> Native input event dispatching.

Target identification is now fully native.
Fixed a couple of minor issues related to input injection.
Native input enabled by default, can be disabled by setting
WindowManagerPolicy.ENABLE_NATIVE_INPUT_DISPATCH to false.

Change-Id: I7edf66ed3e987cc9306ad4743ac57a116af452ff
b09448e0a84a57bd15ea556f8bef27964128032a 23-Jun-2010 Mike Lockwood <lockwood@android.com> am dae19d7c: am aaf39f84: Merge "GPS: remove GpsEventThread from GpsLocationProvider" into gingerbread

Merge commit 'dae19d7c00455e500cc9731071557ea91f162a7d'

* commit 'dae19d7c00455e500cc9731071557ea91f162a7d':
GPS: remove GpsEventThread from GpsLocationProvider
f602d362ba4bb3adbf1eb4e38a794fb14274293a 20-Jun-2010 Mike Lockwood <lockwood@android.com> GPS: remove GpsEventThread from GpsLocationProvider

Rather than polling for events from the native code in an event thread,
we now require the GPS HAL libraries to call our callbacks from a thread
that is registered with the JVM to call directly into Java.
This eliminates a thread from our code and removes one step in the chain
of message passing from the GPS to the Location Manager client.

Change-Id: I2745a157690310ba9a699a8369f54a7366c6b1ba
Signed-off-by: Mike Lockwood <lockwood@android.com>
e4d011201cea40d46cb2b2eef401db8fddc5c9c6 17-Jun-2010 Romain Guy <romainguy@google.com> Add libhwui, to hardware accelerate the Canvas API using OpenGL ES 2.0.

This is the initial checkin to setup the library and turn on OEGL ES 2.0
in ViewRoot, not a functional renderer.

Change-Id: I6655c54166e2967da2e21e7d6dcfba78bf113b44
8e03b7566c42621fda01186b66b019142eb84fbf 14-Jun-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 9e660c82 to master

Change-Id: Ic4bd85cbaa5b9a10dcb474a0dad46490bf967e43
46b9ac0ae2162309774a7478cd9d4e578747bfc2 23-Apr-2010 Jeff Brown <jeffbrown@google.com> Native input dispatch rewrite work in progress.

The old dispatch mechanism has been left in place and continues to
be used by default for now. To enable native input dispatch,
edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.

Includes part of the new input event NDK API. Some details TBD.

To wire up input dispatch, as the ViewRoot adds a window to the
window session it receives an InputChannel object as an output
argument. The InputChannel encapsulates the file descriptors for a
shared memory region and two pipe end-points. The ViewRoot then
provides the InputChannel to the InputQueue. Behind the
scenes, InputQueue simply attaches handlers to the native PollLoop object
that underlies the MessageQueue. This way MessageQueue doesn't need
to know anything about input dispatch per-se, it just exposes (in native
code) a PollLoop that other components can use to monitor file descriptor
state changes.

There can be zero or more targets for any given input event. Each
input target is specified by its input channel and some parameters
including flags, an X/Y coordinate offset, and the dispatch timeout.
An input target can request either synchronous dispatch (for foreground apps)
or asynchronous dispatch (fire-and-forget for wallpapers and "outside"
targets). Currently, finding the appropriate input targets for an event
requires a call back into the WindowManagerServer from native code.
In the future this will be refactored to avoid most of these callbacks
except as required to handle pending focus transitions.

End-to-end event dispatch mostly works!

To do: event injection, rate limiting, ANRs, testing, optimization, etc.

Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
c6133285820bba23778906cd417ceb9114e928dc 11-Jun-2010 Romain Guy <romainguy@google.com> Fix native crash when enabling hardware acceleration.

This change also prevents hardware acceleration when the ViewRoot is in the
system process. This causes problem in EGL intialization because of having
both a SurfaceControl and a Surface. This is not needed and better to leave
it off anyway (so that preview windows don't get unnecessary hw acceleration.)

Change-Id: I1cc55d7fb9a4c1a9c4c59f11f49d3e44de78acef
7c5ded5d367078a7686872159229c998b558fac3 06-Jun-2010 Christopher Tate <ctate@google.com> am 8207e2fd: am a8ebe8b3: am df2e2eff: Merge "Watchdog now records kernel stacks when it fires" into froyo
a8ebe8b3f5aea0d3f09a62d6d255f99c1f911f7b 06-Jun-2010 Christopher Tate <ctate@google.com> am df2e2eff: Merge "Watchdog now records kernel stacks when it fires" into froyo

Merge commit 'df2e2eff9446c0220515fa7aab7857135e04e12e' into kraken

* commit 'df2e2eff9446c0220515fa7aab7857135e04e12e':
Watchdog now records kernel stacks when it fires
ecaa7b41ca49154ceaa9a7504eb0a86b89a96026 04-Jun-2010 Christopher Tate <ctate@google.com> Watchdog now records kernel stacks when it fires

The kernel threads are appended to the usual /data/anr/traces.txt file
and dropboxed along with the usual Dalvik stack dumps.

Change-Id: I120f1f5ee54c965efe9ac0c7f40fdef56385f1fa
NOTE: this change depends on the kernel publishing /proc/$PID/stack
755fd617258d3f1731b2829d681cab680db0fdd5 26-May-2010 Mike Lockwood <lockwood@android.com> Prototype Content Provider support for MTP/PTP devices.

At this point much of the plumbing is in place, but only a few simple queries
are supported.
This is enough to support a proof of concept sample program that navigates
the file hierarchy of a digital camera connected via USB.

Also removed obsolete ptptest host test program.

Change-Id: I17644344b9f0ce1ecc302bc0478c1f3d44a1647f
Signed-off-by: Mike Lockwood <lockwood@android.com>
fa9e7c05c7be6891a6cf85a11dc635a6e6853078 06-May-2010 Christopher Tate <ctate@google.com> Sketch of Native input for MessageQueue / Looper / ViewRoot

MessageQueue now uses a socket for internal signalling, and is prepared
to also handle any number of event input pipes, once the plumbing is
set up with ViewRoot / Looper to tell it about them as appropriate.

Change-Id: If9eda174a6c26887dc51b12b14b390e724e73ab3
69969e48f2bca9339662dddfacff0bbf6374ed7f 04-May-2010 Dianne Hackborn <hackbod@google.com> First pass at NativeActivity.

This is a rough sketch of the new pure-native API, which you can
use through a NativeActivity in your manifest (no Java code in
the .apk needed!).

Intentionally no docs yet, the API is still being seriously
messed with. But it works.

Change-Id: I0e916d58a0d159ecaf3689e41834eb8dc681c0c0
dbc108a718a9a0d59b4697d0e780193503b4cf92 20-Apr-2010 Carl Shapiro <cshapiro@google.com> am 15feb4de: am 19275cb5: Merge "Remove code to pass the nonexistant lockprofsample flag to Dalvik." into froyo

Merge commit '15feb4defc61c7bded6fdd3ea1c3781f25666275' into kraken

* commit '15feb4defc61c7bded6fdd3ea1c3781f25666275':
Remove code to pass the nonexistant lockprofsample flag to Dalvik.
8ba73ac72cd7becc2158e2b1f98794173f9746bd 20-Apr-2010 Carl Shapiro <cshapiro@google.com> Remove code to pass the nonexistant lockprofsample flag to Dalvik.

Change-Id: If334e21d770bc21a9b7c4f04d0fb652f53359231
49ee271bba0972e865ab9def0ee293728263b488 16-Apr-2010 Carl Shapiro <cshapiro@google.com> am cb2906e4: am d5a873fb: Merge "Add command line flags to enable lock profiling." into froyo

Merge commit 'cb2906e4bbb96b0be83029572a78f97dc6763eca' into kraken

* commit 'cb2906e4bbb96b0be83029572a78f97dc6763eca':
Add command line flags to enable lock profiling.
d8f3ec6e8308400e9446b254fcca457f6e53ea13 13-Apr-2010 Carl Shapiro <cshapiro@google.com> Add command line flags to enable lock profiling.
a40b3a8d98ca7d3daa3ae7651263fe3c35b0b908 08-Apr-2010 Dan Egnor <egnor@google.com> am c1420832: am 5945579e: Merge "Change TrafficStats to a new JNI implementation." into froyo

Merge commit 'c1420832a8f9c7fa62b143ce63c71062b3969c1b' into kraken

* commit 'c1420832a8f9c7fa62b143ce63c71062b3969c1b':
Change TrafficStats to a new JNI implementation.
2b4abcd0c7c4361af8ab6d5d7b073fb75ac6d219 08-Apr-2010 Dan Egnor <egnor@google.com> Change TrafficStats to a new JNI implementation.

Also change phone's ConnectionStateTrackers to use it directly,
rather than through the INetStat binder interface.

Bug: 2578938
Change-Id: I8858e2609cbec3be845a0ce5178cb03f67e01b41
00b74270c9f136a8727c5f6cda0997a3a905f385 26-Mar-2010 Mike Lockwood <lockwood@android.com> Move files internal to LocationManagerService from framework.jar to services.jar

Change-Id: Iebbfc49b8300ab59730733efdf489ec87ea45a25
Signed-off-by: Mike Lockwood <lockwood@android.com>
69c997a5c603c3cc56cbfdacd72cbe9993c5f053 25-Mar-2010 Ben Cheng <bccheng@android.com> Update a stale JIT option name.

Change-Id: I4b2f2c215a0258adf52861bac025e32df7f40b14
701d916a9c648f66d15b5c30943430176ae5b08c 01-Mar-2010 Andy McFadden <fadden@android.com> Tone down a log message.

Sometimes shell commands like "am" return before the framework stuff
really finishes initializing (e.g. if you give it no arguments so you
can see the usage info). The runtime used to print the dire and
uninformative message:

E/AndroidRuntime(): ERROR: thread attach failed

With this change it's a bit more subdued:

I/AndroidRuntime(): NOTE: attach of thread 'Binder Thread #2' failed

Ideally it wouldn't get logged at all when it's "expected", but that
requires actual code changes.
dae8e94cce0881f3e10ef5e34b881f512bb52a75 24-Feb-2010 Doug Felt <dougfelt@google.com> Add support for accessing native bidi implementation via jni.

Include a simple test to verify that the bidi code works.
870d81d038391d1d3896e7f2fa44801d1667f5bf 08-Feb-2010 Doug Zongker <dougz@android.com> remove android.os.Base64Utils

There are no more users of this code.

Change-Id: Ie0109ece2ea329aeb9607e9193eaf0808955eab9
c2b3217823444792b52d621b3cd024d64c3338e3 02-Feb-2010 Barry Hayes <bhayes@google.com> Add a "dalvik.vm.gc.overwritefree" property. When set to "true", the
VM will be given the "-Xgc:overwritefree" flag, and the GC will
clobber the memory of freed objects.
bca2d613e0d6d2630fedd302c0d779b7610adbcf 30-Nov-2009 Wei-Ta Chen <weita@google.com> Add a Java API that converts yuv data to a jpeg.

The compression is done in the native layer via calling libjpeg.

Bug: 2285598
726a570258828d85e401ab62fd4220812fe9344f 25-Nov-2009 Mike Lockwood <lockwood@android.com> resolved conflicts for merge of dfaf2e03 to master

Change-Id: I440d2042dd404a421789063e42102699fa33b7c0
3a32213c4029a03fe39486f3d6ebd0ea18928ee1 24-Nov-2009 Mike Lockwood <lockwood@android.com> Remove HardwareService and move vibrator support to VibratorService.

The lights support is only needed by PowerManagerService and NotificationManagerService, so we do not need a Binder API for it.
Move backlight and notification light support to new LightsService class.
The camera flash is now handled directly by the camera HAL, so the flash Hardware service flash support is obsolete.

Change-Id: I086d681f54668e7f7de3e8b90df3de19d59833c5
Signed-off-by: Mike Lockwood <lockwood@android.com>
8914a04b16791cda98de88b5f94d9fee3acedfca 20-Nov-2009 Vasu Nori <vnori@google.com> am 483ae632: am 5a03f36e: maintain cache of statementids returned by sqlite upon compiling a sql stmnt

Merge commit '483ae6328701d29e9731af25c64b09b1e18bc2e7'

* commit '483ae6328701d29e9731af25c64b09b1e18bc2e7':
maintain cache of statementids returned by sqlite upon compiling a sql stmnt
5a03f36ef845f73eb4473193dbb0f93dd12a51af 21-Oct-2009 Vasu Nori <vnori@google.com> maintain cache of statementids returned by sqlite upon compiling a sql stmnt
560814f6b11abe83ff0c4ed18cac015c276b3181 19-Nov-2009 Jack Palevich <jackpal@google.com> Add a Java API for OpenGL ES 2.0.

Currently this API is hidden.

Add a test program.
acc56ec7d75a0ed09d0e03bc15f6c9e8ee75999b 11-Sep-2009 Ben Cheng <bccheng@android.com> Add support to suppress individual JIT optimizations.
bdcef70e15e86e592d725355c96c7fab0b85ac83 19-Aug-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2010965: Increase process size on WVGA devices

This introduces a new system property to set the max vm size. The default
is still 16mb.
bd022f423a33f0794bb53e5b0720da2d67e4631c 15-Aug-2009 Nick Pelly <npelly@google.com> Bluetooth: API change.

Split BluetoothDevice into BluetoothDevice and BluetoothAdapter.

BluetoothAdapter: Represents the local BT adapter. Operations on the local
adapter (start a scan, etc).
BluetoothDevice: Represents a remote BT device. Operations on remote devices
(pair, connect, etc).

IBluetoothDevice.aidl -> Bluetooth.aidl
BluetoothDeviceService.java -> BluetoothDeviceService.java

0e01fbf722bf58a0a46c5aef9333d9bae5e40097 18-Jul-2009 Ben Cheng <bccheng@android.com> Add an option to enable JIT trace profiling for app_process.
2df7c15aa0e8f5afc804fd20250316f9e50fdb59 26-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am b505ae41: Merge change 5459 into donut

Merge commit 'b505ae4195d9b8a93c71b1f9da6d7d8c3aaa3c08'

* commit 'b505ae4195d9b8a93c71b1f9da6d7d8c3aaa3c08':
Make the BackupHelperDispatcher properly handle multiple helpers.
4ababd922eac5931e0222862ff082dc29e012816 26-Jun-2009 Joe Onorato <joeo@android.com> Make the BackupHelperDispatcher properly handle multiple helpers.
4527acb0c39258792ae55604cb4d71006bf8d938 22-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 856dd8a6: Merge change 4952 into donut

Merge commit '856dd8a60a70a5b7dca2bf2114872ce063e2ad60'

* commit '856dd8a60a70a5b7dca2bf2114872ce063e2ad60':
Helper API cleanup. Allows multiple helpers to function,
06290a4bb9b280fa14a2bbeb2d3ceb09396a78c3 19-Jun-2009 Joe Onorato <joeo@android.com> Helper API cleanup. Allows multiple helpers to function,
because they'll always go in the same order, and this lets
us not have to write headers to keep them paired.
e090f3bc9efa052b5c69442633d24e67aa3387a1 20-Jun-2009 Ben Cheng <bccheng@android.com> Shorten the property name as there appears to be a length limit for it.
52b0e73443ff8da195fbf0df851a028e07a691b2 19-Jun-2009 Ben Cheng <bccheng@android.com> Process new property definitions for JIT-specific options for apps performance tuning and debugging.
1c14776a13546fc2642baa251c8f1b7c545b0272 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 16ce3504: Merge change 4708 into donut

Merge commit '16ce3504c5bf98d95d5c36001f755bb4b15253c9'

* commit '16ce3504c5bf98d95d5c36001f755bb4b15253c9':
Make RestoreHelper and friends also write out the snapshot state.
d2d9ceb7305d593c1b767bbb05de0082a9af4109 18-Jun-2009 Joe Onorato <joeo@android.com> Make RestoreHelper and friends also write out the snapshot state.
daf701fa6250ae89ad93e2e41127e0f676a322a5 15-Jun-2009 Christopher Tate <ctate@google.com> am 2fdd428e: Fix some backup reader/writer issues; make local transport do backup

Merge commit '2fdd428e0f18384160f7c38ce3a2cd9ba7e7b2c2'

* commit '2fdd428e0f18384160f7c38ce3a2cd9ba7e7b2c2':
Fix some backup reader/writer issues; make local transport do backup
Fix the jni initializer.
Add RestoreFileHelper, BackupDataInput, and add java wrappers for the methods on BackupDataOutput.
Fix bug #1812041: activity manager crash with bad args.
Journal backup requests so that they won't be lost in a crash
Fix data connection issues.
1cf587496fcb1d652bab9fc6792fb106b6fefaa4 12-Jun-2009 Joe Onorato <joeo@android.com> Add RestoreFileHelper, BackupDataInput, and add java wrappers for the methods on BackupDataOutput.
8ed6beb515460001a0f5ee91b874289fbb053768 05-Jun-2009 Mathias Agopian <mathias@google.com> rename string_array.h to StringArray.h and move the implementation from the header file to a new cpp file.

StringArray is used in two places in framework/base and in the Sim. Ideally we should get rid of it and use Vector<String8> instead of creating new code.
0b6955a48bad9aee01ae2f0c06d3f168ca603ab7 27-May-2009 Nick Pelly <npelly@google.com> New BluetoothSocket API.

Modeled on blocking java.net.Socket and java.net.ServerSocket library.

Public interface is:

public final class BluetoothSocket implements Closeable {
public static BluetoothSocket createRfcommSocket(String address, int port) throws IOException;
public static BluetoothSocket createInsecureRfcommSocket(String address, int port) throws IOException;

public void connect() throws IOException;
public void close() throws IOException;

public String getAddress();
public InputStream getInputStream() throws IOException;
public OutputStream getOutputStream() throws IOException;

public final class BluetoothServerSocket implements Closeable {
public static BluetoothServerSocket listenUsingRfcommOn(int port) throws IOException;
public static BluetoothServerSocket listenUsingUnsecureRfcommOn(int port) throws IOException;

public BluetoothSocket accept() throws IOException;
public BluetoothSocket accept(int timeout) throws IOException;
public void close() throws IOException;

f5e17310d19494834466f237367452dfe1bd51cb 20-May-2009 Nick Pelly <npelly@google.com> Remove Database.java API.

This provided SDP functionality to Java, but is not currently used by any Apps.

I will shortly be providing SDP functionality in a new API, but it will be
quite different to this one, and in the mean-time keeping this stale code
updated with other API changes is a pain.
0795272aa226f4e965968a03daddc53ce30b7cda 20-May-2009 Mathias Agopian <mathias@google.com> move libbinder's header files under includes/binder
bad962bf407bbb7a7ce296fb75f1883375afa832 20-May-2009 Android (Google) Code Review <android-gerrit@google.com> am e2914615: Merge change 2099 into donut

Merge commit 'e29146158b6048936671decc060d398a68333fc0'

* commit 'e29146158b6048936671decc060d398a68333fc0':
Hook up the backup data writer, and add a utility to read the backup data files.
d2110dbce071a236b6176de344ca797b737542eb 19-May-2009 Joe Onorato <joeo@android.com> Hook up the backup data writer, and add a utility to read the backup data files.
1a36071092c209ac763fdb48dcfe87043a2b2cf6 08-May-2009 The Android Open Source Project <initial-contribution@android.com> manual merge of 7ec32cc

Merge commit '7ec32cc'
b1a7ffef3a0007b6991b8338460f6aac8cbb11e8 07-May-2009 Joe Onorato <joeo@android.com> More backup tests
070d4c023a4b67e9e29d1c21a7bf9f25d7528c03 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 3de05ff: Merge change 586 into donut

Merge commit '3de05ffb910b572f7816b838628567c760540f7d'

* commit '3de05ffb910b572f7816b838628567c760540f7d':
Manage imagecache ram budget
fc8db53eee11568b286e8d9c17e211bd6781fab6 27-Apr-2009 Mike Reed <reed@google.com> Manage imagecache ram budget

This code was lifted from the browser, and is now global since java clients may
also use this cache for decoded images
1c4907ee77392afb768c2f088e0dedbe4239f6fb 14-Apr-2009 Jack Palevich <jackpal@google.com> Manually merge 129, 174, and 233 from donut

This adds a static OpenGL ES API.

Here are the three commit messages for the original changes:

Clean up trivial Eclipse warnings and fix whitespace.

Added @Override to overridden methods.
Removed unused imports.
Converted tabs to spaces.
Removed \r characters from end-of-lines.
Add .gitignore file to ignore the .class files that are
generated when the "gen" script is run.

This is the 2nd commit message:

Improve glgen

+ gen script is really a bash script rather than a sh script,
so declare that to be true. (For example, it uses pushd,
which is a part of bash, but not a part of sh. Not sure
how this worked until now. Possibly gen was only run in
environments where /bin/sh was really bash.

+ Check the results of the java compile of the code generator,
and abort the script if the compile fails.

+ Turn on the bash shell option that guards against using
uninitialized variables in the script.

+ Remove the generated class files.

Refactor JniCodeEmitter into two classes: a general-purpose
JniCodeEmitter and a specific Jsr239CodeEmitter. The hope is
to use JniCodeEmitter as a base for emitting static OpenGL ES

This is the 3rd commit message:

Add an Android-specific static OpenGL ES 1.1 Java API.

This change adds four new public classes that expose a static OpenGL ES 1.1 API:



+ The static API is slightly faster (1% to 4%) than the existing Interface based JSR239 API.
+ The static API is similar to the C API, which should make it easier to import C-based
example code.
+ The static API provides a clear path for adding new OpenGL ES 1.1 extensions
and OpenGL ES 2.0 APIs, neither of which currently have a JSR standard.


import static android.opengl.GLES10.*;



Note that it is possible to mix-and-match calls to both the static and JSR239 APIs.
This works because neither API maintains state. They both call through to the same underlying

Implementation details:

This change enhances the "glgen" "gen" script to generate both the original JSR239 and
new static OpenGL ES APIs. The contents of the generated JSR239 classes remained the same as before,
so there is no need to check in new versions of the generated JSR239 classes.

As part of this work the gen script was updated to be somewhat more robust, and to
work with git instead of perforce. The script prints out commands to git add the generated files,
but leaves it up to the script runner to actually execute those commands.
27f8002e591b5c579f75b2580183b5d1c4219cd4 16-Apr-2009 Jack Palevich <jackpal@google.com> Add an Android-specific static OpenGL ES 1.1 Java API.

This change adds four new public classes that expose a static OpenGL ES 1.1 API:



+ The static API is slightly faster (1% to 4%) than the existing Interface based JSR239 API.
+ The static API is similar to the C API, which should make it easier to import C-based
example code.
+ The static API provides a clear path for adding new OpenGL ES 1.1 extensions
and OpenGL ES 2.0 APIs, neither of which currently have a JSR standard.


import static android.opengl.GLES10.*;



Note that it is possible to mix-and-match calls to both the static and JSR239 APIs.
This works because neither API maintains state. They both call through to the same underlying

Implementation details:

This change enhances the "glgen" "gen" script to generate both the original JSR239 and
new static OpenGL ES APIs. The contents of the generated JSR239 classes remained the same as before,
so there is no need to check in new versions of the generated JSR239 classes.

As part of this work the gen script was updated to be somewhat more robust, and to
work with git instead of perforce. The script prints out commands to git add the generated files,
but leaves it up to the script runner to actually execute those commands.
e2b23e11a5475e5c35eb07ba883cb05eca18796f 03-Apr-2009 Andy McFadden <> AI 144469: Added test for dalvik.vm.check-dex-sum property.
Enables -Xcheckdexsum argument, which causes the VM to test checksums
when loading optimized DEX files.

Automated import of CL 144469
84d8d693bd79082069d1781284213030006841b7 02-Apr-2009 Jack Palevich <> AI 144129: Remove hidden class android.os.Exec.
Change BugReportService to use java.os.ProcessBuilder instead.
Remove unused import from DumpStateReceiver.
An earlier change list created a private copy of this class for Term.

Automated import of CL 144129
f70188aa4716625781d9952c6b883180528d4644 01-Apr-2009 Andy McFadden <> AI 143840: Split VM initialization out into a separate function.
This makes the code marginally more readable, and cuts about 500 bytes
off the size of the main thread's stack.

Automated import of CL 143840
7b0b1ed979aa665175bf3952c8902ce13c763ab8 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import //branches/master/...@140412
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54 09-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137197
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution