672 Commits

Author SHA1 Message Date
Mathias Agopian
0251385553 am 050b5624: Added SensorManager.getMinDelay()
Merge commit '050b56244ff46d43e4886018d7cd20f0b1dc02b9' into gingerbread-plus-aosp

* commit '050b56244ff46d43e4886018d7cd20f0b1dc02b9':
  Added SensorManager.getMinDelay()
2010-07-29 18:20:51 -07:00
Mathias Agopian
050b56244f 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
defined.

Change-Id: If425e9979892666df8c989d7de3c362230fa19e0
2010-07-29 18:18:00 -07:00
Brad Fitzpatrick
245cb7846c am 84c924a6: Merge "Replace several IPCThreadState::get() lookups with one." into gingerbread
Merge commit '84c924a6c53cb63ca018013c9fda0077413d0005' into gingerbread-plus-aosp

* commit '84c924a6c53cb63ca018013c9fda0077413d0005':
  Replace several IPCThreadState::get() lookups with one.
2010-07-27 14:02:01 -07:00
Brad Fitzpatrick
7bcad8a315 Replace several IPCThreadState::get() lookups with one.
Also, make StrictMode's ThreadLocal final.

Change-Id: I08d400ed254fa67bb7a3dae1227f205a54c00df0
2010-07-27 12:28:57 -07:00
Gilles Debunne
d24ac17121 am 8cd48574: Fixed bug in BitmapFactory.decodeStream
Merge commit '8cd48574a755bea86243e9f9eabaee341ecf9c60' into gingerbread-plus-aosp

* commit '8cd48574a755bea86243e9f9eabaee341ecf9c60':
  Fixed bug in BitmapFactory.decodeStream
2010-07-26 11:41:46 -07:00
Gilles Debunne
8cd48574a7 Fixed bug in BitmapFactory.decodeStream
Downloading images over a slow connection could result in errors and
null images.

The JavaInputStreamAdaptor::do_skip method was correctly called in a
loop (to handle the EOF case using read()), but the amount that was
skipped at each time was not decreased by the amount already skipped.

Bug http://code.google.com/p/android/issues/detail?id=6066

Cherry picked from master CL57808

Change-Id: Ie6856898b21ba31de1209e1f995b4ae784c919b9
2010-07-23 13:40:59 -07:00
Mathias Agopian
1f2ec4070a am 23e8de26: propagate sensor event rate properly
Merge commit '23e8de26b7b3d04daf08526f314c2fdd2f8fee65' into gingerbread-plus-aosp

* commit '23e8de26b7b3d04daf08526f314c2fdd2f8fee65':
  propagate sensor event rate properly
2010-07-21 16:12:28 -07:00
Mathias Agopian
bc54e63c84 am e4764521: Merge "new SensorService" into gingerbread
Merge commit 'e4764521353e898554931a557460fc49209fb0a9' into gingerbread-plus-aosp

* commit 'e4764521353e898554931a557460fc49209fb0a9':
  new SensorService
2010-07-21 16:09:55 -07:00
Mathias Agopian
23e8de26b7 propagate sensor event rate properly
Change-Id: I32e67d30e4295285a6827956cc8161b2025d70bc
2010-07-21 16:09:39 -07:00
Mathias Agopian
e476452135 Merge "new SensorService" into gingerbread 2010-07-21 16:06:46 -07:00
Eric Laurent
3416113203 am 7070b365: Added support for auxiliary audio effects to AudioTrack and MediaPlayer.
Merge commit '7070b36549d511d6627538c73dfbab23fbae5b43' into gingerbread-plus-aosp

* commit '7070b36549d511d6627538c73dfbab23fbae5b43':
  Added support for auxiliary audio effects to AudioTrack and MediaPlayer.
2010-07-21 09:49:27 -07:00
Eric Laurent
7070b36549 Added support for auxiliary audio effects to AudioTrack and MediaPlayer.
Added methods to AudioTrack and MediaPlayer java classes to enable use of
auxiliary audio effects. The effect can be attached and detached by specifying its
ID and the send level controlled.

Change-Id: Ie74ff54a453096a742688476f612ce355543b6f3
2010-07-21 06:28:01 -07:00
Mathias Agopian
1bf797857e new SensorService
remove old sensor service and implement SensorManager
on top of the new (native) SensorManger API.

Change-Id: Iddb77d498755da3e11646473a44d651f12f40281
2010-07-19 17:57:29 -07:00
Jeff Brown
e2fb11b9b0 am ace999b0: Ignore attempts to finish events on unregistered channels.
Merge commit 'ace999b096739d376d4845c0ba94599197ff8477' into gingerbread-plus-aosp

* commit 'ace999b096739d376d4845c0ba94599197ff8477':
  Ignore attempts to finish events on unregistered channels.
2010-07-16 16:03:07 -07:00
Jeff Brown
ace999b096 Ignore attempts to finish events on unregistered channels.
This is a common race that happens during application shutdown where the window
may be removed before the input event is finished.  The input dispatcher
already recovers from this condition gracefully so there are no benefits to
throwing an exception on the client side.

Bug: 2834068

Change-Id: I53dcc3230464d7f528ac8a1cc9f01b5bb642f428
2010-07-16 15:41:07 -07:00
Jamie Gennis
04b953132e am c8c79a65: Merge "Re-use existing Surface objects when reading them from parcels." into gingerbread
Merge commit 'c8c79a654d4ae8e3a883854e19cc2df757f72d82' into gingerbread-plus-aosp

* commit 'c8c79a654d4ae8e3a883854e19cc2df757f72d82':
  Re-use existing Surface objects when reading them from parcels.
2010-07-16 15:17:59 -07:00
Jamie Gennis
5ee65f0d44 Re-use existing Surface objects when reading them from parcels.
This change adds a process-global cache of previously deserialized Surface
objects so that if a Surface object wrapping the same ISurface gets received
again the same Surface can be used.  This is important because the 'tail'
pointer in the SharedBufferClient is stored only on the client side, and needs
to be the same for all the Surface objects wrapping an ISurface instance.  This
solves the problem by making there only be one Surface object wrapping an
ISurface per process.

Change-Id: I4bf0b8787885c56277622fca053022d2bb638902
2010-07-16 13:03:15 -07:00
Dianne Hackborn
9c37e5add9 am 75a91389: Merge "Implement native key pre-dispatching to IMEs." into gingerbread
Merge commit '75a91389f1938214397aaee262f4136e6bb6b094' into gingerbread-plus-aosp

* commit '75a91389f1938214397aaee262f4136e6bb6b094':
  Implement native key pre-dispatching to IMEs.
2010-07-15 22:24:53 -07:00
Dianne Hackborn
75a91389f1 Merge "Implement native key pre-dispatching to IMEs." into gingerbread 2010-07-15 22:22:42 -07:00
Dianne Hackborn
2c6081ce35 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
2010-07-15 22:05:33 -07:00
Kenny Root
181bb0ab46 am 02c8730c: Add API to call to vold for mounting OBBs
Merge commit '02c8730c1bf19daf48bec8c6995df676a00a73b1' into gingerbread-plus-aosp

* commit '02c8730c1bf19daf48bec8c6995df676a00a73b1':
  Add API to call to vold for mounting OBBs
2010-07-15 21:35:53 -07:00
Kenny Root
02c8730c1b 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
  permissions

Change-Id: I33ecf9606b8ff535f3a2ada83931da6bbef41cfd
2010-07-15 21:31:58 -07:00
Jeff Brown
aca672ba2e am c5ed5910: Add support for new input sources.
Merge commit 'c5ed5910c9ef066cec6a13bbb404ec57b1e92637' into gingerbread-plus-aosp

* commit 'c5ed5910c9ef066cec6a13bbb404ec57b1e92637':
  Add support for new input sources.
2010-07-15 18:47:24 -07:00
Jeff Brown
c5ed5910c9 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
2010-07-15 18:32:33 -07:00
Christopher Tate
2c43b6cee1 am d9452ecd: Merge "Fix jni registration typo" into gingerbread
Merge commit 'd9452ecd0ce6c8e0518055929ba1fd0712146405' into gingerbread-plus-aosp

* commit 'd9452ecd0ce6c8e0518055929ba1fd0712146405':
  Fix jni registration typo
2010-07-15 18:21:33 -07:00
Christopher Tate
b87e22d300 Fix jni registration typo
Change-Id: I930fe00edec4e19f643a6de5b1bfd0d59e0846db
2010-07-15 17:17:54 -07:00
Brad Fitzpatrick
cc52121c4f am c4b204bd: Merge "More StrictMode work, keeping Binder & BlockGuard\'s thread-locals in-sync." into gingerbread
Merge commit 'c4b204bdc4ab974f1f96814c93d8eaa750c15122' into gingerbread-plus-aosp

* commit 'c4b204bdc4ab974f1f96814c93d8eaa750c15122':
  More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync.
2010-07-15 15:44:41 -07:00
Brad Fitzpatrick
c4b204bdc4 Merge "More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync." into gingerbread 2010-07-15 15:42:12 -07:00
Christopher Tate
078ccbdbb9 am 2c40582a: Merge "Add native C APIs for working with the Asset Manager" into gingerbread
Merge commit '2c40582a6c3a5781b39d0504d5aa8934982989d2' into gingerbread-plus-aosp

* commit '2c40582a6c3a5781b39d0504d5aa8934982989d2':
  Add native C APIs for working with the Asset Manager
2010-07-15 15:03:32 -07:00
Christopher Tate
6cce32b6ad Add native C APIs for working with the Asset Manager
Change-Id: I493b142c4b35e5cc1a1e85283bb5dfb306a6d261
2010-07-15 14:28:21 -07:00
Brad Fitzpatrick
727de40c6b More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync.
Change-Id: Ia67cabcc17a73a0f15907ffea683d06bc41b90e5
2010-07-15 13:18:05 -07:00
Joe Onorato
a6be4e01b2 am 3a053db2: Merge "The ICU data is no longer compiled directly into the shared library." into gingerbread
Merge commit '3a053db28451858162f3dd84f18fae2f245b07f1' into gingerbread-plus-aosp

* commit '3a053db28451858162f3dd84f18fae2f245b07f1':
  The ICU data is no longer compiled directly into the shared library.
2010-07-15 11:12:53 -07:00
Joe Onorato
3a053db284 Merge "The ICU data is no longer compiled directly into the shared library." into gingerbread 2010-07-15 11:08:34 -07:00
Joe Onorato
aa1933ac4c The ICU data is no longer compiled directly into the shared library.
Change-Id: I1f6adf66a28b62a6f45c1622d669cb8c519adcbb
2010-07-13 19:05:51 -07:00
Dianne Hackborn
f8d9379bd8 am d76b67c3: IME events are now dispatched to native applications.
Merge commit 'd76b67c340d1564abf8d14d976fdaf83bf2b3320' into gingerbread-plus-aosp

* commit 'd76b67c340d1564abf8d14d976fdaf83bf2b3320':
  IME events are now dispatched to native applications.
2010-07-13 18:55:52 -07:00
Dianne Hackborn
d76b67c340 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
2010-07-13 18:36:46 -07:00
Brad Fitzpatrick
706623ddb8 am c0a7e690: Add Parcel::readExceptionCode() and Parcel::writeNoException()
Merge commit 'c0a7e690bfd32dd897ceccd04dd0fa6bf6e9cee6' into gingerbread-plus-aosp

* commit 'c0a7e690bfd32dd897ceccd04dd0fa6bf6e9cee6':
  Add Parcel::readExceptionCode() and Parcel::writeNoException()
2010-07-13 15:55:05 -07:00
Brad Fitzpatrick
c0a7e690bf Add Parcel::readExceptionCode() and Parcel::writeNoException()
Add native Parcel methods analogous to the Java versions.

Currently, these don't do much, but upcoming StrictMode work changes
the RPC calling conventions in some cases, so it's important that
everybody uses these consistently, rather than having a lot of code
trying to parse RPC responses out of Parcels themselves.

As a summary, the current convention that Java Binder services use is
to prepend the reply Parcel with an int32 signaling the exception
status:

     0: no exception
     -1: Security exception
     -2: Bad Parcelable
     -3: ...
     -4: ...
     -5: ...

... followed by Parceled String if the exception code is non-zero.

With an upcoming change, it'll be the case that a response Parcel can,
non-exceptionally return rich data in the header, and also return data
to the caller.  The important thing to note in this new case is that
the first int32 in the reply parcel *will not be zero*, so anybody
manually checking for it with reply.readInt32() will get false
negative failures.

Short summary: If you're calling into a Java service and manually
checking the exception status with reply.readInt32(), change it to
reply.readExceptionCode().

Change-Id: I23f9a0e53a8cfbbd9759242cfde16723641afe04
2010-07-13 15:45:18 -07:00
Dianne Hackborn
b14f325a01 am 289b9b62: Add ANativeWindow API for directly drawing to the surface bits.
Merge commit '289b9b62372ef52a06113b83dfb870e2c2fb325a' into gingerbread-plus-aosp

* commit '289b9b62372ef52a06113b83dfb870e2c2fb325a':
  Add ANativeWindow API for directly drawing to the surface bits.
2010-07-09 17:03:14 -07:00
Dianne Hackborn
289b9b6237 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
2010-07-09 16:58:19 -07:00
Dianne Hackborn
49159f0748 am 74bf59b4: Merge "Add new glue code for writing native apps." into gingerbread
Merge commit '74bf59b450daf9e7e6bf234f01db164099edbfd5' into gingerbread-plus-aosp

* commit '74bf59b450daf9e7e6bf234f01db164099edbfd5':
  Add new glue code for writing native apps.
2010-07-08 12:26:32 -07:00
Dianne Hackborn
85448bbecd 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
2010-07-08 11:06:59 -07:00
Dianne Hackborn
e24901d3ad am 68267415: Add new native Looper API.
Merge commit '682674154e3fe88f6061245145f934f25f1a2eb8' into gingerbread-plus-aosp

* commit '682674154e3fe88f6061245145f934f25f1a2eb8':
  Add new native Looper API.
2010-07-07 09:04:19 -07:00
Dianne Hackborn
682674154e 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
2010-07-02 18:57:02 -07:00
Dianne Hackborn
39c921c6e5 am 8ae5a8e7: Get to the point of being able to do native drawing.
Merge commit '8ae5a8e7c04c7b204b739dfcd5da9e2e0f83e1eb' into gingerbread-plus-aosp

* commit '8ae5a8e7c04c7b204b739dfcd5da9e2e0f83e1eb':
  Get to the point of being able to do native drawing.
2010-07-01 19:25:01 -07:00
Dianne Hackborn
8ae5a8e7c0 Get to the point of being able to do native drawing.
A little cleanup.

Change-Id: I37ef0557abf330d91d6fe47e81d062206b3bc346
2010-07-01 18:44:46 -07:00
Dianne Hackborn
58f35ff416 am 54a181b1: Make real API for native code to get its window.
Merge commit '54a181b1a2b1517a9479b21fbf7705a688232faf' into gingerbread-plus-aosp

* commit '54a181b1a2b1517a9479b21fbf7705a688232faf':
  Make real API for native code to get its window.
2010-07-01 16:00:19 -07:00
Dianne Hackborn
54a181b1a2 Make real API for native code to get its window.
Added implementation to use ANativeWindow and provide
it to a NativeActivity.

Change-Id: I890d71b6e15d4af71e6cf81b327961d7061ec1c2
2010-07-01 14:43:23 -07:00
Christopher Tate
d3233ae902 am 160edb36: Add ability to guard a thread against setting its own prio to bg
Merge commit '160edb3645f8b7012bab70ae6e6e8c4a5733082b' into gingerbread-plus-aosp

* commit '160edb3645f8b7012bab70ae6e6e8c4a5733082b':
  Add ability to guard a thread against setting its own prio to bg
2010-06-30 18:28:08 -07:00
Christopher Tate
160edb3645 Add ability to guard a thread against setting its own prio to bg
The guard is compiled out by default because it adds overhead to
android.os.Process.setPriority().

Change-Id: Ibb2a648c6349b381abb7ae62a358888b04fba871
2010-06-30 18:25:01 -07:00