634 Commits

Author SHA1 Message Date
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
Dianne Hackborn
7f6c6e8ffa am 3c80a4a0: Implement default key handling for native code.
Merge commit '3c80a4a044865bdf1289c7896baffa1c082d835c' into gingerbread-plus-aosp

* commit '3c80a4a044865bdf1289c7896baffa1c082d835c':
  Implement default key handling for native code.
2010-06-30 15:32:54 -07:00
Dianne Hackborn
3c80a4a044 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
2010-06-30 10:49:40 -07:00
Dianne Hackborn
b5f05d0018 am 0934fbb6: Merge "Update native activity & event APIs to follow correct conventions." into gingerbread
Merge commit '0934fbb6b81006fdf6a76b6519201d2f472a1908' into gingerbread-plus-aosp

* commit '0934fbb6b81006fdf6a76b6519201d2f472a1908':
  Update native activity & event APIs to follow correct conventions.
2010-06-29 12:18:58 -07:00
Dianne Hackborn
2e9f93e8db Update native activity & event APIs to follow correct conventions.
Change-Id: Ie64fb3a9c68bc9c117fa5621b75d1f609e304e0e
2010-06-29 10:43:54 -07:00
Chris Tate
9672532614 am 31e0ffe8: Merge "Native input event dispatching." into gingerbread
Merge commit '31e0ffe8444b70500cac319da084c4c45e62aca2' into gingerbread-plus-aosp

* commit '31e0ffe8444b70500cac319da084c4c45e62aca2':
  Native input event dispatching.
2010-06-28 19:14:18 -07:00
Jeff Brown
349703effc Native input event dispatching.
Target identification is now fully native.
Fixed a couple of minor issues related to input injection.
Native input enabled by default, can be disabled by setting
WindowManagerPolicy.ENABLE_NATIVE_INPUT_DISPATCH to false.

Change-Id: I7edf66ed3e987cc9306ad4743ac57a116af452ff
2010-06-28 19:10:54 -07:00
Nick Pelly
db1bae9a96 am 9bf39efb: Do not log AT command traffic by default.
Merge commit '9bf39efb1b8527d7c46b20538cbb75bd60900b44' into gingerbread-plus-aosp

* commit '9bf39efb1b8527d7c46b20538cbb75bd60900b44':
  Do not log AT command traffic by default.
2010-06-24 12:27:46 -07:00
Nick Pelly
9bf39efb1b Do not log AT command traffic by default.
Bug: 2792732
Change-Id: I24cb14c14f49e606f0aef1d05a533b90b3dfff53
2010-06-24 12:25:42 -07:00
Eric Laurent
845f541454 am 2c2ce8e5: Merge "Added support for audio sessions in MediaPlayer and AudioTrack." into gingerbread
Merge commit '2c2ce8e53f5eb94916a5d0f40b2877cc7551870d' into gingerbread-plus-aosp

* commit '2c2ce8e53f5eb94916a5d0f40b2877cc7551870d':
  Added support for audio sessions in MediaPlayer and AudioTrack.
2010-06-22 18:32:17 -07:00
Eric Laurent
619346f902 Added support for audio sessions in MediaPlayer and AudioTrack.
Audio sessions are used to associate audio effects to particular instances (or groups) of MediaPlayers or AudioTracks.

Change-Id: Ib94eec43241cfcb416590f435ddce7ab39a07640
2010-06-22 17:14:04 -07:00
Dianne Hackborn
e3e2883f22 am e24a60aa: Merge "First stab at attaching native event dispatching." into gingerbread
Merge commit 'e24a60aa4670fb835772b23ff665bb368fa65e30' into gingerbread-plus-aosp

* commit 'e24a60aa4670fb835772b23ff665bb368fa65e30':
  First stab at attaching native event dispatching.
2010-06-22 11:26:02 -07:00
Dianne Hackborn
a95e4cb62f 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
work).

Change-Id: I6db891bc35dc9683181d7708eaed552b955a077e
2010-06-22 11:21:50 -07:00
Mike Lockwood
dae19d7c00 am aaf39f84: Merge "GPS: remove GpsEventThread from GpsLocationProvider" into gingerbread
Merge commit 'aaf39f84063b8fee51bcdb0731d68c328b6a3c3d' into gingerbread-plus-aosp

* commit 'aaf39f84063b8fee51bcdb0731d68c328b6a3c3d':
  GPS: remove GpsEventThread from GpsLocationProvider
2010-06-22 06:45:03 -07:00
Mike Lockwood
aaf39f8406 Merge "GPS: remove GpsEventThread from GpsLocationProvider" into gingerbread 2010-06-22 06:44:03 -07:00
Mike Lockwood
f602d362ba GPS: remove GpsEventThread from GpsLocationProvider
Rather than polling for events from the native code in an event thread,
we now require the GPS HAL libraries to call our callbacks from a thread
that is registered with the JVM to call directly into Java.
This eliminates a thread from our code and removes one step in the chain
of message passing from the GPS to the Location Manager client.

Change-Id: I2745a157690310ba9a699a8369f54a7366c6b1ba
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-06-22 09:26:41 -04:00
Jack Palevich
1e08cc1dfd am 224107a4: Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
Merge commit '224107a421e2611b15d1ec736df54bca9ee3e78d' into gingerbread-plus-aosp

* commit '224107a421e2611b15d1ec736df54bca9ee3e78d':
  Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
2010-06-22 05:16:24 -07:00
Jack Palevich
224107a421 Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
Change-Id: Id0069535e97fe96eef74e4d0c1d19b010061fe3b
2010-06-22 20:08:40 +08:00
The Android Open Source Project
6c9a30045b merge from froyo-plus-aosp
Change-Id: I36dd4460cae6e3212d724e70ff1091cb791670cd
2010-06-21 11:23:45 -07:00
Jeff Brown
42bb545a54 am 5c225b16: Even more native input dispatch work in progress.
Merge commit '5c225b1680e696ae8bbf505a1997d6f720672f74' into gingerbread-plus-aosp

* commit '5c225b1680e696ae8bbf505a1997d6f720672f74':
  Even more native input dispatch work in progress.
2010-06-17 13:31:07 -07:00
Jeff Brown
5c225b1680 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
2010-06-17 13:27:16 -07:00
Jeff Brown
2dfd2aa413 am 92266a78: Merge "More work in progress on native events." into gingerbread
Merge commit '92266a7894becc1cdf2298fd02380749ab036131' into gingerbread-plus-aosp

* commit '92266a7894becc1cdf2298fd02380749ab036131':
  More work in progress on native events.
2010-06-15 16:48:23 -07:00
Jeff Brown
9c3cda04d9 More work in progress on native events.
Refactored the code to eliminate potential deadlocks due to re-entrant
calls from the policy into the dispatcher.  Also added some plumbing
that will be used to notify the framework about ANRs.

Change-Id: Iba7a10de0cb3c56cd7520d6ce716db52fdcc94ff
2010-06-15 16:43:18 -07:00
The Android Open Source Project
7d10df4e24 merge from open-source master
Change-Id: I0684cac9eb230d864614aef0634c072f4e3ef6a3
2010-06-15 11:37:17 -07:00
Szymon Jakubczak
9bf3bb21c0 - updates NetUtils to use new libnetutils headers
- updates WifiStateTracker to track net.XXX.dnsX properties for name servers
- removes dhcp from WifiNative (use NetworkUtils instead)

Change-Id: Ic69ff253e8784cad34e9291e7970ee38bfa235b9
2010-06-15 10:22:25 -07:00
The Android Open Source Project
864c68ea45 merge from froyo-plus-aosp
Change-Id: I9cede57e10df9d6ba411b2960a77d7b9b60a1489
2010-06-14 11:35:51 -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
Irfan Sheriff
0631c608b0 merge from open-source master
Change-Id: I8a950276787e9439420db396d0e32f88bd6e04cc
2010-06-11 15:14:29 -07:00
Chih-Chung Chang
b8bb78f54b Change camera interface to support multiple cameras.
Change-Id: Ie88fe706d2278acf762eca87780de349434778a4
2010-06-11 16:47:33 +08:00
Mathias Agopian
8b73ae4a1e fix [2757903] Crash in EGL when creating an EGLSurface
Change-Id: I995947ac40d1a5c86dce495550baf6864ecf5f54
2010-06-10 17:06:27 -07:00
Mikael Kanstrup
ea8bd1d167 WLAN: Reset power save mode to startup value after DHCP response.
When the driver was configured to run with power save mode disabled the
power save mode incorrectly got reverted back to AUTO mode right after
DHCP response. The power save mode value is now saved so that the device
properly reverts back to a previous mode after DHCP response.

Change-Id: I5035aad10146812ecef1be8ea4b22a03e230ccc9
2010-06-10 14:51:43 +02:00
Christopher Tate
a8ebe8b3f5 am df2e2eff: Merge "Watchdog now records kernel stacks when it fires" into froyo
Merge commit 'df2e2eff9446c0220515fa7aab7857135e04e12e' into kraken

* commit 'df2e2eff9446c0220515fa7aab7857135e04e12e':
  Watchdog now records kernel stacks when it fires
2010-06-06 12:10: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
Christopher Tate
ecaa7b41ca Watchdog now records kernel stacks when it fires
The kernel threads are appended to the usual /data/anr/traces.txt file
and dropboxed along with the usual Dalvik stack dumps.

Change-Id: I120f1f5ee54c965efe9ac0c7f40fdef56385f1fa
NOTE: this change depends on the kernel publishing /proc/$PID/stack
2010-06-04 14:55:02 -07:00
Jaikumar Ganesh
a7c0bdc4e4 Delete local references to avoid reference table overflow.
Change-Id: I2218b97647e381bfe6d329b1b6134bb76c1832b6
2010-06-03 16:59:01 -07:00
Dianne Hackborn
74323fd1ab Update NativeActivity to allow direct surface access.
No actual native API for using a surface, but it's a step.

Change-Id: I627f26b705abc7a05edf9117411abfacf0fae64a
2010-05-18 18:16:35 -07:00
Nick Kralevich
79290ae976 Get rid of warnings when compiled with -Wformat-security
Change-Id: I5a7ad5be2aaf0fa0d164204d3c1bebf02ec55745
2010-05-13 15:31:00 -07:00
Dianne Hackborn
7d5cea988b am 7e76b6d1: am 6d00151c: Merge "Hopefully fix issue #2662536: Why is launcher being killed?" into froyo
Merge commit '7e76b6d191e1173bd85337a2861d9914922f5a0d' into kraken

* commit '7e76b6d191e1173bd85337a2861d9914922f5a0d':
  Hopefully fix issue #2662536: Why is launcher being killed?
2010-05-11 10:23:56 -07:00
Dianne Hackborn
906497c574 Hopefully fix issue #2662536: Why is launcher being killed?
It looks like there was a subtle bug where Process.setOomAdj() could
return false just because the given process doesn't exist, even though
it is documented to only return false if OOM killing is not supported
at all.  This would cause the activity manager to fall into its code
path of trying to clean up processes itself, which it does a much
poorer problem at.  I am thinking we may be seeing this problem more
now that the activity manager is killing background processes itself
when there are too many of them.

In addition, this change cleans up and reduces some of the logging
around killing processes.

Finally, try to improve process LRU management a bit by taking
into account process dependencies.  Any dependent processes are
pulled up in the LRU list with the processes that is actually
moving.  Also, we bring a process up if someone accesses its content
provider.

Change-Id: I34ea161f839679345578ffe681e8d9c5d26ab948
2010-05-10 17:19:58 -07:00