Commit Graph

16182 Commits

Author SHA1 Message Date
Jamie Gennis
aca4e22879 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
9e2d6e976b Merge "Fix bug with phantom input windows." into gingerbread 2010-07-16 00:14:38 -07:00
Eric Laurent
8849c6f648 Merge "Several improvements in audio effects volume control." into gingerbread 2010-07-16 00:08:50 -07:00
Jeff Brown
0a128e3cbe 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
9c48c34ebe Merge "Implement native key pre-dispatching to IMEs." into gingerbread 2010-07-15 22:22:42 -07:00
Dianne Hackborn
0e8852766d 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
5c1ed84a2d 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
854f9810f1 Merge "Fix jni registration typo" into gingerbread 2010-07-15 18:19:17 -07:00
Scott Main
7ab14f87e7 am d59f1dea: Merge "docs: update notepad tutorial to change EditNote activity title and update codelab zip" into froyo
Merge commit 'd59f1dea1746b316e556df5b4d2080f110aabd1c' into gingerbread

* commit 'd59f1dea1746b316e556df5b4d2080f110aabd1c':
  docs: update notepad tutorial to change EditNote activity title and update codelab zip
2010-07-15 18:17:16 -07:00
Scott Main
9457041ee6 Merge "docs: update notepad tutorial to change EditNote activity title and update codelab zip" into froyo 2010-07-15 18:14:16 -07:00
Scott Main
3b1d921f94 am 80fa5c86: docs: dashboard update
Merge commit '80fa5c866eaf323c39bef4159a351950f0ea527a' into gingerbread

* commit '80fa5c866eaf323c39bef4159a351950f0ea527a':
  docs: dashboard update
2010-07-15 18:10:39 -07:00
Katie McCormick
1524d11c6d am 28da8e5e: Merge "Doc change: Update AVD create instructions." into froyo
Merge commit '28da8e5e4aefd919064e3c33a311edf1af5a958e' into gingerbread

* commit '28da8e5e4aefd919064e3c33a311edf1af5a958e':
  Doc change: Update AVD create instructions.
2010-07-15 17:28:57 -07:00
Katie McCormick
9db8431e87 Merge "Doc change: Update AVD create instructions." into froyo 2010-07-15 17:25:10 -07:00
Brad Fitzpatrick
e5d45f6c74 Merge "StrictMode: batch drop box writes for system apps" into gingerbread 2010-07-15 15:43:03 -07:00
Brad Fitzpatrick
48d2d65320 Merge "StrictMode: gather and return violating stacks in Binder replies" into gingerbread 2010-07-15 15:42:41 -07:00
Brad Fitzpatrick
be581cfa17 Merge "More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync." into gingerbread 2010-07-15 15:42:12 -07:00
Christopher Tate
005c212acd Merge "Add native C APIs for working with the Asset Manager" into gingerbread 2010-07-15 15:00:14 -07:00
Christopher Tate
9373680116 Add native C APIs for working with the Asset Manager
Change-Id: I493b142c4b35e5cc1a1e85283bb5dfb306a6d261
2010-07-15 14:28:21 -07:00
Brad Fitzpatrick
d36f4a5f13 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
a877cd85b5 More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync.
Change-Id: Ia67cabcc17a73a0f15907ffea683d06bc41b90e5
2010-07-15 13:18:05 -07:00
Steve Howard
f568a7480d Merge "Interface support for custom HTTP headers in DL manager" into gingerbread 2010-07-15 12:24:14 -07:00
Scott Main
5e22cd7219 am 38137d7a: Merge "docs: lots of additions to the resources docs new drawable resources add <merge> and <include> to layout resource update drawable class descriptioons to point to resources guide add ID resource type" into froyo
Merge commit '38137d7a27b037611c70a9d900aa53b4c15563bf' into gingerbread

* commit '38137d7a27b037611c70a9d900aa53b4c15563bf':
  docs: lots of additions to the resources docs
2010-07-15 11:20:32 -07:00
Scott Main
a4e25ab1f3 Merge "docs: lots of additions to the resources docs new drawable resources add <merge> and <include> to layout resource update drawable class descriptioons to point to resources guide add ID resource type" into froyo 2010-07-15 11:16:32 -07:00
James Dong
13bea64393 Merge "Support user-supplied timescales for authoring" into gingerbread 2010-07-15 11:16:08 -07:00
Joe Onorato
51b23cda38 Merge "Clean up some style in the makefiles." into gingerbread 2010-07-15 11:08:39 -07:00
Joe Onorato
72f26b73d2 Merge "The ICU data is no longer compiled directly into the shared library." into gingerbread 2010-07-15 11:08:34 -07:00
Jeff Brown
a50ee3ecb3 Don't build framework tests for simulator target.
Change-Id: I70f29c7eb307e4f3ec5702f4eb9d97b4342e2f36
2010-07-14 22:55:02 -07:00
Andrew Stadler
bce6e1736e am 468c82e4: Merge "Skip hostname verification when using insecure factory" into froyo
Merge commit '468c82e4be0630de04a50d88602cd8c6bc745962' into gingerbread

* commit '468c82e4be0630de04a50d88602cd8c6bc745962':
  Skip hostname verification when using insecure factory
2010-07-14 22:33:42 -07:00
Andrew Stadler
26582158a4 Merge "Skip hostname verification when using insecure factory" into froyo 2010-07-14 22:26:56 -07:00
Mathias Agopian
a1e6bc864f added BinderService<> template to help creating native binder services
Change-Id: Id980899d2647b56479f8a27c89eaa949f9209dfe
2010-07-14 18:43:19 -07:00
Mathias Agopian
ada17246d3 Merge "move native services under services/" into gingerbread 2010-07-14 18:42:54 -07:00
Mathias Agopian
81bac09fa6 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
Dianne Hackborn
134d67be4d Merge "Argh oops I didn't mean to delete this." into gingerbread 2010-07-14 17:02:49 -07:00
Jim Miller
e69032ffc6 Merge "Fix 2797185: Re-enable thumbnail generation in framework" into gingerbread 2010-07-14 16:59:52 -07:00
Dianne Hackborn
55bee1541a Merge "Remove old glue code." into gingerbread 2010-07-14 16:46:37 -07:00
Mathias Agopian
e1ea0811de Merge "first step at implementing the native sensor support" into gingerbread 2010-07-14 16:32:04 -07:00
Mathias Agopian
91c2a6644e Merge "Remove the YV16 format for simplicity's sake." into gingerbread 2010-07-14 16:30:41 -07:00
Mathias Agopian
48c3476371 Remove the YV16 format for simplicity's sake.
Change-Id: Iee03d100933ba0c67b13d51e0435be3b4cd953cf
2010-07-14 15:12:05 -07:00
Steve Howard
91397cb3f0 Merge "Download manager support for file URIs + last modified time" into gingerbread 2010-07-14 11:19:38 -07:00
Mathias Agopian
589ce85ee4 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
Mathias Agopian
7bd6b95749 Merge "NDK sensor API" into gingerbread 2010-07-13 21:18:30 -07:00
Dianne Hackborn
ad48769812 Merge "Fix docs build." into gingerbread 2010-07-13 21:12:22 -07:00
Jack Palevich
e263e20ff8 Merge "Fix deadlock when switching between two GLSurfaceViews" into gingerbread 2010-07-13 19:10:22 -07:00
Dianne Hackborn
ce838a265d 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
8575a87b0d Add initial gamepad support.
Change-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9
2010-07-13 17:04:57 -07:00
Brad Fitzpatrick
837a0d0fb2 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
Konstantin Lopyrev
a65139634e Merge "Making sure that the list of windows updates automatically in hierarchy viewer (View Server side)" into gingerbread 2010-07-13 13:10:48 -07:00
Steve Howard
d90f789633 Merge "Initial implementation of the download manager public API." into gingerbread 2010-07-13 13:01:41 -07:00
Eric Laurent
cbf35c041c Merge "Modifications in audio effect engine state management." into gingerbread 2010-07-13 12:29:17 -07:00
Eric Laurent
70d8f430a6 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