1483 Commits

Author SHA1 Message Date
Jeff Brown
d3616592fe Fix trackball down and movement bugs.
Bug: 2823788
Change-Id: Icb0c392b58f7e735614460b5eb87439cb73ac4f2
2010-07-16 17:46:03 -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
c8c79a654d Merge "Re-use existing Surface objects when reading them from parcels." into gingerbread 2010-07-16 15:14:44 -07:00
Jeff Brown
7b8df313f7 am 00ba8844: Fix individual pointer id up/down reporting.
Merge commit '00ba884436dc8b222ad850c73c936d87bf4e84de' into gingerbread-plus-aosp

* commit '00ba884436dc8b222ad850c73c936d87bf4e84de':
  Fix individual pointer id up/down reporting.
2010-07-16 15:14:35 -07:00
Jeff Brown
00ba884436 Fix individual pointer id up/down reporting.
Fix a minor threading bug in InputManager dump.

Change-Id: Ic2eecf7df5a8dc9f40561fcb03ebe58a2c073778
2010-07-16 15:11:24 -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
Jeff Brown
f7adbe10c2 am eec69d29: Merge "Fix bug with phantom input windows." into gingerbread
Merge commit 'eec69d2923636b2aaa51df93bacc2b3bbb742736' into gingerbread-plus-aosp

* commit 'eec69d2923636b2aaa51df93bacc2b3bbb742736':
  Fix bug with phantom input windows.
2010-07-16 00:16:09 -07:00
Jeff Brown
e33348ba54 Fix bug with phantom input windows.
Add dumpsys integration for the native input dispatcher.
Add some InputDevice API stubs.
Add an appendFormat helper method to String8 for printf style
string formatting mainly for debugging purposes.
Use generic ArrayList<WindowState> everywhere in WindowManagerService
to eliminate unnecessary casts all over.

Change-Id: I9d1e3bd90eb7222d10620200477f11b7bfd25e44
2010-07-16 00:02:48 -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
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
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
Brad Fitzpatrick
3e5e21d4dc am 1772c34e: Merge "StrictMode: gather and return violating stacks in Binder replies" into gingerbread
Merge commit '1772c34e5331a6456c8a93051192d19ff873c062' into gingerbread-plus-aosp

* commit '1772c34e5331a6456c8a93051192d19ff873c062':
  StrictMode: gather and return violating stacks in Binder replies
2010-07-15 15:44:46 -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
5b747191ff StrictMode: gather and return violating stacks in Binder replies
Now, when Thread A has a strict mode policy in effect and does a
Binder call to Thread B (most likely in another process), the strict
mode policy is passed along, but with the GATHER penalty bit set which
overrides other policies and instead gathers all offending stack
traces to a threadlocal which are then written back in the Parcel's
reply header.

Change-Id: I7d4497032a0609b37b1a2a15855f5c929ba0584d
2010-07-15 13:18:05 -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
Jeff Brown
d1313da599 am eb6e0df1: Don\'t build framework tests for simulator target.
Merge commit 'eb6e0df18a6567d38caa039ba0b0e49e2e9b46c3' into gingerbread-plus-aosp

* commit 'eb6e0df18a6567d38caa039ba0b0e49e2e9b46c3':
  Don't build framework tests for simulator target.
2010-07-15 10:21:18 -07:00
Jeff Brown
eb6e0df18a Don't build framework tests for simulator target.
Change-Id: I70f29c7eb307e4f3ec5702f4eb9d97b4342e2f36
2010-07-14 22:55:02 -07:00
Mathias Agopian
78983a9133 am 4055b780: Merge "move native services under services/" into gingerbread
Merge commit '4055b780bb7e85abcf4754b84e50bf407c45bec8' into gingerbread-plus-aosp

* commit '4055b780bb7e85abcf4754b84e50bf407c45bec8':
  move native services under services/
2010-07-14 18:45:56 -07:00
Mathias Agopian
08e83bb3b7 move native services under services/
moved surfaceflinger, audioflinger, cameraservice

all native services should now reside in this location.

Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
2010-07-14 17:59:35 -07:00
Mathias Agopian
db386f2c26 am c9a11088: Merge "first step at implementing the native sensor support" into gingerbread
Merge commit 'c9a11088e503b9e3ae52a3f671b2d21f5cd54f06' into gingerbread-plus-aosp

* commit 'c9a11088e503b9e3ae52a3f671b2d21f5cd54f06':
  first step at implementing the native sensor support
2010-07-14 16:36:19 -07:00
Mathias Agopian
98704f14ea am 38eea8bf: Merge "Remove the YV16 format for simplicity\'s sake." into gingerbread
Merge commit '38eea8bf990540360b45b963195a7766c30b55d2' into gingerbread-plus-aosp

* commit '38eea8bf990540360b45b963195a7766c30b55d2':
  Remove the YV16 format for simplicity's sake.
2010-07-14 16:35:55 -07:00
Mathias Agopian
c9a11088e5 Merge "first step at implementing the native sensor support" into gingerbread 2010-07-14 16:32:04 -07:00
Mathias Agopian
058d0390a4 Remove the YV16 format for simplicity's sake.
Change-Id: Iee03d100933ba0c67b13d51e0435be3b4cd953cf
2010-07-14 15:12:05 -07:00
Mathias Agopian
b957b9d63c 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

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

Change-Id: I75010cbeef31c98d6fa62fd5d388dcef87c2636b
2010-07-13 22:21:56 -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
Jeff Brown
89ee578b70 am fd035829: Add initial gamepad support.
Merge commit 'fd03582995e0fce963dd0fa0669e3211b74c0dd7' into gingerbread-plus-aosp

* commit 'fd03582995e0fce963dd0fa0669e3211b74c0dd7':
  Add initial gamepad support.
2010-07-13 17:46:19 -07:00
Jeff Brown
fd03582995 Add initial gamepad support.
Change-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9
2010-07-13 17:04:57 -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
Eric Laurent
66fa2b44ca am 8e886be4: Merge "Modifications in audio effect engine state management." into gingerbread
Merge commit '8e886be413570fab6c623930a5775dd36a6d11e1' into gingerbread-plus-aosp

* commit '8e886be413570fab6c623930a5775dd36a6d11e1':
  Modifications in audio effect engine state management.
2010-07-13 12:31:35 -07:00
Eric Laurent
7d850f23c8 Modifications in audio effect engine state management.
- Separate the updating of effect engine state from the process call in EffectModule so that the state
of all effects in the same effect chain is updated simultaneusly before all process functions are called.
- Added a mechanism for the effect engine to continue being called for processing after receiving the disable
commands untils it considers that the framework can stop calling the process function without causing
a glitch or loosing some effect tail.
- Updated test reverb and equalizer to support this new feature

Change-Id: Icb56ae2c84c076d4dbad6cf733b1a62f823febe7
2010-07-13 12:27:18 -07:00
Kenny Root
ceb8465e97 am 87bb1857: Merge changes I2337051b,I19b426cb into gingerbread
Merge commit '87bb18579a5eea2e24af78af8c0f54f5455ce8fd' into gingerbread-plus-aosp

* commit '87bb18579a5eea2e24af78af8c0f54f5455ce8fd':
  Tweak ObbFile class
  Allow things that can install packages to set Obb paths
2010-07-12 11:20:04 -07:00
Kenny Root
87bb18579a Merge changes I2337051b,I19b426cb into gingerbread
* changes:
  Tweak ObbFile class
  Allow things that can install packages to set Obb paths
2010-07-12 11:18:34 -07:00
Kenny Root
87315aa1f0 Tweak ObbFile class
* Move error messages around to clarify the errors.

* Add extra error check when reading a file.

* Seek to the end of a file when writing the signature so the users of
  the API don't have to remember to do it.

Change-Id: I2337051b9f9fa8147c5900237deec790dcd92436
2010-07-12 09:11:24 -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
Kenny Root
d481cdd4c0 am c9535de8: Merge "Add OBB file helper class" into gingerbread
Merge commit 'c9535de8e398d766c95144f9a831f34b2cecfd91' into gingerbread-plus-aosp

* commit 'c9535de8e398d766c95144f9a831f34b2cecfd91':
  Add OBB file helper class
2010-07-07 18:16:01 -07:00
Kenny Root
c9535de8e3 Merge "Add OBB file helper class" into gingerbread 2010-07-07 18:14:13 -07:00
Chris Tate
167449e5f8 am b17f4dcf: Merge "More native input dispatch work." into gingerbread
Merge commit 'b17f4dcfb3edba25bd8c30e60449b9bbcd600a57' into gingerbread-plus-aosp

* commit 'b17f4dcfb3edba25bd8c30e60449b9bbcd600a57':
  More native input dispatch work.
2010-07-07 17:45:21 -07:00
Chris Tate
b17f4dcfb3 Merge "More native input dispatch work." into gingerbread 2010-07-07 17:43:12 -07:00
Eric Laurent
b91881fdd1 am dacabf97: Merge "Added Visualizer effect." into gingerbread
Merge commit 'dacabf97c609a040ada857a7da6c560097448ae3' into gingerbread-plus-aosp

* commit 'dacabf97c609a040ada857a7da6c560097448ae3':
  Added Visualizer effect.
2010-07-07 16:34:57 -07:00
Eric Laurent
dacabf97c6 Merge "Added Visualizer effect." into gingerbread 2010-07-07 16:23:30 -07:00
Eric Laurent
df9b81ced4 Added Visualizer effect.
The visualizer enables application to retrieve part of the currently playing audio for visualization purpose.
It is not an audio recording interface and only returns partial and low quality audio content as a waveform or
a frequency representation (FFT).

Removed temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method.

This commit also includes a change in AudioEffect class:
 - the enable()/disable() methods have been replaced bya more standard setEnabled() method.
 - some fixes in javadoc

Change-Id: Id092a1340e9e38dae68646ade7be054e3a36980e
2010-07-07 11:00:28 -07:00
Kenny Root
7cee34a051 Add OBB file helper class
ObbFile is a binary blob that will be used in packaging large files
with smaller APKs.

Change-Id: Ib1594346cfa2f49113de6565af77c24efbd89d63
2010-07-07 09:57:50 -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
Jeff Brown
00fa7bdd69 More native input dispatch work.
Removed old input dispatch code.
Refactored the policy callbacks.
Pushed a tiny bit of the power manager state down to native.
Fixed long press on MENU.
Made the virtual key detection and cancelation a bit more precise.

Change-Id: I5d8c1062f7ea0ab3b54c6fadb058c4d5f5a9e02e
2010-07-03 19:23:01 -07:00