1317 Commits

Author SHA1 Message Date
Jeff Brown
8e03b7566c resolved conflicts for merge of 9e660c82 to master
Change-Id: Ic4bd85cbaa5b9a10dcb474a0dad46490bf967e43
2010-06-13 19:16:55 -07:00
Jeff Brown
46b9ac0ae2 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
2010-06-13 17:42:16 -07:00
Chih-Chung Chang
4b983d9f30 am dac5e001: am b8bb78f5: Change camera interface to support multiple cameras.
Merge commit 'dac5e0013d1ea396f0b3a3f07654f2ecbfb79ac9'

* commit 'dac5e0013d1ea396f0b3a3f07654f2ecbfb79ac9':
  Change camera interface to support multiple cameras.
2010-06-11 03:39:17 -07:00
Chih-Chung Chang
b8bb78f54b Change camera interface to support multiple cameras.
Change-Id: Ie88fe706d2278acf762eca87780de349434778a4
2010-06-11 16:47:33 +08:00
Andreas Huber
669bdbf6d1 am b9d7b46b: am 8f864513: Merge "Fix String8 to free its memory only after assignment operations based on pointers are finished in case that pointer referred to the string\'s original contents." into kraken 2010-06-10 16:13:18 -07:00
Andreas Huber
62a2aa0152 Fix String8 to free its memory only after assignment operations based on pointers are finished in case that pointer referred to the string's original contents.
Change-Id: I6961f3cf10ba3b728579ea63262db750a4cf8577
2010-06-10 11:25:51 -07:00
Jason Sams
c3db34e58f Merge "Remove float8/16 from RS type list. We will not have time to work through ABI issues for these types on arm for our ship date. Can be re-added later." 2010-06-09 15:54:35 -07:00
Jason Sams
96d719c917 Remove float8/16 from RS type list.
We will not have time to work through ABI issues for these types
on arm for our ship date.  Can be re-added later.

Change-Id: I957758be7e900a1c55eff9cb5aeb16fa636bd9a0
2010-06-09 14:26:16 -07:00
Kenny Root
5e4d9a04fd Add invariant check for stylesString size
It was possible for stylesStrings to claim to start past the end of the
data area thereby making mStringPoolSize larger than the data area.

Change-Id: Ibc4d5b429e3a388516135801c8abc3681daae291
2010-06-08 20:50:37 -07:00
Mathias Agopian
70eeab7412 am 34e5d967: am 55f8209d: Merge "allow re-targetting of surfaces" into kraken 2010-06-08 20:18:05 -07:00
Mathias Agopian
5e14010b1f allow re-targetting of surfaces
Surfaces can now be parcelized and sent to remote
processes. When a surface crosses a process
boundary, it looses its connection with the
current process and gets attached to the new one.

Change-Id: I39c7b055bcd3ea1162ef2718d3d4b866bf7c81c0
2010-06-08 20:10:02 -07:00
Mathias Agopian
570898098f am 37583aeb: am 1debc665: fix [2751143] Device crashes when in a text box for too long 2010-06-08 15:49:45 -07:00
Jason Sams
cbe4a73fef Merge "Begin using reflected files." 2010-06-08 15:43:57 -07:00
Mathias Agopian
1debc66521 fix [2751143] Device crashes when in a text box for too long 2010-06-08 15:40:56 -07:00
Jason Sams
e29f3e74f7 Begin using reflected files.
Change-Id: I5307a0eac9c206b85c0cf7451d3f8300134bf8e3
2010-06-08 15:40:48 -07:00
Kenny Root
06983bc566 Range checking for ResTable_map
Correct previous offset change and get ready for safe-iop.

Change-Id: Ib276c726f32b0711a72f47d3263eb21640e5a800
2010-06-08 12:51:49 -07:00
Kenny Root
3379195a76 Improve checking in aapt dump
The aapt dump reading had less error checking than the actual parsing,
so this change brings it more into parity so that bad APKs don't crash
"aapt dump"

Change-Id: Ib30e63e41be5c652645c4aa0de580a87b184529d
2010-06-08 10:28:19 -07:00
Mathias Agopian
58006194f8 am f5f7d389: am fae5cb2b: optimize Surface.readFromParcel() 2010-06-04 19:17:16 -07:00
Mathias Agopian
5f98310f9a am fd89b1c8: am 7623da43: split surface management from surface\'s buffers management 2010-06-04 19:17:12 -07:00
Mathias Agopian
18fa1de510 am cfa6de70: am 593c05ce: clean-up client management. 2010-06-04 19:17:08 -07:00
Mathias Agopian
fae5cb2b35 optimize Surface.readFromParcel()
this is called for each relayout() and used to create a full Surface (cpp)
which in turn did some heavy work (including an IPC with surfaceflinger),
most of the time to destroy it immediatelly when the returned surface
(the one in the parcel) was the same.

we now more intelligentely read from the parcel and construct the new
object only if needed.

Change-Id: Idfd40d9ac96ffc6d4ae5fd99bcc0773e131e2267
2010-06-04 18:57:41 -07:00
Mathias Agopian
7623da435e split surface management from surface's buffers management
Change-Id: If3c5655d1231f8f0c49ba68f972b1b20c93b3f87
2010-06-04 18:57:41 -07:00
Mathias Agopian
593c05ce7b clean-up client management.
simplified things a lot, the biggest change is that the concept
of "ClientID" is now gone, instead we simply use references.

Change-Id: Icbc57f80865884aa5f35ad0d0a0db26f19f9f7ce
2010-06-04 18:57:40 -07:00
Alex Sakhartchouk
89ec91b64d Merge "Removing debug output." 2010-06-04 16:13:27 -07:00
Alex Sakhartchouk
422ce6b4db Removing debug output.
Change-Id: I05bd821607e3312180ed910313c88722a7c13f22
2010-06-04 16:10:12 -07:00
Konstantin Lopyrev
ddcafcbd62 Fix 1684100: Making sure that empty package, type and resource ids are not accepted.
Change-Id: I4c94877e4312e9a5b4d22c8625069ca056c62e40
2010-06-04 14:37:37 -07:00
Alex Sakhartchouk
0829f0d51f Merge "Creating the jni and java layer to integrate a3d" 2010-06-04 10:10:24 -07:00
Alex Sakhartchouk
aae74ad614 Creating the jni and java layer to integrate a3d
Change-Id: I438359633bae59bf9188cd2c4664a92ca16c5f37
2010-06-04 10:06:50 -07:00
Wu-cheng Li
baff93de27 am ab5e67c6: am cefb01ab: Merge "Add KEY_SUPPORTED_METERING_MODES and fix some typos." into kraken 2010-06-04 03:41:44 -07:00
Wu-cheng Li
cefb01abbf Merge "Add KEY_SUPPORTED_METERING_MODES and fix some typos." into kraken 2010-06-04 03:38:25 -07:00
Wu-cheng Li
8aba232dbc Add KEY_SUPPORTED_METERING_MODES and fix some typos.
bug:2737111
Change-Id: I108ae7057786921bf99385ad66dbc1f02d6a1448
2010-06-04 17:18:17 +08:00
Eric Laurent
4b18200b9c am 030a1553: am 2ea200c5: Merge "Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications." into kraken 2010-06-04 00:18:07 -07:00
Eric Laurent
2ea200c5a7 Merge "Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications." into kraken 2010-06-04 00:14:46 -07:00
Wu-cheng Li
3c358eb7bd am 2f98f99c: am 5f5df382: Merge "Add camera metering mode API." into kraken 2010-06-03 22:35:40 -07:00
Wu-cheng Li
5f5df382e5 Merge "Add camera metering mode API." into kraken 2010-06-03 22:32:05 -07:00
Eric Laurent
65b65459e6 Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications.
First drop of audio framework modifications for audio effects support.

- AudioTrack/AudioRecord:
Added support for auxiliary effects in AudioTrack
Added support for audio sessions
Fixed left right channel inversion in setVolume()

- IAudioFlinger:
Added interface methods for effect enumeraiton and instantiation
Added support for audio sessions.

- IAudioTrack:
Added method to attach auxiliary effect.

- AudioFlinger
Created new classes to control effect engines in effect library and manage effect connections to tracks or
output mix:
  EffectModule: wrapper object controlling the effect engine implementation in the effect library. There
	is one EffectModule per instance of an effect in a given audio session
  EffectChain: group of effects associated to one audio session. There is one EffectChain per audio session.
	EffectChain for session 0 is for output mix effects, other chains are attached to audio tracks
	with same session ID. Each chain contains a variable number of EffectModules
  EffectHandle: implements the IEffect interface. There is one EffectHandle object for each application
	controlling (or using) an effect module. THe EffectModule maintians a list of EffectHandles.

Added support for effect modules and effect chains creation in PlaybackThread.
modified mixer thread loop to allow track volume control by effect modules and call effect processing.

-AudioMixer
Each track now specifies its output buffer used by mixer for accumulation
Modified mixer process functions to process tracks by groups of tracks with same buffer
Modified track process functions to support accumulation to auxiliary channel

Change-Id: I26d5f7c9e070a89bdd383e1a659f8b7ca150379c
2010-06-03 03:21:53 -07:00
Wu-cheng Li
f7f6333831 Add camera metering mode API.
bug:2737111
Change-Id: Ie986fee56ebeaaed2d2efb757701dfe3ffdec8d8
2010-06-03 16:34:18 +08:00
Jason Sams
b8b1e1fcfa Merge "Disabble vertex logging. bug 2734616" 2010-06-02 12:41:05 -07:00
Jason Sams
ab67fb9a80 Disabble vertex logging.
bug 2734616


Change-Id: Ibad63dfbf0f2ea3c7e475c7cf0689fd487d12be4
2010-06-02 12:40:19 -07:00
Jason Sams
be5cd38a84 Merge "Remove RS_KIND from vertex arrays types. Legacy vertex programs now bind by name just like the user programs. This removes the need for two different ways of declairing the same information." 2010-06-01 16:58:25 -07:00
Jason Sams
9e83c02917 Merge "types update." 2010-06-01 16:58:15 -07:00
Mathias Agopian
491271d3f5 am 7258fd92: am 5be7de5f: Merge "fix a bug where fading in/out of opaque 32-bits windows wasn\'t working" into kraken 2010-06-01 16:11:31 -07:00
Mathias Agopian
bd69e1b851 am 5220af87: am 770492cb: more clean-up in preparation of bigger changes 2010-06-01 16:08:48 -07:00
Mathias Agopian
a0612e41dd fix a bug where fading in/out of opaque 32-bits windows wasn't working
opaque 32-bits windows are now allocated as RGBX_8888 buffers and
SurfaceFlinger always uses GL_MODULATE instead of trying to
optimize to GL_REPLACE when possible (makes no sense on
h/w accelerated GL).

we still have a small hack for devices that don't support
RGBX_8888 in their gralloc implementation where we revert to
RGBA_8888.
2010-06-01 15:57:44 -07:00
Jason Sams
8cb39de03a Remove RS_KIND from vertex arrays types.
Legacy vertex programs now bind by name just like the user programs.
This removes the need for two different ways of declairing the same
information.

Change-Id: I0178c0962842a1bbffb6726984ae1b8f5bb7529c
2010-06-01 15:47:01 -07:00
Jason Sams
c9d0a87d50 types update.
Change-Id: I3bd43e163c919be4c3a38e0dd228cee220c62b76
2010-05-28 19:13:20 -07:00
Jason Sams
3678f1989e Merge "Rough implemetation of ForEach. Remove launchID from root graphics script." 2010-05-28 18:24:49 -07:00
Jason Sams
f17bccc905 Rough implemetation of ForEach.
Remove launchID from root graphics script.

Change-Id: I9f80c0d4df1264f2ee1624a6d7216b9dfdf8502e
2010-05-28 18:23:22 -07:00
Jason Sams
12fc0af972 Merge "Fountain update. Update field names to match legacy expectations. Cleanup java code." 2010-05-28 18:16:16 -07:00
Jason Sams
96d3749e4e Fountain update. Update field names to match legacy expectations.
Cleanup java code.

Change-Id: I1ad9ae462e46166a7b6ff2b399417dbfe50a5542
2010-05-28 18:14:41 -07:00