History log of /frameworks/base/native/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ee5c18f038d952ce9378493386310899e4d51c84 02-Nov-2015 Aniroop Mathur <a.mathur@samsung.com> Sensor: Add batch support for native applications

Currently, it is not possible for native applications to use the
sensor in batch mode. As it is a 'C' header file so function
overloading is not possible. Therefore, lets add a new function to
enable the sensor, set the delay and batch timeout, all together.

Change-Id: I565ec2d945d57f31ae11ed43bf9ba351aebd67a0
Signed-off-by: Aniroop Mathur <a.mathur@samsung.com>
ff20b979e7abf55bef4aa7da85ec36afda3e4fbf 27-Jan-2016 Michael Wright <michaelwr@google.com> Change storage duration to static for native choreographer.

This ensures that the region is zero initialized, regardless of compiler.

Change-Id: Ie0bfa5d2cd2486ba31a45aee4de6c370513bfc62
3d3fe5026a6a3e951ef56ad16a100b8d5ae84574 04-Dec-2015 Michael Wright <michaelwr@google.com> Add choreographer API to the NDK.

Change-Id: Icb8cffd3cd3bd06814466be72db3e26f6a62cbc6
8571397a0f99fd29b62e19219f1aa2d5b6894b9e 28-Sep-2015 Dimitry Ivanov <dimitry@google.com> am ef9e04b2: am 66f5affb: Merge "Fix bug number for linker related workarounds"

* commit 'ef9e04b21020fd9e0e4be804627dc96e44e3581c':
Fix bug number for linker related workarounds
ef9e04b21020fd9e0e4be804627dc96e44e3581c 28-Sep-2015 Dimitry Ivanov <dimitry@google.com> am 66f5affb: Merge "Fix bug number for linker related workarounds"

* commit '66f5affbe41a49bedf35e73b7c7f482db6e2fa7b':
Fix bug number for linker related workarounds
ad1cf03e806f2d09888a2994a106204535d2e1f1 28-Sep-2015 Dmitriy Ivanov <dimitry@google.com> Fix bug number for linker related workarounds

Bug: http:/b/24425865
Change-Id: Iba52acc99c8ff548ff875726988600ed230c988e
2af91d0e104b3a80f3e832e464e52893a55a715f 30-Jul-2015 Aravind Akella <aakella@google.com> Call getInstanceForPackage instead of creating a new SensorManager instance.

Bug: 22529981
Change-Id: If077e042a4af940dfb1fc9c4ac8b9d352dd32685
8d1e344f400fa35f3ddfef78a1dd1d805f3718b0 29-Jul-2015 Narayan Kamath <narayan@google.com> Revert "Call getInstanceForPackage instead of creating a new SensorManager instance."

This reverts commit 5967ddbf05f146bdb6744207e3daed1aa76fc637.

Change-Id: I6d58129585a30d7c2ef39c8cbe796fd696c93f56
5967ddbf05f146bdb6744207e3daed1aa76fc637 25-Jul-2015 Aravind Akella <aakella@google.com> Call getInstanceForPackage instead of creating a new SensorManager instance.

Bug: 22529981
Change-Id: Id3adfbcf55d1268db1a555c72a06456a5219c086
b902453b40ef5ab0c200680a773923e8bfa99617 10-Jun-2015 Chris Craik <ccraik@google.com> Add native tracing API


Change-Id: I520de9fee7fc40d0570d6bef450d756ce42a1462
2738c96d998dedfae5b4670d588d0cd299c4ca0f 14-May-2015 Adam Lesinski <adamlesinski@google.com> Add -round and -notround qualifier to android runtime/aapt

The round qualifier denotes a device with a screen shape that
is round. The qualifier shows up after the 'long/notlong' qualifier
and before the orientation 'port/land/square' qualifiers.

Change-Id: I3044258b2703a9165694b79725bade770fa6cea1
b5228ac07621a26ef5717ee5dcf74ecc9e3e1f68 08-May-2015 Dmitriy Ivanov <dimitry@google.com> Switch libjnigraphics.so to hash-style=both

Bug: http://b/19059885
Change-Id: I15f70b434b1d450e5b62ca7c204c628e2dc9edcc
(cherry picked from commit 2e84bc6948bb24ec67bf289ee1d0ed937a0fd4ff)
2e84bc6948bb24ec67bf289ee1d0ed937a0fd4ff 08-May-2015 Dmitriy Ivanov <dimitry@google.com> Switch libjnigraphics.so to hash-style=both

Bug: http://b/19059885
Change-Id: I15f70b434b1d450e5b62ca7c204c628e2dc9edcc
cbb56a8f4e8a47fad95db9b1ae6c343055b07acd 07-May-2015 Svet Ganov <svetoslavganov@google.com> Fix broke NDK sensor manager API

Change-Id: I0f4e2a3ce20ce20e0aa5a7d38d1f988497c033c0
ae2e8b4891491e8e89bed5f2c9626415adee09cb 06-May-2015 John Reck <jreck@google.com> Add warning if an in-use Bitmap is reconfigured

Bug: 18928352

Also fix an issue around re-configure not properly handling
mPinnedCount in android::Bitmap

Change-Id: I1815b121f1474ad931060771bb1d52ef31d2aac7
b9d71a6f89b1183f6389b1774652445a420c6cbf 30-Apr-2015 Svet Ganov <svetoslavganov@google.com> Add body sensors app op - framework base

Change-Id: Idd5cd573fab3405e5b2a6e51d2d9d115650826e9
ed207b92747234eac88dd3664ecfb535e45d8ed1 10-Apr-2015 John Reck <jreck@google.com> Change how Java Bitmaps are accessed in a few places

Stop assuming that a Java Bitmap has a SkBitmap* that
has some externally managed lifecycle, and instead switch
a bunch of users to accessing the bitmap by providing
their own SkBitmap* on which to set the (ref counted!)
SkPixelRef* instead

Attempt #2 to land this, original issue was in getSkBitmap
and should be fixed

Change-Id: I0fd9e193968b41e5597784140d56b4885906864a
c1b33d665c8caf5760f68c45c6ca0baa649b832a 22-Apr-2015 John Reck <jreck@google.com> GraphicsJNI Canvas cleanup

Change-Id: I72e142986a8bc9f464c1951b6b5187919de3462e
8222a7ec81552276de1814541201c424b392d90b 21-Apr-2015 John Reck <jreck@google.com> Merge "Revert "Change how Java Bitmaps are accessed in a few places""
edc22fba5921f5c2d3502727e707f959b8c3a460 21-Apr-2015 John Reck <jreck@google.com> Revert "Change how Java Bitmaps are accessed in a few places"

Bug: 20207616

This reverts commit a771b9861d11671c780092d35c0062eeefcf37c0.

Change-Id: Ifd891cc075274a7986e987229e0fed5a04ed9ff0
9d4efdf2802f06ccf7031610891f75af70ea5538 17-Apr-2015 John Reck <jreck@google.com> Revert "A bunch more cleanups"

This reverts commit c294d128d03bc9a9982b273a82516c04583438cc.

Change-Id: Id1ebb236950f7c36c6d86e1dd95566d3a200748d
f7a61483bc2a763145b0f1b6e6809c44cdc97187 15-Apr-2015 John Reck <jreck@google.com> Merge "A bunch more cleanups"
25f3b7bb2d05e4a020e7d82ada1543d2cdc75fbb 05-Mar-2015 Erik Kline <ek@google.com> multinetwork API: native implementation

Bug: 19537384
Change-Id: I04f4a7de2b1e583989b67a853df6ab50289c2185
c294d128d03bc9a9982b273a82516c04583438cc 14-Apr-2015 John Reck <jreck@google.com> A bunch more cleanups

Switch a few places to using android::canvas
instead of SkCanvas as well which eliminated
some JNI

Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
a771b9861d11671c780092d35c0062eeefcf37c0 10-Apr-2015 John Reck <jreck@google.com> Change how Java Bitmaps are accessed in a few places

Stop assuming that a Java Bitmap has a SkBitmap* that
has some externally managed lifecycle, and instead switch
a bunch of users to accessing the bitmap by providing
their own SkBitmap* on which to set the (ref counted!)
SkPixelRef* instead

Change-Id: I0fd9e193968b41e5597784140d56b4885906864a
5a565ef01cd40cf17c90643fef6b5f107f793d7e 13-Mar-2015 Dmitriy Ivanov <dimitry@google.com> am 1c8b3778: am 9aeb080e: Merge "Switch libjnigraphics to sysv-only hash style"

* commit '1c8b3778e1c380992a9ca96e965cdc4e6f3bca66':
Switch libjnigraphics to sysv-only hash style
ca4f2e838c144bd7e51e8f58cbaa40793c580dc4 13-Mar-2015 Dmitriy Ivanov <dimitry@google.com> Switch libjnigraphics to sysv-only hash style

Bug: 19059885
Change-Id: I3474974983931c67dce30dfc581a8d28d8b62e6a
b8d342da4e16ced2290c1c19b96057e8be5b9318 11-Mar-2015 Dimitry Ivanov <dimitry@google.com> am 3b9cfe30: am a6ed1b95: am 6e116429: Merge "Generate gnu hash for arm only"

* commit '3b9cfe30ed4ae34d06a8f005c8ada593c314316b':
Generate gnu hash for arm only
ae0d6f34c5b06063467a934f7d533b741ed48f6b 11-Mar-2015 Dmitriy Ivanov <dimitry@google.com> am 1944667b: am 8ced0357: am 2a88ff2f: Merge "Generate sysv hash for libjnigraphics"

* commit '1944667b7f70c336da66cc3fbdee3a2fbd766980':
Generate sysv hash for libjnigraphics
12f4749df86698170718f80aabf8243b7c55833c 10-Mar-2015 Goran Jakovljevic <goran.jakovljevic@imgtec.com> Generate gnu hash for arm only

Fixes build failure caused by:

As previously discussed [1], MIPS does not support GNU-style ELF hashes.

[1] https://android-review.googlesource.com/#/c/49282/2/tests/Android.mk

Change-Id: I8edb8a1595308db2ecd1bd6650a069b1224ae64f
1dc91a5f7a673649f5c1c56b561212c20b841cf7 10-Mar-2015 Dmitriy Ivanov <dimitry@google.com> Generate sysv hash for libjnigraphics

Bug: 19059885
Change-Id: I9b227fda6549e15a5ce50ac6b59250dff1371bb3
f4faeac3525fe1ce3707ab785a1651aec367589d 05-Mar-2015 John Reck <jreck@google.com> Cleanup Bitmap JNI attempt #2

Original version missed a spot

This reverts commit c02977e3bbfaaedcb1b1d67e1692becc7dddd59b.

Change-Id: I56244ce10d709fcdef42a001fe4c6ba7b6bbb04d
c02977e3bbfaaedcb1b1d67e1692becc7dddd59b 05-Mar-2015 Chad Jones <chadj@google.com> Revert "Cleanup Bitmap JNI"

This reverts commit b2915245b74b3b5541b123e38403f8e26426b4b7.

Change-Id: Idd7d7f33eec4ea5024c83de6b10d3d1a6ab2b17a
b2915245b74b3b5541b123e38403f8e26426b4b7 04-Mar-2015 John Reck <jreck@google.com> Cleanup Bitmap JNI

Fix a bunch of places where mNativeBitmap was being
poked at directly, switch them either to the NDK API
or to GraphicsJNI where it made sense

Change-Id: I6b3df3712d6497cba828c2d3012e725cb4ebb64d
ce23ecffea9ec4ebe97d91a59e1997aaa77562c9 11-Nov-2014 Andreas Gampe <agampe@google.com> Merge "Frameworks/base: Wall Werror in native/graphics"
cad87d78da79c3d2ac83e1dce6ee2a9d2f6d64e5 11-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Wall Werror in native/graphics

Turn on -Wall -Werror in native/graphics. Mask skia warnings.

Change-Id: Ia671e91348296ace84d9a24b3c6c025fa889bead
d2361f2f1f54c8f244d4a25c59a6a0d2b29fe515 11-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Wall Werror in native/android

Turn on -Wall -Werror in native/android.

Change-Id: I28bab9ebd2fe3f6935878816773a04531e26450f
99fe16508200510e3d8ea2e3c34872be8cce826d 06-Aug-2014 Aravind Akella <aakella@google.com> Sensor related changes for NDK.

i) Add ASensor_isWakeUpSensor and ASensorManager_getDefaultSensorEx

Bug: 16399898
Change-Id: Icc252aad068fa337bef8b22f20584f98cd5a155d
1103b3255945d2eb2fa9c191e84e2270b343cca9 08-Jul-2014 Mike Reed <reed@google.com> SkBitmap::Config is deprecated, use SkColorType

Change-Id: Ic953741325607bf85598c097bb3ab648d4a08996
27900358f2f5b89e8b01516b28a916d16c99ba9b 04-Jun-2014 Aravind Akella <aakella@google.com> Add java APIs for Sensor reportingMode.

Change-Id: Iba6bb11f990d9966b86bf02d70ced7312f3e64a8
b5e3f4ea13ad331c0bc4bf9b3a56df7c87cd2f85 23-May-2014 Aravind Akella <aakella@google.com> am c7153377: am 73da981f: Merge "Remove getRequiredPermission from NDK." into klp-modular-dev

* commit 'c7153377cf03303e97185397544a13971a089961':
Remove getRequiredPermission from NDK.
c7153377cf03303e97185397544a13971a089961 23-May-2014 Aravind Akella <aakella@google.com> am 73da981f: Merge "Remove getRequiredPermission from NDK." into klp-modular-dev

* commit '73da981fd60f9dc855a04ea53e9fff59a011577e':
Remove getRequiredPermission from NDK.
8bcdd9b7a5c99e9a5bf1e45f7924b67037898e75 22-May-2014 Aravind Akella <aakella@google.com> Remove getRequiredPermission from NDK.

Change-Id: Ieb1e97e44ef335e6087ba9164058fe3535e9998a
35187bd5c1e40ea52a672c525411d05cbcdd6482 12-Feb-2014 Aravind Akella <aakella@google.com> Bug fix for wakeup sensors.

SensorService should hold a wakelock till the app reads events from a wakeup sensor. Currently drivers hold a wakelock with a
timeout while delivering events from a wake up sensor like Significant Motion. This hack can be removed now.
Bug: 9774884

Change-Id: I6cab0147c63f57a494a61f4dfe2a64a27dfe1b4e
d951ab230d80631731ef12b5d76c678c30165d6a 11-Apr-2014 Aravind Akella <aakella@google.com> am 8ebd66c2: am cd4c1c71: Merge "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor" into klp-modular-dev

* commit '8ebd66c259602f6b0be26fdfd3fe2f55538f6424':
Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
8ebd66c259602f6b0be26fdfd3fe2f55538f6424 11-Apr-2014 Aravind Akella <aakella@google.com> am cd4c1c71: Merge "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor" into klp-modular-dev

* commit 'cd4c1c714c37a1bc7ba35ebd2509eca4f0f6a314':
Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
cd9a7bb3ba742606f93dcbd549d6d6eeb1cb5247 08-Apr-2014 Aravind Akella <aakella@google.com> Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor

This reverts commit 819239e5bec90ee3c861ac45fffac4a832a183a1.

Change-Id: I4bbb222e5c9dc65aed03aa28fd9e0f00fe335819
acf395fd9441bce9fbe68c1b7efbf824570284bc 05-Apr-2014 Etienne Le Grand <etn@google.com> am 819239e5: Revert "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor"

* commit '819239e5bec90ee3c861ac45fffac4a832a183a1':
Revert "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor"
fa1d2417d296e28a48a8c4a5cfb932172edbdd65 05-Apr-2014 Etienne Le Grand <etn@google.com> Revert "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor"

This reverts commit fd53d8352a4617941b0a0449390aa562a01ea1d3.

Change-Id: I1c6322d1d992147bb5ef201238374966128c1a61
(cherry picked from commit 819239e5bec90ee3c861ac45fffac4a832a183a1)
819239e5bec90ee3c861ac45fffac4a832a183a1 05-Apr-2014 Etienne Le Grand <etn@google.com> Revert "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor"

This reverts commit fd53d8352a4617941b0a0449390aa562a01ea1d3.

Change-Id: I1c6322d1d992147bb5ef201238374966128c1a61
ded264733036bb566c54da5b771d63f57213c84e 05-Apr-2014 Etienne Le Grand <etn@google.com> am bdfe3841: am fd53d835: Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor

* commit 'bdfe384106de364ea2effac6ab80108556d11649':
Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
bdfe384106de364ea2effac6ab80108556d11649 05-Apr-2014 Etienne Le Grand <etn@google.com> am fd53d835: Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor

* commit 'fd53d8352a4617941b0a0449390aa562a01ea1d3':
Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
fd53d8352a4617941b0a0449390aa562a01ea1d3 25-Mar-2014 Etienne Le Grand <etn@google.com> Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor

Change-Id: I16e5da68f860494e24cca64075be76fad02617bc
950fe8f8d4d654e645fa7205ca275b5a03feb214 27-Feb-2014 Derek Sollenberger <djsollen@google.com> Cleanup unnecessary includes for libskia.

The libskia target exports all of its public includes directories so
redefining them here is redundant. Also this cleans up and makes it
obvious where the framework is making using of private Skia headers.

Change-Id: Ie7ecc9ddd3df780bed6b9af54ba58ca58274e043
9ae000ca8c05ad6f700ad7bf119bbc92fb964b57 13-Feb-2014 Andreas Huber <andih@google.com> Revert "Split AndroidRuntime into AndroidRuntimeBase base-class and the rest."

This reverts commit 7825334929b098b36e1144872200e75ba6d24b13.

Change-Id: I1702eb3ff9d7192d64039c8bf4bc3fc5d8e458c4
7825334929b098b36e1144872200e75ba6d24b13 07-Feb-2014 Andreas Huber <andih@google.com> Split AndroidRuntime into AndroidRuntimeBase base-class and the rest.

AndroidRuntimeBase (exported by libandroid_runtime_base.so) is all you need
to link against to gain the ability to do AndroidRuntimeBase::getJNIEnv()
thus minimizing build dependencies.

Change-Id: Ia7f0c94c8c02b974c068e0db34774827f96aa95b
896043d67d3ac75760bd99db8a1561e31ebee1e1 17-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Make AssetManager and related classes 64-bit compatible

Following changes have been done:

[x] Long is used to store native pointers as pointers can be

[x] AssetManager openAsset native function returned -1 if
file name was empty and java function considered any
non-zero value as success. This has been fixed by native
function throwing Illegal Argument Exception as well.

[x] AssetManager incRefsLocked and decRefsLocked now accept
long as input to support 64-bit native references.

[x] AssetManager incRefsLocked method incorrecly used
'this.hashCode()' instead of the passed parameter id.
This has been fixed.

[x] Some minor changes have been done to conform with
standard JNI practice (e.g. use of jint instead of int
in JNI function prototypes)

Change-Id: I095b9f900d49e51f43ad6afc47cbc23116a6a64a
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
82b007d7572dceb0981b269338bd1ac6c40496c5 13-Dec-2013 Brian Carlstrom <bdc@google.com> Track Looper decoupling from ALooper

Change-Id: I54f4d36f105e60eaaa453ae60f591d634c681fd7
9d3b1a424c5c61e24e9659d15fb353026a00d925 02-Jul-2013 Jeff Brown <jeffbrown@google.com> Move input library code to frameworks/native.

No longer compile libandroidfw as a static library on the device
since it already exists as a shared library. Keeping the static
library would force us to provide a static library version of
libinput for the device as well which doesn't make sense.

Change-Id: I3517881b87b47dcc209d80dbd0ac6b5cf29a766f
64b5f7cc4ca094754d4631ffb801b7bb771081ec 29-May-2013 Andrew Hsieh <andrewhsieh@google.com> am 09377ddb: Merge "Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event"

* commit '09377ddb93a964b9e0def6d84b8beb3a515f4a18':
Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event
c01e1ed68885edafd4ad9d62e0f31e7875651867 26-May-2013 Andrew Hsieh <andrewhsieh@google.com> Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event

See b.android.com/55873

Change-Id: Idff7b71480991e16f57e55748fafa57d5827b10b
a44dd26a75e24cc021802288fb81f4761e47be6b 11-Apr-2013 Michael Wright <michaelwr@google.com> Rewrite input handling for native applications

Bug: 8473020
Change-Id: Ic4353d8924ab877bec21aff8c2dba9fe725bf906
d685894212e6dbeac1fda4996903c1da115d49a6 10-Apr-2013 Ying Wang <wangying@google.com> Add liblog

Bug: 8580410
Change-Id: I746aa8258866508c3a725d0773faf4518096548f
0482291f45a8fa1be8bbfe87e3c8a4eb7f43ddef 19-Dec-2012 Andrew Hsieh <andrewhsieh@google.com> Fix typo

Change-Id: I58f863c4eb1eb4196d001c280027ab59bee51ce4
eba8254c8cae92d653c5203f65cb36f3fc724f9d 12-Dec-2012 Andrew Hsieh <andrewhsieh@google.com> Fix typo


Change-Id: I3d5525d7dacbf8f007e3230e1ca87b69245a96b1
58ed5d748c0b9b64845975ef5844ad313de7c3f6 07-Nov-2012 Kenny Root <kroot@google.com> am 768d9e1a: Merge "Correct executable bit for source files"

* commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04':
Correct executable bit for source files
3a084af2e90849aaa8beb3a610189e3399c63ea0 07-Nov-2012 Kenny Root <kroot@google.com> Correct executable bit for source files

Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
4fbbda4cecb078bd3867f416b02cc75f5455284f 25-Sep-2012 Jeff Sharkey <jsharkey@android.com> Handle multi-user mountObb() requests.

Since emulated external storage paths differ based on execution
context, carefully fix up paths for various use-cases:

1. When sending paths to DefaultContainerService, always scope
OBB paths as belonging to USER_OWNER.
2. When sending paths to vold, always build emulated storage paths
visible to root.
3. Always use the original untouched path when talking with apps.

Mount OBB containers using shared app GID, so that an app can read
the mount point across users.

Handle legacy paths like "/sdcard" by resolving the canonical path
before sending to MountService. Move tests to servicestests, and
add tests for new path generation logic.

Bug: 7212801
Change-Id: I078c52879cd08d9c8a52cc8c83ac7ced1e8035e7
035ce2ca92742894f7f906c93d7d217c647aa19a 05-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add support for "-rtl" in resources" into jb-mr1-dev
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
5f7979993979466c79ab4f38d83c6f2aca361662 16-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Add support for "-rtl" in resources

- fix bug #7035019 Need to have "-rtl" support for Resource

Change-Id: Ic82145c2ac672729d8a6c695a5f343276a1a0a2c
89269cf98d263a4dd2e6e771e18c02a472b7bd78 04-May-2012 Elliott Hughes <enh@google.com> libnativehelper is implicitly available.

(And is moving for the PDK.)

Bug: 6369821
Change-Id: I9e082ef294cfb2d70384255eb06d97d8cb92b382
544f1c334c603fad888037c9f2a595faaf2479cc 12-Apr-2012 Jamie Gennis <jgennis@google.com> Merge "ANativeWindow: support for application buffer dimensions"
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
0e5ed706a2a7c85ddb11bcac55a6e210f725c3f9 10-Apr-2012 Michael I. Gold <gold@nvidia.com> ANativeWindow: support for application buffer dimensions

Make the NDK use the new native_window_set_buffers_user_dimensions to implement
the ANativeWindow_setBuffersGeometry call.

Change-Id: I2d5981cbd619ee2e090fe8f2ddc69217915c9d9e
60b82263a11e655408bbae1470728d58e1631b21 23-Mar-2012 Mathias Agopian <mathias@google.com> move ndk headers to frameworks/native

Change-Id: I44e48b8993e8b574ae366b9e76629099154998a9
7efec15fef97e4ff7c4c023c8fdbf17f7d0dbfeb 23-Mar-2012 Mathias Agopian <mathias@google.com> add missing include

Change-Id: I7eb05f6cb6de170aeb3b72d28490cdcf46982d13
8335f1ccccedb6655d96d9d5b697a7f0938235dd 26-Feb-2012 Mathias Agopian <mathias@google.com> fix libgui header location

Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
83c64e6b624a876436d2ef5d2f173b10407e27b4 21-Feb-2012 Mathias Agopian <mathias@google.com> frameworks/base refactoring

create the new libandroidfw from parts of libui and libutils

Change-Id: I1584995616fff5d527a2aba63921b682a6194d58
b13b9bdad2baf6ad1ec2e56b6b7598fa20f55fc4 18-Feb-2012 Mathias Agopian <mathias@google.com> frameworks/base refactoring.

step 2: move libutils headers to their new home: androidfw

Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
b93a03f841d93498bfea6cc92a22faa34bce1337 18-Feb-2012 Mathias Agopian <mathias@google.com> frameworks/base refactoring.

First step. Move libui includes to their new home: androidfw.

Change-Id: Ic042b52fdba72f30edc3cc6339bf30b4c1b99662
d96e3dfa02b203b1fc826e80d6f9aa074ba9c250 26-Jan-2012 Dianne Hackborn <hackbod@google.com> Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.

Change-Id: I519d6cdc527a402d93b98df17a64fc1da52ad598
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
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
44fcb83b38b062a650ddf556fe7f5e34905df9ea 15-Dec-2011 Joe Onorato <joeo@google.com> Add a new ui mode for "appliance"

The idea is that this is a device which is more-or-less headless. It
might have some limited interaction capabilities, but it's not something
that you want to rely on having.

Change-Id: Ib92f53a120bf83de781728011721a4859def7d9f
0475f82c95e6e9657580820b16b0e48d814119b5 29-Nov-2011 Jeff Brown <jeffbrown@google.com> am c339fe30: am be6ab576: Merge "Fix application launch shortcuts." into ics-mr1

* commit 'c339fe302bc5083f0a110569eec06676be511088':
Fix application launch shortcuts.
6651a638348c15e89e265b0a53c775cac9beafa2 28-Nov-2011 Jeff Brown <jeffbrown@google.com> Fix application launch shortcuts.

Improved quick launch bookmarks to support category-based shortcuts
instead of hardcoding package and class names for all apps.

Added a set of Intent categories for typical applications on the

Added support for some of the HID application launch usages to
reduce reliance on quick launch for special purpose keys. Some
keyboard vendors have hardcoded launch keys that synthesize
"Search + X" type key combos. The goal is to encourage them
to stop doing this by implementing more of HID.

Bug: 5674723
Change-Id: I79f1147c65a208efc3f67228c9f0fa5cd050c593
2c42edf3c04cd6bc11021394f5612827b835a812 16-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Remove obsolete NativeWindow_fromSurfaceTexture"
dd00e734f335f13b4a9e24a27e280b6112d919a5 08-Nov-2011 David 'Digit' Turner <digit@google.com> NDK: ANativeActivity: Fix documentation for 'clazz' member.

As discussed on the android-ndk forum, it turns out that the
member named 'clazz' is really a global reference to the NativeActivity
instance. As such, it's really a handle to a VM object, not a VM class.

Ideally, we would rename it to 'activity', but this cannot be done
without breaking NDK source compatibility.

Change-Id: I82ca1549b35346a3eacf9e84c4c836387fc883a6
809820e28bdeb13a7625e0ce80e0dc2e2d76929f 21-Oct-2011 Glenn Kasten <gkasten@google.com> Remove obsolete NativeWindow_fromSurfaceTexture

Change-Id: I9351103929da515cb411fb2e7906bb9f27c4da20
83b186a246e8ffd52b91a17c0019dd8c9c9d21b1 20-Sep-2011 Mathias Agopian <mathias@google.com> fix the float Rect in OpenGLRenderer to handle NANs

- we want functions like isEmpty() to return true if NANs are
involved in the Rect

- also clean-up the intersect familly of calls

- minor cleanup in the int32_t Rect as well

These played a role in http://b/5331198.

Bug: 5331198

Change-Id: I5369725ab482e4b83da9f1bd4cee5256e5de75b2
65fd251c3913fc921468a3dad190810db19eb9df 18-Aug-2011 Jeff Brown <jeffbrown@google.com> Input system bug fixes, particularly for stylus.
Bug: 5049148

Finished stylus support, including support for indirect stylus
and mouse tools.

Added TILT axis. When stylus tilt X/Y is available, it is transformed
into an orientation and tilt inclination which is a more convenient
representation and a simpler extension to the exiting API.

Touch devices now only report touch data using a single input
source. Previously touch devices in pointer mode would report
both absolute touch pad data and cooked pointer gestures.
Now we just pick one. The touch device switches modes as needed
when the focused application enables/disables pointer gestures.
This change greatly simplifies the code and reduces the load
on the input dispatcher.

Fixed an incorrect assumption that the value of ABS_(MT_)DISTANCE
would be zero whenever the stylus was in direct contact. It appears
that the correct way to determine whether the stylus is in direct
contact (rather than hovering) is by checking for a non-zero
reported pressure.

Added code to read the initial state of tool buttons and axis values
when the input devices are initialized or reset. This fixes
problems where the input mapper state might have the wrong initial

Moved responsibility for cancelling pending inputs (keys down,
touches, etc.) to the InputDispatcher by sending it a device reset
notification. This frees the InputReader from having to synthesize
events during reset, which was cumbersome and somewhat brittle
to begin with.

Consolidated more of the common accumulator logic from
SingleTouchInputMapper and MultiTouchInputMapper into

Improved the PointerLocation output.

Change-Id: I595d3647f7fd7cb1e3eff8b3c76b85043b5fe2f0
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
b3a900d7cd3842a208c0448b26806ed9f6d7fa2d 29-Jul-2011 Romain Guy <romainguy@google.com> Merge "Add notifyPixelsChanged() call to NDK unlockPixels()."
49754db5a304d995c1cc108ff6f19e4ba4265572 02-Jul-2011 Jeff Brown <jeffbrown@google.com> Handle stylus buttons and tool types.


Refactored the InputReader to share more code between the
various input mappers that handle button states and to
simplify the accumulator implementations by having each
one only handle a single type of input.

Removed the concept of direct/indirect tool types from the API.
If we add it back, it should be done in a manner that is orthogonal
to the tool type itself, perhaps as a flags field on the pointer.
The device source may well provide sufficient information anyhow.

Change-Id: I811c22d95e8304269b6ee4f6d11a6b04f3cfc1b2
09d7ed7b395d66be97c6bcb052039f5c0dce646c 14-Jul-2011 Mathias Agopian <mathias@google.com> Add set_scaling_mode() to ANativeWindow.

This allows to specify the scaling mode independently from
the buffer size.

Change-Id: Iaa2baa660445531a97d3fac192e580f4929c5d3b
949be32b671304d5281ac0abbf30dcf4ebaa9eaf 14-Jul-2011 Mathias Agopian <mathias@google.com> move lock/unlock implementaion outside of Surface into SurfaceTextureClient

This makes ANativeWindow_lock/ANativeWindow_unlockAndPost work
with ANativeWindows implemented by Surface and SurfaceTextureClient.

Also, Surface now inherits directly from SurfaceTextureClient.

Bug: 5003724
Change-Id: I9f285877c7bae9a262e9a7af91c2bae78804b2ef
17e5f4cc706bed08367af8fa60ffb8c7c3ca7f62 13-Jul-2011 Alexandre Elias <aelias@google.com> Add notifyPixelsChanged() call to NDK unlockPixels().

Without this call, the NDK bitmap methods don't work in
hardware-accelerated mode ( http://b/5017848 ).

Change-Id: Icae6975757c9c9e83c0e9fc132161aa3004f8f28
53ca3f13e70fda98aa9f39bb0c15afaf435e3904 28-Jun-2011 Jeff Brown <jeffbrown@google.com> Hover and stylus API cleanup.

Added missing setOnHoverListener method.

Change-Id: I5d820d0a8e47fe5fd2d88e9fd9fc3fc6ce0dea0d
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
8a7d44e8248cf7078da6094068b039dacc0a3971 03-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 54cb63e2 to master

Change-Id: I5b741a1781e3f76c03fc1534ffce871117effd10
b96cbbd11c4590bec846212c33361e02293f18b5 27-May-2011 Dianne Hackborn <hackbod@google.com> Add "tv" density for 720p screens.

Change-Id: I028969b007f2fceea66947d77a2ae31ef1d1a630
e2c7715c772d5121397591b532d04a31b3ffcc99 24-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of bbca8133 to master

Change-Id: I81493674dceab848e41d380a77a37e5a9be06db6
e360bb6bd8ea84b8d37604fc11dfc744b18fb0de 21-May-2011 Dianne Hackborn <hackbod@google.com> Add "television" mode.

Change-Id: Ida1fdb61b036a8b489dbeda196fb4bc82e651b2b
161e67ff3ba26408eea09221734ad2e29a1eed11 20-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 06a8ceac to master

Change-Id: Id51574c825affddfac14ad7214c5496d6a3d6e69
69cb87576ba163b61bb0e6477a3b7c57a9b11d40 20-May-2011 Dianne Hackborn <hackbod@google.com> Add new "-swNNNdp" resource qualifier.

Change-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce
fe9f8ab03a63b1037f07dd85799fbea80ec6adaa 07-May-2011 Jeff Brown <jeffbrown@google.com> Add initial API for stylus and mouse buttons.

Added the concept of pointer properties in a MotionEvent.
This is currently used to track the pointer tool type to enable
applications to distinguish finger touches from a stylus.

Button states are also reported to application as part of touch events.

There are no new actions for detecting changes in button states.
The application should instead query the button state from the
MotionEvent and take appropriate action as needed.

A good time to check the button state is on ACTION_DOWN.

As a side-effect, applications that do not support multiple buttons
will treat primary, secondary and tertiary buttons identically
for all touch events.

The back button on the mouse is mapped to KEYCODE_BACK
and the forward button is mapped to KEYCODE_FORWARD.

Added basic plumbing for the secondary mouse button to invoke
the context menu, particularly in lists.

Added clamp and split methods on MotionEvent to take care of
common filtering operations so we don't have them scattered
in multiple places across the framework.

Bug: 4260011
Change-Id: Ie992b4d4e00c8f2e76b961da0a902145b27f6d83
50e657bb2d005568f5dd8bc1d904d07b0d94018f 08-Mar-2011 Bjorn Bringert <bringert@android.com> Add Java API for writing TTS engines

This removes the old non-public C++ API for TTS
engines and replaces it with a Java API.

The new API is still @hidden, until it has been approved.

Bug: 4148636
Change-Id: I7614ff788e11f897e87052f684f1b4938d539fb7
da5a4440f019074e7aa61c5531c5c61755adc44d 01-Apr-2011 Mathias Agopian <mathias@google.com> ANativeWindow_setBuffersGeometry now returns proper error codes

Change-Id: Iac59d513fa1d4a55b8378000714d344ef3e2e0a4
696257ccf315a1da042787c5b2d1f80c7146fc94 26-Mar-2011 Mathias Agopian <mathias@google.com> merge libsurfaceflinger_client into libgui

this is the first step in unifying surfacetexture and surface.
for this reason the header files were not moved, as most of them
will eventually go away.

NOTE: currently we keep libsurfaceflinger_client.so as an empty
library to workaround prebuilt binaries wrongly linking against

Change-Id: I130f0de2428e8579033dc41394d093f4e1431a00
a032cc008618b83ecbbede537517d1e7998e3264 08-Mar-2011 Jeff Brown <jeffbrown@google.com> Add MotionEvent.HOVER_ENTER and HOVER_EXIT.

The input dispatcher sends a HOVER_ENTER to a window before dispatching
it any HOVER_MOVE events. For compatibility reasons, the window will
*also* receive the HOVER_MOVE. When the pointer moves into a different
window or the pointer goes down or when events are canceled for some reason,
the input dispatcher sends a HOVER_EXIT to the previously hovered window.

The view hierarchy behavior is similar. All views under the pointer
receive onHoverEvent with HOVER_ENTER followed by any number of HOVER_MOVE
events. When the pointer leaves a view, the view receives HOVER_EXIT.
Similarly, if a parent view decides to capture hover by returning true
from onHoverEvent, the hovered descendants will receive HOVER_EXIT.

The default behavior of onHoverEvent is to update the view's hovered
state by calling setHovered(true/false). Views can query their current
hovered state using isHovered().

For testing purposes, the hovered state is mapped to the pressed
drawable state. This will change in a subsequent commit with the
introduction of a new hovered drawable state.

Change-Id: Ib76a7a90236c8f2c7336e55773acade6346cacbe
e3d0022be8363411f27dc493d45b966be6d31efe 19-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Fix an incorrect NDK function prototype."
e325e9ada7be366468199157234a16d7606a0abe 16-Mar-2011 Jeff Brown <jeffbrown@google.com> Fix an incorrect NDK function prototype.

The function definition includes a history_index parameter but it was
missing from the header file. So the function declaration must be

Bug: 4108565
Change-Id: I7bacfacb28fdd51ffc80ae016c1b6ebb51fbd66f
9812aed2765c671e6c3f5255ac1b8a2fe0e72ef6 08-Mar-2011 Jeff Brown <jeffbrown@google.com> Add 3D mode key and others.

Related to an AOSP change request.

Change-Id: I3f4f84b56a1af626a8783f5ecbb823eb12ba9fbe
bae716bc153962c3ac79660bf32e5c50f0de343d 14-Mar-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: disallow unsupported uses.

This change makes the ANativeWindow_lock NDK function error out if it is
passed an ANativeWindow with a concrete type that is not Surface. It
also makes eglCreateWindowSurface fail if it is passed a
SurfaceTextureClient as its 'window' argument.

Bug: 4087277
Change-Id: Ie68c50c52d88f72d8a387f6c094908044c83a88c
7647091436c45af2d82f12c9ea9ec77fa309b49b 12-Mar-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 3515073 Add ANativeWindow_fromSurfaceTexture" into honeycomb-mr1
8529745b27877d98a0c76692295a3fcac238b1e6 04-Mar-2011 Jeff Brown <jeffbrown@google.com> Joystick tweaks. (DO NOT MERGE)

Ensure that the joystick can always reach -1.0, 0.0 and 1.0 positions
even when noise filtering is applied. (Bug: 3514510)

Add support for a few more standard axes.

Add additional mapping modes for axes.
Some axes are inverted from standard interpretation
or are actually intended to be split into two distict axes
such as left/right trigger controls or accelerator/brake.

Add key layout file for a G25 racing wheel and XBox 360 controller
to tweak behavior. They work fine without them but the axis mappings
are not ideal.

Change-Id: I0fddd90309af4dc14d35f34fe99ed6e521c0b7c7
846db33313aa0899fa7928256c6734964bd92520 04-Mar-2011 Glenn Kasten <gkasten@google.com> Bug 3515073 Add ANativeWindow_fromSurfaceTexture

This is similar to ANativeWindow_fromSurface.

Change-Id: Iaadc06a5d0d50685c34876aa89488c16e7cfaa65
05dc66ada6b61a6bdf806ffaa62617ac5394695d 02-Mar-2011 Jeff Brown <jeffbrown@google.com> Fade out the mouse pointer after inactivity or other events.

Fades out the mouse pointer:
- after 15 seconds of inactivity normally
- after 3 seconds of inactivity in lights out mode
- after a non-modifier key down
- after a touch down

Extended the native Looper to support enqueuing time delayed
messages. This is used by the PointerController to control
pointer fade timing.

Change-Id: I87792fea7dbe2d9376c78cf354fe3189a484d9da
33bbfd2232ea9eaae9a9d87a05a95a430f09bd83 25-Feb-2011 Jeff Brown <jeffbrown@google.com> Add support for mouse hover and scroll wheel.

Dispatch ACTION_HOVER_MOVE and ACTION_SCROLL through the View
hierarchy as onGenericTouchEvent. Pointer events dispatched
this way are delivered to the view under the pointer. Non-pointer
events continue to be delivered to the focused view.

Added scroll wheel support to AbsListView, ScrollView,
HorizontalScrollView and WebView. Shift+VSCROLL is translated
to HSCROLL as appropriate.

Added logging of new pointer events in PointerLocationView.

Fixed a problem in EventHub when a USB device is removed that
resulted in a long stream of ENODEV errors being logged until INotify
noticed the device was gone.

Note that the new events are not supported by wallpapers at this time
because the wallpaper engine only delivers touch events.

Make all mouse buttons behave identically. (Effectively we only
support one button.)

Change-Id: I9ab445ffb63c813fcb07db6693987b02475f3756
cc0c159e9b3dd4e0f48da0ce3e33d2c68a651413 19-Feb-2011 Jeff Brown <jeffbrown@google.com> Add new hover move action and scroll wheel plumbing.

Added support for tracking the mouse position even when the mouse button
is not pressed. To avoid confusing existing applications, mouse movements
are reported using the new ACTION_HOVER_MOVE action when the mouse button
is not pressed.

Added some more plumbing for the scroll wheel axes. The values are
reported to Views but they are not yet handled by the framework.

Change-Id: I1706be850d25cf34e5adf880bbed5cc3265cf4b1
6f2fba428ca5e77a26d991ad728e346cc47609ee 19-Feb-2011 Jeff Brown <jeffbrown@google.com> Add new axes for joysticks and mouse wheels.

Added API on InputDevice to query the set of axes available.
Added API on KeyEvent and MotionEvent to convert keycodes and axes
to symbolic name strings for diagnostic purposes.
Added API on KeyEvent to query if a given key code is a gamepad button.
Added a new "axis" element to key layout files to specify the
mapping between raw absolute axis values and motion axis ids.
Expanded the axis bitfield to 64bits to allow for future growth.
Modified the Makefile for keyboard prebuilts to run the keymap
validation tool during the build.
Added layouts for two game controllers.
Added default actions for game pad button keys.
Added more tests.
Fixed a bunch of bugs.

Change-Id: I73f9166c3b3c5bcf4970845b58088ad467525525
ebbd5d14ad3b1e762d9fcfa026e19413cc857e05 17-Feb-2011 Jeff Brown <jeffbrown@google.com> Fix a regression with MotionEvent parceling.

Also added some more unit tests.

Change-Id: I413654294d1a998eec056884e6df5eaa50f3daf4
91c69ab01539f7ba28708f41ec1835cc2920d0a0 15-Feb-2011 Jeff Brown <jeffbrown@google.com> Add support for arbitrary axes in MotionEvents.

This change makes it possible to extend the set of axes that
are reported in MotionEvents by defining new axis constants.

The MotionEvent object is now backed by its C++ counterpart
to avoid having to maintain multiple representations of the
same data.

Change-Id: Ibe93c90d4b390d43c176cce48d558d20869ee608
0f6226b9f417182bbf791598000f0a153fbf191c 18-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Add joystick support to framework."
cb1404e45639d20439d7700b06d57ca1a1aad1fa 16-Jan-2011 Jeff Brown <jeffbrown@google.com> Add joystick support to framework.

Change-Id: I95374436708752e1a9cff3f85c5b9bc3e0987961
805fd7ee0e5dc2939e85c84f78d9890a51982bc0 17-Jan-2011 Dianne Hackborn <hackbod@google.com> Add API to get path to OBBs.

Also hide the bitmap thumbnail stuff, we can't support it in its
current form.

And fix some bugs with propagating paths to native code. Yikes!

Change-Id: I13ab37ddbdba5c073489cba5eab035117d3c1574
977f64f04e2a1fa0bedfca88122a30c7be57f8b9 10-Jan-2011 Jeff Brown <jeffbrown@google.com> Flush Binder commands in ndk looper.

Bug: 3258183
Change-Id: Id79757d7b5c98333b4d3f39ce79ecc76b7be6941
06ea4d65e81123832d2ae547538d612b0e6b90fa 13-Dec-2010 Kenny Root <kroot@google.com> Introduce NDK API for 64-bit assets

Assets were switched to using 64-bit all through the system, so switch
the NDK to using this new API as well.

Change-Id: I2817b11369db3a4dd504b839ef1a3a9780b83533
1542af35976ce121b8a69812ab8dec7b71a0b283 08-Dec-2010 Kenny Root <kroot@google.com> Merge "Change assets to use 64-bit API"
ddb76c4644756b31be948d70aaa8ee541dd94999 24-Nov-2010 Kenny Root <kroot@google.com> Change assets to use 64-bit API

The asset system and supporting libraries were using off_t instead of
off64_t to access files larger than 2GB (32-bit signed). This change
replaces all off_t with off64_t and lseek64.

There is a new utils/Compat.h added for Mac OS compatibility.

Also fixed some size-related compiler warnings.

Bug: 3205336
Change-Id: I9097b3cb7a602e811fe52f245939d8975da55e9e
49ed71db425c5054e3ad9526496a7e116c89556b 07-Dec-2010 Jeff Brown <jeffbrown@google.com> Add support for fallback keycodes.

This change enables the framework to synthesize key events to implement
default behavior when an application does not handle a key.
For example, this change enables numeric keypad keys to perform
their associated special function when numlock is off.

The application is informed that it is processing a fallback keypress
so it can choose to ignore it.

Added a new keycode for switching applications.

Added ALT key deadkeys.

New default key mappings:
- Meta+ESC -> HOME
- Alt+ESC -> MENU
- Meta+Space -> SEARCH
- Meta+Tab -> APP_SWITCH

Fixed some comments.
Fixed some tests.

Change-Id: Id7f3b6645f3a350275e624547822f72652f3defe
3adf490a5aaa2e87676c8985b566fcb0dfeb74b9 09-Nov-2010 Jason Bayer <bayer@google.com> Add new keycodes initially used for GoogleTV devices.

Change-Id: I1b901037d6d401931dd3ec6f7d5e1e6ad165d1c9
3915bb845b032dc184dba5e60970b803390ca3ed 05-Nov-2010 Jeff Brown <jeffbrown@google.com> Tell system server whether the app handled input events.

Refactored ViewRoot, NativeActivity and related classes to tell the
dispatcher whether an input event was actually handled by the application.

This will be used to move more of the global default key processing
into the system server instead of the application.

Change-Id: If06b98b6f45c543e5ac5b1eae2b3baf9371fba28
51e7fe7545e3509ebb5c31c10440acd31cec89a2 30-Oct-2010 Jeff Brown <jeffbrown@google.com> Rename the locked meta key constants for clarity.

Also added some tests for LED setting.

Change-Id: I3fd86322afd07ae8de52d1ccbc2fae2c6d586641
b0418da0e7594a8c2164a46985c5f1993632e010 01-Nov-2010 Jeff Brown <jeffbrown@google.com> Add plumbing for volume mute key.

Full support for the volume mute key will be implemented in a
later change.

Bug: 2912307
Change-Id: I98c27d6360f159c8b7447e04b45f442eff87b38a
49d1735482dbcb017775b1807847e943f0a5152c 26-Oct-2010 Mathias Agopian <mathias@google.com> am 1b98a9e6: am 5219dd8e: Merge "add format parameter to setBufferGeometry" into gingerbread
3026a1c4e88412b7fe997f93fedba871d79a03cd 25-Oct-2010 Mathias Agopian <mathias@google.com> add format parameter to setBufferGeometry

Change-Id: I7cc2acdc6e65e9468ecfd5b2f22e6b495a383be9
6ab84eeb0fad723d6e3e1e9fc63a4896a5905248 25-Oct-2010 Dianne Hackborn <hackbod@google.com> am c2f78020: am 23656899: Merge "Fix issue #3126018: No way to specify NativeActivity\'s native method" into gingerbread

Merge commit 'c2f78020d3887539fc90230d96465e4b1dc84d8e'

* commit 'c2f78020d3887539fc90230d96465e4b1dc84d8e':
Fix issue #3126018: No way to specify NativeActivity's native method
236568999411214ef440cabc6d12e3bf5f19d8f4 25-Oct-2010 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3126018: No way to specify NativeActivity's native method" into gingerbread
e21d91c694e828e6285cc50e79b2a6be6e8c692b 24-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3126018: No way to specify NativeActivity's native method

Change-Id: I59de6a543e7f7f45d963a905829a3f56f32bf8cf
3ae4ac8538765d6cf5b8aceea8c81b21854321bd 24-Oct-2010 Jeff Brown <jeffbrown@google.com> am 2ef36763: am 860c2df4: Merge "Add unit tests for native input and fix bugs identified." into gingerbread

Merge commit '2ef36763700eff5679d6012e7f078c57f1a4c465'

* commit '2ef36763700eff5679d6012e7f078c57f1a4c465':
Add unit tests for native input and fix bugs identified.
c3db858de9fa152480b9cf53c8c0cb793a280722 21-Oct-2010 Jeff Brown <jeffbrown@google.com> Add unit tests for native input and fix bugs identified.

Fixed a bug where we would lose the first touch point when swiping out of
the virtual key area.

Fixed a bug where we would not send an ACTION_MOVE event in cases where
individual pointers went down/up and the remaining pointers actually moved.
This is important since many applications do not handle pointer movements
ACTION_POINTER_UP the movement was completely lost since all pointers were
dispatched using their old location rather than the new location.

Improved motion event validation to check for duplicate pointer ids.

Added an input source constant that was missing from the NDK api but
defined in the framework api.

Added a timestamp when reporting added/removed devices in EventHub.

Bug: 3070082
Change-Id: I3206a030f43b7616e2f48006e5a9d522c4d92e56
8fff4bff4de6b1a997d41a54a82ebf643759d49a 22-Oct-2010 Dianne Hackborn <hackbod@google.com> am 4f734cab: am 7ce276b5: Merge "Update script for copying NDK headers/library." into gingerbread
de5ba5ef7274f993d1612d3f902f27545aa99c8d 22-Oct-2010 Dianne Hackborn <hackbod@google.com> Update script for copying NDK headers/library.

Change-Id: Ia441ce37123d5b5cd343f2746671495705501fb5
bff26d156d23e55e2428e19b3fb7f52acf03f79f 22-Oct-2010 Dianne Hackborn <hackbod@google.com> am 86f1b643: am bf5efba2: Merge "Fix issue #3117918: No way to finish a native activity" into gingerbread

Merge commit '86f1b643d10e0b5b17ae01db3b81020db87b3295'

* commit '86f1b643d10e0b5b17ae01db3b81020db87b3295':
Fix issue #3117918: No way to finish a native activity
db28a94d499f995b467b07cee5c9b9119f538b1c 22-Oct-2010 Dianne Hackborn <hackbod@google.com> Fix issue #3117918: No way to finish a native activity

Change-Id: Ic53e712f7ab5412d72a31b96ecba252344b91644
497a92cc5ba2176b8a8484b0a7da040eac0e887b 13-Sep-2010 Jeff Brown <jeffbrown@google.com> Add keycodes and meta-key modifiers to support external keyboards.

Added new key maps for external keyboards. These maps are intended to
be shared across devices by inheriting the "keyboards.mk" product
makefile as part of the device's product definition.

One of the trickier changes here was to unwind some code in
MetaKeyKeyListener that assumed that only the low 8 bits of the meta key
state were actually used. The new code abandons bitshifts in favor
of simple conditionals that are probably easier to read anyways.
The special meta key state constants used by MetaKeyKeyListener
are now (@hide) defined in KeyEvent now so as to make it clearer that they
share the same code space even if those codes are not valid for KeyEvents.

The EventHub now takes care of detecting the appropriate key layout
map and key character map when the device is added and sets system
properties accordingly. This avoids having duplicate code in
KeyCharacterMap to probe for the appropriate key character map
although the current probing mechanism has been preserved for legacy
reasons just in case.

Added support for tracking caps lock, num lock and scroll lock and
turning their corresponding LEDs on and off as needed.

The key character map format will need to be updated to correctly support
PC style external keyboard semantics related to modifier keys.
That will come in a later change so caps lock doesn't actually do
anything right now except turn the shiny LEDs on and off...

Added a list of symbolic key names to KeyEvent and improved the toString()
output for debug diagnosis. Having this list in a central place in the
framework also allows us to remove it from Monkey so there is one less
thing to maintain when we add new keycodes.

Bug: 2912307
Change-Id: If8c25e8d50a7c29bbf5d663c94284f5f86de5da4
733e79c24042145d12a18cac59e8edb08965fab0 15-Oct-2010 Kenny Root <kroot@google.com> am 2f98a585: am 49ec3dff: Merge "OBB: Change documentation to reflect reality" into gingerbread

Merge commit '2f98a585cda066689b1b525322c51fcacbc3770b'

* commit '2f98a585cda066689b1b525322c51fcacbc3770b':
OBB: Change documentation to reflect reality
0a9b54e88b9cbb30748b5f0b331aec3f3ef8d639 14-Oct-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of 8bb7a1df to master

Change-Id: Ieec036f494a54eab74a27b954d1423bf981dd3f9
19dcd2aeba184f81b140b4fbc692bdd80a51299e 13-Oct-2010 Kenny Root <kroot@google.com> OBB: Change documentation to reflect reality

We can't reliably detect when the key for an OBB is incorrect, so just
remove the mention in the documentation. It still returns an error, but
just not the most specific error.

Bug: 3091064
Change-Id: I70e506822f2178a0ac5e4617fe545b23ce0026f4
af9d667ccf3e24058214cf4cc0a8aa8bc5100e3c 08-Oct-2010 Kenny Root <kroot@google.com> OBB: rearrange to be entirely asynchronous

Rearrange structure of MountService handling of OBBs to be entirely
asynchronous so we don't rely on locking as much. We still need the
locking to support dumpsys which has been improved to output all the
data structures for OBBs.

Added more tests to cover more of the error return codes.

Oh and fix a logic inversion bug.

Change-Id: I34f541192dbbb1903b24825889b8fa8f43e6e2a9
d5da367024c36b317b101fc066a7a4cf992c7d58 10-Oct-2010 Jeff Brown <jeffbrown@google.com> am 22cb4ef8: am d577cfd7: Merge "Switch Looper back to using poll() instead of epoll()." into gingerbread

Merge commit '22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5'

* commit '22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5':
Switch Looper back to using poll() instead of epoll().
415d8c38199e258dfce92cdb0c69e056b3b51ef8 06-Oct-2010 Jeff Brown <jeffbrown@google.com> Switch Looper back to using poll() instead of epoll().

Added a couple of micro-optimizations to avoid calling wake() unnecessarily
and reduce JNI overhead slightly.

Fixed a minor issue where we were not clearing the "next" field of Messages
returned by the MessageQueue so the Message would hold on to its successor
and potentially prevent the GC from collecting it if the message were leaked

Change-Id: I488d29417ce0cdd7d0e447cda76ec978ef7f811c
8fc2518776cb3989a4898ba4b1475549a548b7fb 30-Sep-2010 Dianne Hackborn <hackbod@google.com> am c3bc8b7b: am 1bfbf19b: Merge "Fix night/notnight resource folder handling." into gingerbread

Merge commit 'c3bc8b7b08611c8d86919f4695430990bc6b475d'

* commit 'c3bc8b7b08611c8d86919f4695430990bc6b475d':
Fix night/notnight resource folder handling.
2b9785aa65abdb1b38270c51ac34240462aecf65 30-Sep-2010 Tobias Haamel <haamel@google.com> Fix night/notnight resource folder handling.

The values for NIGHT_NO / NIGHT_YES are shifted later on in the
ResourceTypes header file to match with the ones specified in the
Configuration class file. This is basically the same as it's done for

Since the values are also masked later on by 0x30 (MASK_UI_MODE_NIGHT)
the system currently recognizes resources specified in night/notnight
folders as if they were resources which can be used for any of both
modes. This results in an error saying that the resources are already
specified somewhere else.

Should fix: http://b/issue?id=3022577

Change-Id: I554b37231ea4c69a8625e519150473fddce7d8ed
bff405f91001237ec94ec64f86fa2370c4509559 29-Sep-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of d8e8186c to master

Change-Id: Ica3f6cd958717ea7033cab8b4bf9cd3425c1e1c5
05105f7abe02b2dff91d6260b3628c8b97816bab 23-Sep-2010 Kenny Root <kroot@google.com> Update OBB API to include callbacks

Add a callback for users of the StorageManager API to be able to receive
notifications when the requested operation completes for mountObb and

Add NDK API to get to ObbInfo like the Java API has.

Also update the docs for the API and remove the "STOPSHIP" comments.

Change-Id: I23a4409c7f8b74d3169614beba920b4d667990a4
707929d6f8f8ff2663da9982a99f943736b8be5c 16-Sep-2010 Jeff Brown <jeffbrown@google.com> am 61cf67a2: am 24326f72: Merge "Input API review." into gingerbread

Merge commit '61cf67a220ba3205737c646c1c836a92074220de'

* commit '61cf67a220ba3205737c646c1c836a92074220de':
Input API review.
49478536b6b8b28f33398393bed5e939085af7af 15-Sep-2010 Jeff Brown <jeffbrown@google.com> am 14bc6b5d: am 09340a4b: Merge "Replace epoll() with poll() and rename PollLoop to Looper." into gingerbread

Merge commit '14bc6b5d0677e5c454a67775c852f90389bb4567'

* commit '14bc6b5d0677e5c454a67775c852f90389bb4567':
Replace epoll() with poll() and rename PollLoop to Looper.
dc1ab4b5cc274b7d744c11a939bb5910becec5e0 15-Sep-2010 Jeff Brown <jeffbrown@google.com> Input API review.

Drop currently unsupported input features.
Add documentation comments.

Change-Id: I407d2e1dd90c5ee82983a3ccf177430d35ee7592
4fe6c3e51be77e35f40872cdbca6c80f8f8b7ecb 14-Sep-2010 Jeff Brown <jeffbrown@google.com> Replace epoll() with poll() and rename PollLoop to Looper.

As part of this change, consolidated and cleaned up the Looper API so
that there are fewer distinctions between the NDK and non-NDK declarations
(no need for two callback types, etc.).

Removed the dependence on specific constants from sys/poll.h such as
POLLIN. Instead looper.h defines events like LOOPER_EVENT_INPUT for
the events that it supports. That should help make any future
under-the-hood implementation changes easier.

Fixed a couple of compiler warnings along the way.

Change-Id: I449a7ec780bf061bdd325452f823673e2b39b6ae
b380c4d7edc158788a85c906900232675c0164ac 08-Sep-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of a05088c1 to master

Change-Id: I7973f9f28586dec9b9659f8f662f40db7997a521
85a3176704b5bfbeece9bd928369fbb76eec7dc6 02-Sep-2010 Jeff Brown <jeffbrown@google.com> Add support for secure views.

Added the MotionEvent.FLAG_WINDOW_IS_OBSCURED flag which is set by the
input manager whenever another visible window is partly or wholly obscured
the target of a touch event so that applications can filter touches

Added a "filterTouchesWhenObscured" attribute to View which can be used to
enable filtering of touches when the view's window is obscured.

Change-Id: I936d9c85013fd2d77fb296a600528d30a29027d2
347262622b86410ff8a4ff3530ab3688b6a20b21 08-Sep-2010 Dianne Hackborn <hackbod@google.com> am a1205f07: am 2d3739d4: Merge "Modify native ALooper to take an explicit ident." into gingerbread

Merge commit 'a1205f07a6f0c745e8f42f16fe38c06af04143c7'

* commit 'a1205f07a6f0c745e8f42f16fe38c06af04143c7':
Modify native ALooper to take an explicit ident.
42c03e579aade011b451e2a13ea3f44a2ef0056a 08-Sep-2010 Dianne Hackborn <hackbod@google.com> Modify native ALooper to take an explicit ident.

The ALooper API now uses an explicit "identifier" for the integer
that is returned rather than implicitly using the fd. This allows
the APIs that had the fd to be a little more sane.

Change-Id: I8507f535ad484c0bdc4a1bd016d87bb09acd7ff0
ee6d676c5b997a1214e96b6ba3755054382717c5 01-Sep-2010 Jeff Brown <jeffbrown@google.com> am df02df11: am 307ed31c: Merge "Remove incomplete input device enumeration NDK API." into gingerbread

Merge commit 'df02df115a594553b3ebaa95a0a7f7185a8787d3'

* commit 'df02df115a594553b3ebaa95a0a7f7185a8787d3':
Remove incomplete input device enumeration NDK API.
5fad2675e8deee60aa91d7a96c9ac4826357f2c5 01-Sep-2010 Jeff Brown <jeffbrown@google.com> Remove incomplete input device enumeration NDK API.

Change-Id: I32de74ff5fcf0e29179a2aee03ddabd22fa485bb
22f5ee93746f37823265b8cb9b1e94e572607514 31-Aug-2010 Jeff Brown <jeffbrown@google.com> am 36f0cb26: am 8d60866e: Input device calibration and capabilities.

Merge commit '36f0cb26cbb4ef62995ff2e5a540cf8814e7f030'

* commit '36f0cb26cbb4ef62995ff2e5a540cf8814e7f030':
Input device calibration and capabilities.
8d60866e2100db70ecf0502c14768a384514d7e9 30-Aug-2010 Jeff Brown <jeffbrown@google.com> Input device calibration and capabilities.

Finished the input device capability API.
Added a mechanism for calibrating touch devices to obtain more
accurate information about the touch contact area.
Improved pointer location to show new coordinates and capabilities.
Optimized pointer location display and formatting to avoid allocating large
numbers of temporary objects. The GC churn was causing the application to
stutter very badly when more than a couple of fingers were down).
Added more diagnostics.

Change-Id: Ie25380278ed6f16c5b04cd9df848015850383498
53e75ea847df20b29124966a4232dc0109c37e27 24-Aug-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of 485de781 to master

Change-Id: I483cb81596f09b024b1aea7fc55960183f38b24f
086d084dd9deab4350981da5e48c8bda5e88fb75 20-Aug-2010 Kenny Root <kroot@google.com> Add AStorageManager API to NDK

AStorageManager allows users of the NDK to access OBBs for now.

Change-Id: I8a25757901a175aa90a9f3e8c2a5db7873e8615e
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
ce49d03aa40123a086d6017052873bed83835298 30-Jul-2010 Mathias Agopian <mathias@google.com> resolved conflicts for merge of 02513855 to master

Change-Id: Ie33d57798d3d5b800edde753dac86de062bc270c
050b56244ff46d43e4886018d7cd20f0b1dc02b9 30-Jul-2010 Mathias Agopian <mathias@google.com> Added SensorManager.getMinDelay()

Exposed the new "min delay" sensor property through native and
java sensor apis. This allows the caller to know what is the
maximum rate at which a sensor can return events, or, if a sensor
works in "update" mode (events returned only when the value changes).

Also augmented SensorManager.regusterSensorEvent() so that it can
accept a value in microsecond in addition to the 4 constants already

Change-Id: If425e9979892666df8c989d7de3c362230fa19e0
48555f8f09c87224e312554b6b771ee30da6a435 29-Jul-2010 Kenny Root <kroot@google.com> am 31a0b956: am 3de27d5a: Merge "Add stdint.h to fix sim-eng" into gingerbread

Merge commit '31a0b956396e417bdbfee97554afb5b52d68a8ba'

* commit '31a0b956396e417bdbfee97554afb5b52d68a8ba':
Add stdint.h to fix sim-eng
e30de4e6a312aa921633d119f2518f4b07a7effa 29-Jul-2010 Kenny Root <kroot@google.com> Add stdint.h to fix sim-eng

Change-Id: I82cebe3e769aa4db99bd758bd2f182b0d462de6f
2279971b6f66d60240b8c72a9d52644a3bcdf01b 28-Jul-2010 Jeff Brown <jeffbrown@google.com> am 9795a25d: am 6d0fec2d: Refactor input reader to support new device types more easily.

Merge commit '9795a25da060f9a7df87da8ab43fb1086d4322a5'

* commit '9795a25da060f9a7df87da8ab43fb1086d4322a5':
Refactor input reader to support new device types more easily.
6d0fec2de3601821f4f44eeb7d7deedebb2b7117 24-Jul-2010 Jeff Brown <jeffbrown@google.com> Refactor input reader to support new device types more easily.

Refactored the input reader so that each raw input protocol is handled
by a separate subclass of the new InputMapper type. This way, behaviors
pertaining to keyboard, trackballs, touchscreens, switches and other
devices are clearly distinguished for improved maintainability.

Added partial support for describing capabilities of input devices
(incomplete and untested for now, will be fleshed out in later commits).

Simplified EventHub interface somewhat since InputReader is taking over
more of the work.

Cleaned up some of the interactions between InputManager and
WindowManagerService related to reading input state.

Fixed swiping finger from screen edge into display area.

Added logging of device information to 'dumpsys window'.

Change-Id: I17faffc33e3aec3a0f33f0b37e81a70609378612
50558b956157dad980441bf4fb44931ce834e36b 22-Jul-2010 Mathias Agopian <mathias@google.com> resolved conflicts for merge of bc54e63c to master

Change-Id: I4245b15b4cda6963d735442c0c6a04a0477ff5e1
1bf797857e025e8a71db86fb9e79765a767ec1eb 15-Jul-2010 Mathias Agopian <mathias@google.com> new SensorService

remove old sensor service and implement SensorManager
on top of the new (native) SensorManger API.

Change-Id: Iddb77d498755da3e11646473a44d651f12f40281
781d34747941f3534b2a985ff57368ad89855d7d 16-Jul-2010 Dianne Hackborn <hackbod@google.com> am 9c37e5ad: am 75a91389: Merge "Implement native key pre-dispatching to IMEs." into gingerbread

Merge commit '9c37e5add9d7678a29b4e0d1e178fe78a13db961'

* commit '9c37e5add9d7678a29b4e0d1e178fe78a13db961':
Implement native key pre-dispatching to IMEs.
b75fa30aaf03d9e425d150b452501e5df0621351 16-Jul-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of aca672ba to master

Change-Id: I7ae11fca0acdbf513a4870226d0d3e3cafbe9a08
6ba776ad34a8029e4d0c784ce0092f1fcbc91bef 16-Jul-2010 Christopher Tate <ctate@google.com> am 078ccbdb: am 2c40582a: Merge "Add native C APIs for working with the Asset Manager" into gingerbread

Merge commit '078ccbdbb98c118aa87cab2fef61ff90dd128358'

* commit '078ccbdbb98c118aa87cab2fef61ff90dd128358':
Add native C APIs for working with the Asset Manager
2c6081ce3593712f30dacd990a97209c791d6ced 16-Jul-2010 Dianne Hackborn <hackbod@google.com> Implement native key pre-dispatching to IMEs.

This significantly re-works the native key dispatching code to
allow events to be pre-dispatched to the current IME before
being processed by native code. It introduces one new public
API, which must be called after retrieving an event if the app
wishes for it to be pre-dispatched.

Currently the native code will only do pre-dispatching of
system keys, to avoid significant overhead for gaming input.
This should be improved to be smarted, filtering for only
keys that the IME is interested in. Unfortunately IMEs don't
currently provide this information. :p

Change-Id: Ic1c7aeec8b348164957f2cd88119eb5bd85c2a9f
c5ed5910c9ef066cec6a13bbb404ec57b1e92637 15-Jul-2010 Jeff Brown <jeffbrown@google.com> Add support for new input sources.

Added several new coordinate values to MotionEvents to capture
touch major/minor area, tool major/minor area and orientation.

Renamed NDK input constants per convention.

Added InputDevice class in Java which will eventually provide
useful information about available input devices.

Added APIs for manufacturing new MotionEvent objects with multiple
pointers and all necessary coordinate data.

Fixed a bug in the input dispatcher where it could get stuck with
a pointer down forever.

Fixed a bug in the WindowManager where the input window list could
end up containing stale removed windows.

Fixed a bug in the WindowManager where the input channel was being
removed only after the final animation transition had taken place
which caused spurious WINDOW DIED log messages to be printed.

Change-Id: Ie55084da319b20aad29b28a0499b8dd98bb5da68
6cce32b6adbb3a9725fc730ba0e0068a74657e60 13-Jul-2010 Christopher Tate <ctate@google.com> Add native C APIs for working with the Asset Manager

Change-Id: I493b142c4b35e5cc1a1e85283bb5dfb306a6d261
4b85590f8d021e338248623b641b4867329e2834 15-Jul-2010 Dianne Hackborn <hackbod@google.com> am 7417ae93: am ccc77328: Merge "Remove old glue code." into gingerbread

Merge commit '7417ae9354e10971c0b5d41dc9194fab17b80ea1'

* commit '7417ae9354e10971c0b5d41dc9194fab17b80ea1':
Remove old glue code.
ccc77328da66436010f3bca000c4b4665270500a 15-Jul-2010 Dianne Hackborn <hackbod@google.com> Merge "Remove old glue code." into gingerbread
764f436cb9e734afdc55a7b4ac65b27860383a09 15-Jul-2010 Mathias Agopian <mathias@google.com> am db386f2c: am c9a11088: Merge "first step at implementing the native sensor support" into gingerbread

Merge commit 'db386f2c263c6e9e4b825d4c9a320849f8f2c916'

* commit 'db386f2c263c6e9e4b825d4c9a320849f8f2c916':
first step at implementing the native sensor support
c9a11088e503b9e3ae52a3f671b2d21f5cd54f06 15-Jul-2010 Mathias Agopian <mathias@google.com> Merge "first step at implementing the native sensor support" into gingerbread
1e86ce6ed29ed774e83256c196c5341791e7cdb4 15-Jul-2010 Dianne Hackborn <hackbod@google.com> Remove old glue code.

Change-Id: Ic4a9c1f09d9bd4258d9766d546b0999b79997635
039a9ae320f0df32df33964ca1afe5fb52e4305d 15-Jul-2010 Charles Chen <clchen@google.com> Adding the old legacy method for getTtsEngine for Froyo compatibility.

Change-Id: I1f29f1b670137daff0c153e9f7ecdb7bfb2b5ff6
b957b9d63c88efd3a961759424987b99219adeed 14-Jul-2010 Mathias Agopian <mathias@google.com> first step at implementing the native sensor support

in this commit:
- implemented the C stub
- implemented the binder interfaces involved
- implemented most of the C++ client side

- SensorManager cannot connect to the SensorServer yet
(because there is no SensorServer yet)

Change-Id: I75010cbeef31c98d6fa62fd5d388dcef87c2636b
0eb1d98bc4a347a1fee62501e0b1731dc82d1011 14-Jul-2010 Mathias Agopian <mathias@google.com> am e69204a0: am 36ff93aa: Merge "NDK sensor API" into gingerbread

Merge commit 'e69204a02a9d2babd5352180fb541e7295db911a'

* commit 'e69204a02a9d2babd5352180fb541e7295db911a':
NDK sensor API
36ff93aa1f489e6af6c2acce38beb0bffd6b8f8a 14-Jul-2010 Mathias Agopian <mathias@google.com> Merge "NDK sensor API" into gingerbread
e558010a623ead3564fe4d656a5963bf05c17edd 13-Jul-2010 Mathias Agopian <mathias@google.com> NDK sensor API

Change-Id: Ie07afc349ca3331e065725ba9d7ebe9722959653
2388ad9eef109fa7f63c196c819c83f0376f0645 14-Jul-2010 Dianne Hackborn <hackbod@google.com> am f8d9379b: am d76b67c3: IME events are now dispatched to native applications.

Merge commit 'f8d9379bd834573feca085284970cf686993c330'

* commit 'f8d9379bd834573feca085284970cf686993c330':
IME events are now dispatched to native applications.
d76b67c340d1564abf8d14d976fdaf83bf2b3320 14-Jul-2010 Dianne Hackborn <hackbod@google.com> IME events are now dispatched to native applications.

And also:

- APIs to show and hide the IME, and control its interaction with the app.
- APIs to tell the app when its window resizes and needs to be redrawn.
- API to tell the app the content rectangle of its window (to layout
around the IME or status bar).

There is still a problem with IME interaction -- we need a way for the
app to deliver events to the IME before it handles them, so that for
example the back key will close the IME instead of finishing the app.

Change-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd
6ac7674e143f9716312f048da3f25ca83b646315 14-Jul-2010 Jeff Brown <jeffbrown@google.com> am 89ee578b: am fd035829: Add initial gamepad support.

Merge commit '89ee578b7053d27a50922f82feb94bf6054b330c'

* commit '89ee578b7053d27a50922f82feb94bf6054b330c':
Add initial gamepad support.
fd03582995e0fce963dd0fa0669e3211b74c0dd7 01-Jul-2010 Jeff Brown <jeffbrown@google.com> Add initial gamepad support.

Change-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9
d63c5d4e930732ef2a41266fcc8237cb1ec81320 10-Jul-2010 Dianne Hackborn <hackbod@google.com> am bbf0bde5: am faccac76: Make a stupid thing about the glue less stupid.

Merge commit 'bbf0bde5d8311f84b6f0a8d018d78a78429602b7'

* commit 'bbf0bde5d8311f84b6f0a8d018d78a78429602b7':
Make a stupid thing about the glue less stupid.
faccac7616795859af257777900db514d425a106 10-Jul-2010 Dianne Hackborn <hackbod@google.com> Make a stupid thing about the glue less stupid.

There is no reason to make the app developer delete the
glue. Seriously.

Change-Id: Ic6a93ba17b44889783b35a2a0a2b67ffcd647f47
8445ca6c3ba9b7cee6d20f5919e3b3ba8e6b8c96 10-Jul-2010 Dianne Hackborn <hackbod@google.com> am b14f325a: am 289b9b62: Add ANativeWindow API for directly drawing to the surface bits.

Merge commit 'b14f325a0118ffce286155caaabaae149653462c'

* commit 'b14f325a0118ffce286155caaabaae149653462c':
Add ANativeWindow API for directly drawing to the surface bits.
289b9b62372ef52a06113b83dfb870e2c2fb325a 09-Jul-2010 Dianne Hackborn <hackbod@google.com> Add ANativeWindow API for directly drawing to the surface bits.

Also other cleanup and fixes:

- We now properly set the default window format to 565.
- New APIs to set the window format and flags from native code.
- Tweaked glue for simpler handling of the "destroy" message.
- Um, other stuff.

Change-Id: Id7790a21a2fa9a19b91854d225324a7c1e7c6ade
d8a6271bb1da4ee2a8ae126b532f1b5f302decb8 09-Jul-2010 Dianne Hackborn <hackbod@google.com> am 49159f07: am 74bf59b4: Merge "Add new glue code for writing native apps." into gingerbread

Merge commit '49159f0748c704e53a7bd754f26113d9ab844a97'

* commit '49159f0748c704e53a7bd754f26113d9ab844a97':
Add new glue code for writing native apps.
85448bbecd4e0909eecfab15b7c3605f114d0427 07-Jul-2010 Dianne Hackborn <hackbod@google.com> Add new glue code for writing native apps.

This factors out the boiler-plate code from the sample
app to a common glue code that can be used for everyone
writing this style of app: a dedicated app thread that
takes care of waiting for events and processing them.

As part of doing this, ALooper has a new facility to allow
registration of fds that cause ALooper_pollOnce() to return
the fd that has data, allowing the app to drive the loop
without callbacks. Hopefully this makes some people feel better. :)

Also do some other cleanup of the ALooper API, plus some
actual documentation.

Change-Id: Ic53bd56bdf627e3ba28a3c093faa06a92be522b8
97250d5c4ab5c36dc4f7cf1d9d48157ed934615d 07-Jul-2010 Dianne Hackborn <hackbod@google.com> am e24901d3: am 68267415: Add new native Looper API.

Merge commit 'e24901d3adb28fff72821d4e8e2ccc25b2184550'

* commit 'e24901d3adb28fff72821d4e8e2ccc25b2184550':
Add new native Looper API.
682674154e3fe88f6061245145f934f25f1a2eb8 03-Jul-2010 Dianne Hackborn <hackbod@google.com> Add new native Looper API.

This allows us to avoid exposing the file descriptor of
the event queue; instead, you attach an event queue to
a looper. This will also should allow native apps to be
written without the need for a separate thread, by attaching
the event queue to the main thread's looper and scheduling
their own messages there.

Change-Id: I38489282635895ae2cbfacb88599c1b1cad9b239
4847e630e5e740f6bf0e87b3cccbb655346edcb7 02-Jul-2010 Dianne Hackborn <hackbod@google.com> am 39c921c6: am 8ae5a8e7: Get to the point of being able to do native drawing.

Merge commit '39c921c6e5316696d8c61d1ee465f9b5f894c4ed'

* commit '39c921c6e5316696d8c61d1ee465f9b5f894c4ed':
Get to the point of being able to do native drawing.
8ae5a8e7c04c7b204b739dfcd5da9e2e0f83e1eb 02-Jul-2010 Dianne Hackborn <hackbod@google.com> Get to the point of being able to do native drawing.

A little cleanup.

Change-Id: I37ef0557abf330d91d6fe47e81d062206b3bc346
738639ccd0f12b06d17df3d3b3ee68f506311331 02-Jul-2010 Dianne Hackborn <hackbod@google.com> am 58f35ff4: am 54a181b1: Make real API for native code to get its window.

Merge commit '58f35ff41601769ca4f357575a9385f16c01b991'

* commit '58f35ff41601769ca4f357575a9385f16c01b991':
Make real API for native code to get its window.
54a181b1a2b1517a9479b21fbf7705a688232faf 01-Jul-2010 Dianne Hackborn <hackbod@google.com> Make real API for native code to get its window.

Added implementation to use ANativeWindow and provide
it to a NativeActivity.

Change-Id: I890d71b6e15d4af71e6cf81b327961d7061ec1c2
efcd77407b321498a43ca380c8f67b84eb5a2d6e 01-Jul-2010 Dianne Hackborn <hackbod@google.com> am 177c405a: am c6e1d880: Merge "Introduce official public NativeWindow type." into gingerbread

Merge commit '177c405a242e811b1010bd8382b5807ab8df31a8'

* commit '177c405a242e811b1010bd8382b5807ab8df31a8':
Introduce official public NativeWindow type.
25a98b8e21f7840ae582ce0a4cde21694c4c94ec 01-Jul-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 7f6c6e8f to master

Change-Id: Id9dddb78c51f16ff8c4b60339421c94fde506db2
8b49bd1a2f8117e1c22884f0150e72cbcf838f32 30-Jun-2010 Dianne Hackborn <hackbod@google.com> Introduce official public NativeWindow type.

Not yet hooked up to anything in the NDK, but requires renaming
the existing android_native_window_t type everywhere.

Change-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e
3c80a4a044865bdf1289c7896baffa1c082d835c 30-Jun-2010 Dianne Hackborn <hackbod@google.com> Implement default key handling for native code.

The native code now maintains a list of all keys that may use
default handling. If the app finishes one of these keys
without handling it, the key will be passed back off to Java
for default treatment.

Change-Id: I6a842a0d728eeafa4de7142fae573f8c11099e18
639061d9c29fb97646c083f719a26992a7d24d85 29-Jun-2010 Dianne Hackborn <hackbod@google.com> am b5f05d00: am 0934fbb6: Merge "Update native activity & event APIs to follow correct conventions." into gingerbread

Merge commit 'b5f05d0018d72531e40c2afadfee90e9bc0c8893'

* commit 'b5f05d0018d72531e40c2afadfee90e9bc0c8893':
Update native activity & event APIs to follow correct conventions.
2e9f93e8db509d5236229dc8540e0904c5dbb9f5 29-Jun-2010 Dianne Hackborn <hackbod@google.com> Update native activity & event APIs to follow correct conventions.

Change-Id: Ie64fb3a9c68bc9c117fa5621b75d1f609e304e0e
320742b15a710ede57862eee170945da26ef0172 23-Jun-2010 Dianne Hackborn <hackbod@google.com> am e3e2883f: am e24a60aa: Merge "First stab at attaching native event dispatching." into gingerbread

Merge commit 'e3e2883f2232007174ead562610eb01201890d9b'

* commit 'e3e2883f2232007174ead562610eb01201890d9b':
First stab at attaching native event dispatching.
a95e4cb62f3642cb190d032dbf7dc40d9ecc6973 19-Jun-2010 Dianne Hackborn <hackbod@google.com> First stab at attaching native event dispatching.

Provides the basic infrastructure for a
NativeActivity's native code to get an object representing
its event stream that can be used to read input events.

Still work to do, probably some API changes, and reasonable
default key handling (so that for example back will still

Change-Id: I6db891bc35dc9683181d7708eaed552b955a077e
4e74ae3d5b27d917ea26d0929015f9fdc64af412 17-Jun-2010 Jeff Brown <jeffbrown@google.com> am 42bb545a: am 5c225b16: Even more native input dispatch work in progress.

Merge commit '42bb545a54d89f0ddbb230d7a01ea4210c0f6c00'

* commit '42bb545a54d89f0ddbb230d7a01ea4210c0f6c00':
Even more native input dispatch work in progress.
5c225b1680e696ae8bbf505a1997d6f720672f74 16-Jun-2010 Jeff Brown <jeffbrown@google.com> Even more native input dispatch work in progress.

Added more tests.
Fixed a regression in Vector.
Fixed bugs in pointer tracking.
Fixed a starvation issue in PollLoop when setting or removing callbacks.
Fixed a couple of policy nits.

Modified the internal representation of MotionEvent to be more
efficient and more consistent.

Added code to skip/cancel virtual key processing when there are multiple
pointers down. This helps to better disambiguate virtual key presses
from stray touches (such as cheek presses).

Change-Id: I2a7d2cce0195afb9125b23378baa94fd2fc6671c
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
01f2f960e73701633a169fbb2b777a4915a5b12c 21-May-2010 David 'Digit' Turner <digit@google.com> Improved native TTS interface header.

The purpose of this patch is to add a C-based ABI that can be exposed by the NDK
for developers wanting to write a TTS Engine. This replaces the C++ ABI that is
currently under frameworks/base/include/tts/TtsEngine.h but is *binary* compatible
with it.

As a consequence, the svox pico plugin under external/svox/pico/tts/, which
links against tts/TtsEngine.h can be loaded by the TTS service properly.

Another patch would modify the pico tts to use <android/tts.h>, then we will
be able to get rid of <tts/TtsEngine.h> in the source tree.

Change-Id: I16844cef9b5b006cc32655a29e4f9f193c8c1a91
74323fd1ab8eb11beea286d5c213c63e4b803141 19-May-2010 Dianne Hackborn <hackbod@google.com> Update NativeActivity to allow direct surface access.

No actual native API for using a surface, but it's a step.

Change-Id: I627f26b705abc7a05edf9117411abfacf0fae64a
dc8a7f69d7df5f1ca29763995a0d55acf7936fc6 10-May-2010 Dianne Hackborn <hackbod@google.com> Add new API to take over a window's Surface.

Change-Id: Iad6245faadc95f19ea63c8e229a1c02e9188f69e
ea5477c85445d743284b365b90171c867315ec48 06-May-2010 Dan Bornstein <danfuzz@android.com> am 89ad07b0: am 42ee86e6: Merge "For issue #2651381, allow library prelinking." into froyo

Merge commit '89ad07b048ff035394596d6a8916f639f3f0b868' into kraken

* commit '89ad07b048ff035394596d6a8916f639f3f0b868':
For issue #2651381, allow library prelinking.
782e9fd7492e607f2f71c13da5d86ee99ae03544 06-May-2010 Dan Bornstein <danfuzz@android.com> For issue #2651381, allow library prelinking.

Change-Id: I1cb467a158e21fc02cac6af585ac8d27c2bf42de
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
3227631fe99c271a47f9f5135c4ffe1bec3e72f0 04-Feb-2010 Dima Zavin <dima@android.com> Move the NDK graphics wrapper (libjnigraphics) to frameworks/base/native

Change-Id: I2a5adde9f8e4683c4b4526a29ad276c3e581e029
Signed-off-by: Dima Zavin <dima@android.com>