10636 Commits

Author SHA1 Message Date
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
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
Daniel Sandler
8091ca5015 Fix javadocs.
Change-Id: Ic37c16625ddd0175cc048dd2b22bc75c6962d43d
2010-06-22 13:58:46 -04:00
Daniel Sandler
613dde4aa6 Revised "immersive mode" API.
No longer a window bit, FLAG_IMMERSIVE is now set on
ActivityInfo.flags and in the Activity's manifest as
android:immersive="true" (ActivityInfo).

[An "immersive" activity is one that wishes to avoid being
paused by full-screen notifications (like an incoming call).
An activity that sets FLAG_IMMERSIVE/android:immersive is
sending a signal to the notification manager, status bar,
etc. that they should try to find some other way to get the
user's attention in high-priority situations.]

[Originally: change Ie290c2e.]

Change-Id: I967bb10b930b8f0772b10f81f2957a03fa3f1736
2010-06-22 12:30:12 -04: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
224107a421 Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
Change-Id: Id0069535e97fe96eef74e4d0c1d19b010061fe3b
2010-06-22 20:08:40 +08:00
Mathias Agopian
7e73a2ce17 Merge "Improve SensorManager documentation" into gingerbread 2010-06-21 15:10:13 -07:00
Jeff Brown
7fbdc84e87 More native input event dispatching.
Added ANRs handling.
Added event injection.
Fixed a NPE ActivityManagerServer writing ANRs to the drop box.
Fixed HOME key interception.
Fixed trackball reporting.
Fixed pointer rotation in landscape mode.

Change-Id: I50340f559f22899ab924e220a78119ffc79469b7
2010-06-21 13:59:34 -07:00
Kenny Root
f25c560dcd am 30cf330f: Import revised translations
Merge commit '30cf330fae137587d51aa4c026459db146705ba9' into gingerbread

* commit '30cf330fae137587d51aa4c026459db146705ba9':
  Import revised translations
2010-06-21 11:17:07 -07:00
Kenny Root
30cf330fae Import revised translations
Change-Id: I4b91aea9c53332569a7123fdb32141530ede6d3d
2010-06-21 11:03:50 -07:00
Kenny Root
cfe3d205b0 am c4e38577: Import revised translations
Merge commit 'c4e38577f46a3b7953fffbb01b08eebc401fbc17' into gingerbread

* commit 'c4e38577f46a3b7953fffbb01b08eebc401fbc17':
  Import revised translations
2010-06-21 09:02:13 -07:00
Kenny Root
c4e38577f4 Import revised translations
Change-Id: Ife82312cc21acc144a70718f79afcafbdd7eda7a
2010-06-20 18:54:45 -07:00
Daniel Sandler
a2650db770 Merge "Fix SDK docs build." into gingerbread 2010-06-17 19:14:44 -07:00
Daniel Sandler
ae069f76ee Fix SDK docs build.
Change-Id: I2d11682cdf2cdcd48f0299f8c168fddd5994dc65
2010-06-17 21:56:26 -04: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
Daniel Sandler
611fae4c39 New API for "immersive" activity windows.
An "immersive" activity (as indicated by the new
FLAG_IMMERSIVE) is one that wishes to avoid being paused by
full-screen notifications (like an incoming call).
An activity that sets FLAG_IMMERSIVE on its window is
sending a signal to the notification manager, status bar,
etc. that they should try to find some other way to get the
user's attention in high-priority situations.

FLAG_IMMERSIVE should be used exclusively in conjunction
with FLAG_FULL_SCREEN (that is, only activities that hide
the status bar should consider themselves immersive).

Change-Id: Ie290c2e92fc391bcf55edfdb1fbd626cd284e3e2
2010-06-17 11:43:35 -04:00
Daniel Sandler
e46cbd379a New API for high-priority Notifications and full-screen alerts.
* fullScreenIntent: a PendingIntent pointing to a
  full-screen activity or other modal alert experience to be
  shown to the user instead of (or in addition to) a
  traditional status bar notification icon. Example: An
  incoming call should pop up a full-screen activity
  allowing the user to accept or decline the call.

  The old way to accomplish this is to simply fire off the
  full-screen intent directly from the Phone app. By routing
  through the Notification system, we make way for the
  FLAG_IMMERSIVE bit (forthcoming API) which would allow the
  frontmost opaque window to suppress full-screen alerts.

* FLAG_HIGH_PRIORITY: This bit allows a notification to be
  shown in windows that have the FLAG_IMMERSIVE bit set. For
  example, a Notification corresponding to an incoming call
  would be marked HIGH_PRIORITY so that even in an immersive
  activity (i.e. a networked game) the Notification could be
  shown to the user.

Change-Id: I4943e53f425800a6e152bc4992dd41586b43aff8
2010-06-17 11:34:13 -04:00
Mathias Agopian
74cde2cee9 Improve SensorManager documentation
this pass is mostly just formating.

Change-Id: Ica7dd014c301817c93e915c08b16da99769eaabb
2010-06-16 18:55:46 -07:00
Dianne Hackborn
6b7b484521 Various improvements to battery stats collection
We now clear the battery stats when unplugging after the
battery is full.  This allows us to use the "total" stats as
a new "since last charged" stat.  Total is gone.  I never used
it, it was worthless.  Since last charged is a lot more
interesting.

The battery history now collects a lot more stats, and keeps
control over how much it can collect.  Printing is now more
descriptive.

The kinds of stats have been renamed to SINCE_UNPLUGGED and
SINCE_DISCHARGED.  The other two stats are still there, but
no longer printed; a future change will eliminate them
completely along with all of their state.

Change-Id: I4e9fcfcf8c30510092c76a8594f6021e9502fbc1
2010-06-16 18:31:42 -07:00
Brett Chabot
c95812e6ca Merge "Move out all framework-tests classes." into gingerbread 2010-06-16 14:39:41 -07:00
Jeff Brown
92266a7894 Merge "More work in progress on native events." into gingerbread 2010-06-15 16:44: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
Wei Huang
a6c52938b1 Merge "add new video/audio presence icons in the framework resource dirs, and make them public." into gingerbread 2010-06-15 15:34:06 -07:00
Wei Huang
2b24ecfbb2 add new video/audio presence icons in the framework resource dirs, and make them public.
- add definitions for

presence_video_away
presence_video_busy
presence_video_online
presence_audio_away
presence_audio_busy
presence_audio_online

in the public.xml, and update current.xml

- the actual icons for the audio versions are not yet done, so I used the video versions as placeholders.

Change-Id: I9e2be5dd05619cbdbbb61dc231e9da1984ddbb36
2010-06-15 15:19:40 -07:00
Scott Main
e4bca7ee60 am 322e7e47: Merge "docs: fix markup error" into froyo
Merge commit '322e7e477d89aca18d65cbd289343e716c45a699' into gingerbread

* commit '322e7e477d89aca18d65cbd289343e716c45a699':
  docs: fix markup error
2010-06-15 10:42:52 -07:00
Mathias Agopian
2d468c5d73 Make sure SurfaceView use a 565 surface when requesting an OPAQUE format.
this is needed for backward compatibility with somewhat buggy applications.
not a big deal, since the app can request another format explicitely.

Change-Id: Ic73f8acedf94ffc0115637efac28fa8ffaa7e5a4
2010-06-14 21:56:34 -07:00
Brett Chabot
be81f4f15d Move out all framework-tests classes.
Previously tests/framework-tests contained a quarantined set of test classes
that needed access to package-private framework api. Running these tests
normally would cause the dalvik verifier to throw errors.

runtest now has support for turning off the dalvik verifier for frameworks
tests, so move this tests into their recommended location, close to the source
being tested.

Also move policy source into a 'src' folder to accommodate the tests move.

Change-Id: I62f839da185a55bc553b653bf583fd99da438512
2010-06-14 17:23:08 -07:00
Brad Fitzpatrick
742b282e11 Merge "StrictMode: implement the log-to-DropBox option" into gingerbread 2010-06-14 15:19:51 -07:00
Dianne Hackborn
7e900cbf1d Merge "Update build version information." into gingerbread 2010-06-14 14:10:43 -07:00
Dianne Hackborn
3e03cfa3af Update build version information.
Change-Id: If53f16d494255230859a30f561e9a78ec49c6c10
2010-06-14 14:08:20 -07:00
Brad Fitzpatrick
143666f0ca StrictMode: implement the log-to-DropBox option
Change-Id: I51d12e264155078f953028241f8c5cbdc47262e8
2010-06-14 13:38:01 -07:00
Brad Fitzpatrick
14418945bd Dropbox: remove redundant Entry construction.
Change-Id: I55d8da82acea7f1cf0a69912fe5d4d46d704b570
2010-06-14 08:58:26 -07:00
Chih-Chung Chang
f1cefa9167 am 724c5224: Correct the setDisplayOrientation sample code.
Merge commit '724c52244423feced2677fbd1f905e0b8b0639f2' into gingerbread

* commit '724c52244423feced2677fbd1f905e0b8b0639f2':
  Correct the setDisplayOrientation sample code.
2010-06-14 04:11:00 -07:00
Chih-Chung Chang
724c522444 Correct the setDisplayOrientation sample code.
Change-Id: I37af4090b383204a5fd228a4388732e11ef2fa8c
2010-06-14 19:07:17 +08:00
Jeff Brown
7c8aa44f32 am 46b9ac0a: Native input dispatch rewrite work in progress.
Merge commit '46b9ac0ae2162309774a7478cd9d4e578747bfc2' into gingerbread

* commit '46b9ac0ae2162309774a7478cd9d4e578747bfc2':
  Native input dispatch rewrite work in progress.
2010-06-13 17:55:28 -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
Brad Fitzpatrick
46d4238746 More StrictMode work, handling violations in ActivityManagerService.
Also starts to do duplicate-suppression.

Change-Id: I0502f6ab6c45fa319298de4874ecfe44b7829d21
2010-06-11 16:11:26 -07:00
Dianne Hackborn
32907cfb38 Adjust activity manager process OOM adj.
Modify OOM adj classes a bit, to take into account the new
heavy weight app type, and give "foreground services" their
own category to have a bettery chance to manager them when
things go wrong.

Also add some new code to battery stats to keep a history
of changes to the battery level.

Change-Id: I29f5ab6938777e1a7eafd7d8c38b5e564cc9f96a
2010-06-11 10:39:11 -07:00
Scott Main
f10e6331e3 docs: fix markup error
Change-Id: Icea017095f58068c55dd3c1c18cecbdf06afb595
2010-06-11 09:03:22 -07:00
Chih-Chung Chang
b8bb78f54b Change camera interface to support multiple cameras.
Change-Id: Ie88fe706d2278acf762eca87780de349434778a4
2010-06-11 16:47:33 +08:00
Wu-cheng Li
2fd73a4522 Unhide camera metering mode API.
Change-Id: Ia3ca83e2a0b5b322e5dbf9ae3d5c1d3b89e0fd31
2010-06-11 15:29:49 +08:00
Mathias Agopian
9d8e8dcc84 Merge "fix [2757903] Crash in EGL when creating an EGLSurface" into kraken 2010-06-10 17:12:42 -07:00
Mathias Agopian
8b73ae4a1e fix [2757903] Crash in EGL when creating an EGLSurface
Change-Id: I995947ac40d1a5c86dce495550baf6864ecf5f54
2010-06-10 17:06:27 -07:00
Brad Fitzpatrick
438d059512 Introduce "StrictMode"
This is a new public API for developers to opt-in to strict rules
about what they're allowed to do on certain threads.  (this is the
public face of the @hide dalvik.system.BlockGuard, added recently...)

In practice this will be used for developers to opt-in to declaring
that they don't want to be allowed to do various operations (such as
disk I/O or network operations) on their main UI threads.  (these
operations are often accidental, or even when they are fast come with
a good chance of being slow or very slow in some cases....)

Implementation wise, this is just a thread-local integer that has a
bitmask of the things that aren't allowed, and more bits for saying
what the violation penalty is.  The penalties, of which multiple can
be chosen, include:

  * logging
  * dropbox uploading for analysis/reporting
  * annoying dialog
  * full-on crashing

These are all only very roughly implemented at this point, but all
parts now minimally work end-to-end now, so this is a good checkpoint
commit before this gets too large.

Future CLs will polish all the above 4 penalties, including
checksumming of stacktraces and minimizing penalties for duplicate
violations.

Change-Id: Icbe61a2e950119519e7364030b10c3c28d243abe
2010-06-10 14:38:58 -07:00
Kenny Root
36921ad858 am b00854d4: Import revised translations
Merge commit 'b00854d4c07ee8c810d1e32984543297bfa80a8e' into kraken

* commit 'b00854d4c07ee8c810d1e32984543297bfa80a8e':
  Import revised translations
2010-06-09 22:31:32 -07:00
Kenny Root
b00854d4c0 Import revised translations
Change-Id: I25faf1ade5252fa29cf43aa13e99fef9fc31b418
2010-06-09 22:25:58 -07:00
Joe Onorato
75144ea38e Move the status bar icon list, hopefully for the last time.
Change-Id: Ie495a41dac03e1fe5ddccefcbd2a0673090a6db1
2010-06-09 14:33:31 -07:00
Joe Onorato
f1f259165f Call into the notification manager when the panel is revealed.
This lets it turn off the LED.  However, it seems like somebody broke
the notification LEDs.  GRRR.

Change-Id: I3f7066c2b2e1673dc0144a34cf59946351a647be
2010-06-09 14:33:30 -07:00
Joe Onorato
7a0f36bd93 Move status_bar_latest_event and LatestItemView into SystemUI.apk.
Then, now that StatusBarManagerService is the only thing in that package,
move it up to the regular services package.  (I've been waiting for 4 years
to delete that package!)

Change-Id: If5faf44641319fd19e486d1f4e5bc1c6dfcff3ad
2010-06-09 14:33:30 -07:00