• Home
  • History
  • Annotate
  • only in /frameworks/base/media/java/android/
History log of /frameworks/base/media/java/android/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4df82703a7274876c03e65f7baf643f1ed55d29c 05-Dec-2012 Andreas Huber <andih@google.com> Make it clear that non-optional MediaFormat keys are required

Also mark KEY_CHANNEL_MASK optional.

Change-Id: I569087f564dc60a89b15a3440a9b1c538927f610
related-to-bug: 7623602
edia/MediaFormat.java
c3eb57b22f930f07448e877f0814eb5659bfc3c5 30-Nov-2012 Eric Laurent <elaurent@google.com> Merge "AudioService: improve initial safe volume delay" into jb-mr1.1-dev
05274f348e12983eb8613cc6eb9ae561e8197e28 29-Nov-2012 Eric Laurent <elaurent@google.com> AudioService: improve initial safe volume delay

AudioService relies on a valid mmc in order to enforce the headset
volume limitation or not. There is a timeout to enforce the limitation
if no mcc is configured after boot.
Until this timeout is reached or a valid SIM is detected the headset
volume is not limited.

This change makes that the last known volume limitation state (enforced or
not) is persisted so that next time we boot, last known state is applied until
a new mcc is configured if any. In most cases, the mcc does not change from one
boot to the next and we do the right thing. If teh mcc does change, the correct
policy will be enforced when the mcc is detected or after the timeout.

Also fix a bug where the volume panel was not displayed if the limitation mechanism
is triggered at the first press on VOL+ key.

Bug 7455275.

Change-Id: Id0f2996d893d38c6a14f4f9e4a0e9e3be17ef127
edia/AudioService.java
1cf2ca83584a4cf0aa3ded787bd191b9a60e3521 28-Nov-2012 Adam Powell <adamp@google.com> Clean up behavior of type arguments for MediaRouter#getSelectedRoute

MediaRouter's policy so far has been around a single selected route,
but when route types are entirely orthogonal this should not be the
case. However we still don't want to get into a situation where we
have multiple, very different routes selected for different types at
the same time, we still want to have more of an element of
predictability.

Behavior of getSelectedRoute is now:

* If the selected route matches at least one type with the requested
type flags, it is still considered selected for that request.

* If the caller specifically requested the selected user route and the
currently selected route is not a user route, return null.

* If the requested type flags do not match any types with the selected
route, return the default system route.

Note that this is "any" behavior instead of "all" - this matches
existing usage of the method. We may consider adding an "all" variant
later on.

Bug 7588042

Change-Id: I3a79d8153ca6b882fd3ef6b9b1de8f538873dec2
edia/MediaRouter.java
4dd3fb3e2c2b0d3dd7cb18f9e7e40a7b9dee8692 21-Nov-2012 Jean-Michel Trivi <jmtrivi@google.com> Fix audio focus evaluation order for display update

Change 1f9196a8e5de9b004e61afabc70b18caf7cf9c7e introduced
an issue when trying to ignore audio focus entries in the
stack that don't use the music stream, or are for transient
audio focus gain, for remote control display updates.
The bug was that the audio focus stack traversal was not
starting from the top, as it should. It was using
the iterator order, which, in the case of a stack, starts
with the bottom-most entry.
The fix consists in traversing the stack from the top, i.e.
from the last element of the vector used to hold the stack
entries.

Bug 7311023

Change-Id: I0c1900dbf98599a621a420ab55531a3eee838fe5
edia/AudioService.java
99a86d06333b0ff668f6c0d0294d1f72c7a40d8e 14-Nov-2012 Andreas Huber <andih@google.com> Clarify that MediaFormat.KEY_IS_ADTS only applies to decoding AAC audio content

and cannot be used to configure the _encoder_ to emit ADTS content.

Change-Id: I47177099b204027b726b2c7ec9b93be6835d88f6
related-to-bug: 7542186
edia/MediaFormat.java
c10914ca5c83ad6ac2c9acd7b52bfeb05d6e72e5 13-Nov-2012 Craig Mautner <cmautner@google.com> Merge "Support Wifi display devices that rename themselves." into jb-mr1.1-dev
0214f2b8560928d3160a938f3edde4d3aa03c6c5 05-Nov-2012 Eric Laurent <elaurent@google.com> AudioService: undock audio glitch - DO NOT MERGE

merge from master:

"AudioService: improve low end dock audio control

Low end docks have a menu to enable use of audio
for media: automatically enabling/disabling use of audio
when the dock is connected/disconnected is useless
and can be the source of audio glitches.

Bug 7463620."

Change-Id: I3b7e7ebe660bb3f0e4367d2a3ed63ee76f78fe58
edia/AudioService.java
cd3231f501b7ee038af5ab378ee5550090b7bc2e 03-Nov-2012 Eric Laurent <elaurent@google.com> audio service fix dock after crash - DO NOT MERGE

merge from master:
"audio service: set dock use on mediaserver restart

Restore forced usage of dock audio for media according to
current setting when media server restarts."

Bug 7485250.

Change-Id: Ie67b80ede1ed92d223dd96de83c1beb985dfba06
edia/AudioService.java
74da109102864f19b3dcdb30cd1d92c46fb12f2f 08-Nov-2012 Jeff Brown <jeffbrown@google.com> Support Wifi display devices that rename themselves.

Some Wifi display devices like to rename themselves after a
connection completes (or at other times). Make sure to update
the name of the display when we detect that it changed in
our scan results.

This problem is somewhat complicated by the fact that we remember
the display name persistently, so we need to update our list
of remembered displays too.

Improve the state machine to avoid redundant attempts to
disconnect or cancel connection.

Bug: 7478895
Change-Id: I35a9e2c6a8deadbe892dacd5e3b4a5a2b12d6cf0
edia/MediaRouter.java
61ebf9cd8f0b7bfbad6840bb828f2300beef745d 29-Oct-2012 Eric Laurent <elaurent@google.com> Merge "audio service: make dock audio is off by default" into jb-mr1-dev
f4a8eb22112c534f436357b50f231778c5c15c25 29-Oct-2012 Jean-Michel Trivi <jmtrivi@google.com> No playback and music widget from other user on user switch

On user switch:
- make the current audio focus owner loose audio focus
- clear the remote control display

Bug 7205290
Bug 7307156

Change-Id: I6ebcb94d1d2bae8c57ab98dd7e795b239a981d28
edia/AudioService.java
5ba0ffa0237a5c300545e4c72591613c6e5b2ed9 29-Oct-2012 Eric Laurent <elaurent@google.com> audio service: make dock audio is off by default

It is better to turn dock audio off by default if the user
has not yet explicitly turned it on from the settings menu.
There is a discoverability issue with current implementation
as we do not launch the settings menu at first dock insertion.
Having audio routed to the dock by default would make the tablet
silent for media content when docked and users will not be directed
to the settings menu.

As the dock audio enable setting is for low end docks only
(analog connection and no jack detection) disabling audio for low end docks
by default does not impact manta and prime docks.

Bug 7302106.

Change-Id: I571f361d41940cfb811f038442ae9ba9c6361d1d
edia/AudioService.java
c99a1107c0d4fdf47595e5072192d647a01e13b3 27-Oct-2012 Eric Laurent <elaurent@google.com> Merge "add settings for dock audio enabled" into jb-mr1-dev
7ee1e4ff7346a278a6722108fbc1869240b3e866 27-Oct-2012 Eric Laurent <elaurent@google.com> add settings for dock audio enabled

Add settings dock_audio_media_enabled indicating if dock audio
is enabled for media for docks that do not implement jack detection.

Bug 7302106.

Change-Id: I75766b606ceb870b3f89979c4e3cca88ed197aaf
edia/AudioService.java
92130f6407dc51c58b3b941d28a6daf4e04b8d62 25-Oct-2012 Jeff Brown <jeffbrown@google.com> Add MediaRouter API to get presentation display.

This new API makes it possible for an application to ask on
which Display it should show a Presentation based on the currently
selected media route.

Also added a new API on DisplayManager to query displays that
support a certain category of uses.

Improved the documentation of the Presentation class to explain
how to choose an appropriate Display for presentation.

Bug: 7409073
Change-Id: Iab451215e570ae55f3718fc228303143c800fe51
edia/MediaRouter.java
33c0a616dbd284b47cc8e6af2eec358fba7c701f 25-Oct-2012 Bryan Mawhinney <bryanmawhinney@google.com> Merge "Add text representation of ROUTE_TYPE_LIVE_VIDEO (for debugging)" into jb-mr1-dev
2bb7c122ef6ce8539dfbaeb3292adcd942185f82 24-Oct-2012 Bryan Mawhinney <bryanmawhinney@google.com> Add text representation of ROUTE_TYPE_LIVE_VIDEO (for debugging)

Change-Id: Id8fa45aefde85e2ba2b57694b91485ef25e2e5f2
edia/MediaRouter.java
d799db406b0bace285b7a82a468f75887f0308b6 24-Oct-2012 Eric Laurent <elaurent@google.com> AudioService: add fix for corrupted settings

Added correction of MODE_RINGER_STREAMS_AFFECTED setting in
case it is inconsistent when read from the database: ringtone,
notification and system streams are always affected by ringer mode.
A corruption of this setting persists accross reboots and propagates via
backup/restore causing devices to play notification and ringtones in silent mode.

Bug 7384750.

Change-Id: I23170413d01e6a8e34ef514f1516d7b9ab8bc656
edia/AudioService.java
8d9a1f66d9d3dbbd45a56d441a746ec11dba7645 19-Oct-2012 Jeff Sharkey <jsharkey@android.com> More migration to Global settings.

Bug: 7375796
Change-Id: I3954ce141ad30073896090a28eee743ba15fd736
edia/AudioService.java
256ab9e9b9ccf4ea23e1fcd6e4a9029a8004747f 16-Oct-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Use device availability to start WFD audio routing" into jb-mr1-dev
39ca39b0268b6c8d227163c52653162e06b84bda 12-Oct-2012 Marco Nelissen <marcone@google.com> Rewind buffer before copying into it.

b/7334897

Change-Id: I83f795cb662d0845314bfb80b9a27ae45b2a0517
edia/videoeditor/MediaArtistNativeHelper.java
c203ecfd9f6c356542fcb10bc85b27b98b170ddf 11-Oct-2012 Jean-Michel Trivi <jmtrivi@google.com> Use device availability to start WFD audio routing

Don't use the force_use mechanism to start WFD audio routing,
but rather only the availability of the remote submix audio
device. This is matched by a change in the audio policy
manager.

Bug 7318180

Change-Id: I756f032d8ca0375c3dbeddb7c321261c497539bc
edia/AudioService.java
edia/AudioSystem.java
2444ae7e2b8658a4a90f996e678423558744b4a2 11-Oct-2012 Jeff Brown <jeffbrown@google.com> Ensure MediaRouter correctly handles renamed Wifi displays.

Fix a couple of bugs that cause MediaRouter to disconnect from
the current Wifi display whenever it is renamed.

Added an extra check in WifiDisplayAdapter for identity renames.
The Settings app already handles this case but it's good to have
the service check for it as well so we don't store unnecessary
aliases.

Bug: 7310777
Change-Id: I8fddd32ca59f9b798ee31b467b81457508c345f8
edia/MediaRouter.java
bcfc1ca8ab8bf057e20d9369af3d007d80ca83e4 11-Oct-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Don't play notifications during speech recognition" into jb-mr1-dev
3f369684e13dfea0ba8ea134f3e95930b0dd7df0 11-Oct-2012 Adam Powell <adamp@google.com> Fix MediaRouter prioritization around a2dp devices

Most recently connected audio output gets priority. Wifi display will
dominate over everything.

Bug 7324334

Change-Id: I29b59570a2e9b5352be436dc5b7a0a6861dfae6b
edia/MediaRouter.java
d677054ca63f55abaa1c478ea3c50f6be665a979 10-Oct-2012 Jean-Michel Trivi <jmtrivi@google.com> Don't play notifications during speech recognition

Add support for querying AudioManager to know whether speech
recognition is currently underway.

Don't play a notification if speech recognition is underway.

Bug 7314859

Change-Id: I1bd013a3168cfe1a6b6dcfd28565e1c3c512eb6a
edia/AudioManager.java
edia/AudioSystem.java
14dfe4e0abe21782236af987f39d01dfb38e6ff3 09-Oct-2012 Eric Laurent <elaurent@google.com> Merge "enforce camera sound according to country code" into jb-mr1-dev
b072a9686c29bfbc05b732076a4e89bcca8db08a 09-Oct-2012 Adam Powell <adamp@google.com> Don't do a wifi p2p scan in MediaRouter if we're already connected

When we're connected to a wifi display already, some configurations
might hiccup or otherwise disrupt the media stream if we initiate a
new scan. Block the MediaRouter's default scanning behavior if we
start up while already connected to a wifi display. (A scan will still
occur if the user opens the picker dialog.)

Change-Id: I413efa883eec41fe0377da18bcb55bc72e2ac729
edia/MediaRouter.java
dd45d01128423a82652a3c9d77fa393631d95229 08-Oct-2012 Eric Laurent <elaurent@google.com> enforce camera sound according to country code

Use mcc config overlay mechanism to enforce camera shutter sounds
in countries where it is mandatory.
Property ro.camera.sound.forced is not needed anymore.
When camera sound is forced, STREAM_SYSTEM_ENFORCED is removed from
streams affected by ringer mode and its volume is
maxed out. AudioSystem.FORCE_SYSTEM_ENFORCED is sent to audio
policy manager to alter the routing policy for STREAM_SYSTEM_ENFORCED.

Also fix streams being unmuted when settings are reloaded
upon user switch while in silent mode.

Add ringer mode to audio service dump.

Bug 7032634.

Change-Id: Iceea5bba3b8d3aabf8e42b222deb33a893dc8f38
edia/AudioService.java
edia/AudioSystem.java
edia/IAudioService.aidl
33902db75011d863009585682bd08560c5b89a75 08-Oct-2012 Eric Laurent <elaurent@google.com> AudioService: fix settings for fixed volume device

Force max volume for devices with fixed volume policy (HDMI, dock...)
when reading the settings from DB. Otherwise, these devices would
get the default volume which is not what we want.

Also fix a problem related to ringer mode management when reloading the
volume settings upon user switch that would cause a muted stream to be
unmuted.

Bug 7301563;

Change-Id: I81cdb97125b845da584ed680181b93c7c1e5903f
edia/AudioService.java
11b999d0aaca72a33526795b6849b473cc3dd569 05-Oct-2012 Adam Powell <adamp@google.com> MediaRouter/Wireless Display - correct initial state

Make sure we get the right initial status for wifi displays when a new
display route is first added to the MediaRouter.

Bug 7289746

Change-Id: Id41f704fc88021bd4cdf21e9f4b3c810775e1aea
edia/MediaRouter.java
31fed73701041cd5455942abe2dacfc7639c5370 04-Oct-2012 Eric Laurent <elaurent@google.com> Merge "AudioService: filter flags in volume methods" into jb-mr1-dev
799448bee167c046ed715c7c4e3fe3486bf80d43 25-Sep-2012 Eric Laurent <elaurent@google.com> AudioService: filter flags in volume methods

Strip FIXED_VOLUME flag in setStreamVolume() and
adjustStreamVolume() as this flag is reserved for
framework use.

Bug 4335692.

Change-Id: I507582270f4c4cd631ee81fe50dca895bb6352b3
edia/AudioService.java
002e9d382d2daa7ed41636463ecdbddbd4897aba 02-Oct-2012 Eric Laurent <elaurent@google.com> audio service: fix system volume settings

STREAM_SYSTEM stream volume is never persisted to settings as
it is always derived from another stream volume (STREAM_RING on phones
and STREAM_MUSIC on tablets). Therefore values stored in settings
are stale from previous releases and should be ignored.

Also fix a problem where a muted stream can be unmuted by
readAudioSettings() even if it is muted by ringer mode.

Bug 7216630.

Change-Id: If23561ddfbc704f89fd0a997faf1b50299a50c2e
edia/AudioService.java
d640bd325c3be9a350058c835b880a7e0b40dc60 29-Sep-2012 Eric Laurent <elaurent@google.com> enable safe media volume according to country

Enable safe headphone volume feature for all countries that
do not opt otherwise in their mmc configuration.
Opt out for US.

Bug 7231029.

Change-Id: I2619d627508eb2cd1f73db9242e0cb5efa839a2a
edia/AudioService.java
2ee6a2a83262d05a566bd713d238e89edfd33a29 01-Oct-2012 Adam Powell <adamp@google.com> MediaRouter/Wifi Display improvements

* Don't select the default route on initialization in a process

* Add "connecting" state to MediaRouteButton

Bug 7258981
Bug 7262522

Change-Id: I5cd39b09843783b7e1e17620ca33193f0f3b8fca
edia/MediaRouter.java
4131a37366d59b5e61f55c4e48d2b22ee0c4cad4 28-Sep-2012 Adam Powell <adamp@google.com> String change for video routing via MediaRouter; "HDMI" not "HDMI audio."

Change-Id: Ifece0cf0bc11ff2ffab254c6177f9db741037df6
edia/MediaRouter.java
705ab808cf023e0cc38c2ba7cdb9571942cdc04f 17-Sep-2012 Adam Powell <adamp@google.com> Add wireless display selection support to MediaRouter.

* Adds the new route type LIVE_VIDEO

* Wireless displays support both LIVE_VIDEO and LIVE_AUDIO, making
wireless display routes valid selections in when apps make selecting
live audio routes available.

* MediaRouter will only report/manipulate wireless displays that have
already been paired at the system level.

Bug 7177920

Change-Id: Ic221b8687d77b4c0df9801c396b74870e86206e9
edia/MediaRouter.java
1951db86f527ff4e8c2ddf4306779ce956cd372d 26-Sep-2012 Jeff Sharkey <jsharkey@android.com> Merge "Multi-user ringtone playback." into jb-mr1-dev
65c4a2b26cd8776b0927e9b0e07ecf53bd31b627 26-Sep-2012 Jeff Sharkey <jsharkey@android.com> Multi-user ringtone playback.

Change RingtonePlayer to open content:// Uris based on requesting
UserHandle. Grant SystemUI visibility to all emulated storage so
it can play ringtones for apps without READ_EXTERNAL_STORAGE.

Resolve canonical file:// Uris before passing out of source app,
replacing any /emulated_legacy/-style paths with user-specific
variant so they can be opened by SystemUI. Calling for RemoteViews,
Ringtones, and Notifications.

Bug: 7202982
Change-Id: Ibf0eca8df80c1486711144a7b648f464aadfe099
edia/IRingtonePlayer.aidl
edia/Ringtone.java
c6c4365ddb0213c548b055f257dc8077389224fb 25-Sep-2012 Glenn Kasten <gkasten@google.com> Implement android.media.AudioManager.getProperty()

Bug: 6635041
Change-Id: I0e7d53b99559cdc89f2f107f23048e4b1a8dd383
edia/AudioManager.java
edia/AudioSystem.java
4bbcc6549738f3d69831b2bd9eb4accec3e9920e 24-Sep-2012 Eric Laurent <elaurent@google.com> Display a fixed volume silder when docked.

Align UI indication to volume policy when docked: the music volume
cannot be adjusted when docked or connected to HDMI. Display
a disabled slider at max volume in this case to be consistent.

Bug 4335692.

Change-Id: I6f8db143b0e2ecf54e4bdacd88afdeb661a98a18
edia/AudioManager.java
edia/AudioService.java
bf2e088b008cdc80059b943c3b144ec982963f4e 25-Sep-2012 Jean-Baptiste Queru <jbq@google.com> Merge into jb-mr1-dev

Change-Id: Iba23d16643b8754f6e0a7288b2ca242f722f1bdd
5bfaeaef3fc348d66f48b86be08655e91dff910a 22-Sep-2012 Eric Laurent <elaurent@google.com> pause music playback when switching user.

AudioService sends AudioManager.ACTION_AUDIO_BECOMING_NOISY
intent when notified of a user switch to pause music playback
for all background users.

Bug 7128886.

Change-Id: I6a24409533bf40c517c43da25b9baeceb3379cb8
edia/AudioService.java
9903e2638a6c502d96413680d3ebae4fb77fc412 22-Sep-2012 Eric Laurent <elaurent@google.com> Volume keys control music volume after music stops

On phones, add a short delay during which volume keys still
control music volume after music has stopped. This is similar
to the tablet behavior for notifications volume.
It allows users to control the prompt volume for talk back,
voice search or navigation even after the prompt has stopped.

Bug 7162364.

Change-Id: Iffbca9ec30ebcbe5846f783ddd260b6e736caf2b
edia/AudioService.java
f1a457d06c53a901ea08d2d3fb6e766bc06c4d4f 21-Sep-2012 Eric Laurent <elaurent@google.com> Do not turn safe volume on upon headset connection

It is not a requirement to force headphone volume limitation
back on when a headset is plugged in. Only turn it back on
when the device is power off or after 20 hours of cumulative
music listening.

Bug 7064975.

Change-Id: Idabd417a9a9b8096552119c0ff528ba193cfdb5d
edia/AudioService.java
d86077c3792ca03f004376d81e449a3ecdaa5e8b 20-Sep-2012 Glenn Kasten <gkasten@google.com> Merge "Expose android.media.AudioManager.getProperty()" into jb-mr1-dev
62796aac596f556a1871358bb8ce93af9d55c5a5 20-Sep-2012 Glenn Kasten <gkasten@google.com> Expose android.media.AudioManager.getProperty()

Also fix minor documentation errors.

Bug: 6635041
Change-Id: I6bbbf1b7c5ab705ac374436ea0c098cb3c27fd4a
edia/AudioManager.java
f9fac2c5fe3f304ee866b1afc3191d36835e96bd 20-Sep-2012 Eric Laurent <elaurent@google.com> Merge "Add multi user volume management" into jb-mr1-dev
bc0fab1fc2db832ef86d8a33466ec4d68b103ca0 19-Sep-2012 Eric Laurent <elaurent@google.com> Add multi user volume management

Notification and Alarm volumes are per user: they are saved and restored
when the foreground user changes.
Media volume is global: it is still saved and restored per user for
implentation reasons but is copied from one user to the next to ensure
media playback volume continuity when switching users.

Ringer mode (silent, vibrate...) is now a global setting.

Bug 7128886.

Change-Id: I9f4f5a0a3985552bca61c2cc3bbe5a144db755a6
edia/AudioService.java
549be8beadf5ad2a56b7f4269d419753c0d61be8 19-Sep-2012 Glenn Kasten <gkasten@google.com> Merge "New API for querying audio properties" into jb-mr1-dev
954a5d61a2b66a64a841669f75e1cbd9103029b5 19-Sep-2012 Mike Lockwood <lockwood@google.com> Merge "AudioService: Send "becoming noisy" intent when USB accessory audio is disconnected" into jb-mr1-dev
db45484e4b5858d14da93d3a06311b93bf0cf320 18-Sep-2012 Mike Lockwood <lockwood@google.com> AudioService: Send "becoming noisy" intent when USB accessory audio is disconnected

Bug: 7051259

Change-Id: I5b5fb3ad7c7e38dbf49700d893fd49354eaecf51
Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioService.java
465d72073c6d47a27b51d384bd9e019faa7957c1 18-Sep-2012 Mike Lockwood <lockwood@google.com> am ad23333f: am 945080b5: am 1e86994c: Merge "MtpData bmp format file can\'t recognize when copy bmp into DUT"

* commit 'ad23333f728471a7f2c49cd1c9575f1cea2503f6':
MtpData bmp format file can't recognize when copy bmp into DUT
945080b5b61e28bfc05c75ba5b2030d1e43d0f19 18-Sep-2012 Mike Lockwood <lockwood@google.com> am 1e86994c: Merge "MtpData bmp format file can\'t recognize when copy bmp into DUT"

* commit '1e86994cd0e13f9084d3f4bd0060b9e34c935490':
MtpData bmp format file can't recognize when copy bmp into DUT
1e86994cd0e13f9084d3f4bd0060b9e34c935490 18-Sep-2012 Mike Lockwood <lockwood@google.com> Merge "MtpData bmp format file can't recognize when copy bmp into DUT"
228c9847a31b79f8baa80302731cdbf6a2b3c0d4 14-Sep-2012 Glenn Kasten <gkasten@google.com> New API for querying audio properties

Bug: 6635041
Change-Id: I66e87c75af7c84cdb23cb25a958e79bba8e53baa
edia/AudioManager.java
c34dcc1e1ebf152bb400abbb8bc25f7dc0c3ba97 10-Sep-2012 Eric Laurent <elaurent@google.com> headphone volume limitation

Limit music volume when headphones or headset are inserted.
Display warning message when user wants to increase the volume
above a platform specific volume and request user acknowledgement
before proceeding.

TODO: exact wording of the warning message must be defined by UX.

Change-Id: I00f429f602534c6d8783126b929371c4d432e6e2
edia/AudioService.java
f6f16614574767263fcd0073f72c099edaca0607 13-Sep-2012 Mike Lockwood <lockwood@google.com> MtpDatabase: Use actual file size instead of media database size column

Fixes problems with file transfer from device to host that can occur
if the database size value is wrong.

Bug: 6954446

Change-Id: I03c3dd4b75267d1f4613f0b588c8899ded9a70be
Signed-off-by: Mike Lockwood <lockwood@google.com>
tp/MtpDatabase.java
25da9375fdf2e92c3f50c878da9c781a368bf255 11-Sep-2012 Mike Lockwood <lockwood@google.com> Merge "MtpDatabase: Fix typo affecting parent and format queries" into jb-mr1-dev
58e6831ccb54b33a914115e88ebb67e720615fb8 11-Sep-2012 Mike Lockwood <lockwood@google.com> MtpDatabase: Fix typo affecting parent and format queries

Bug: 7114350

Change-Id: I80269cfcebf521ea13cae30c1c9bd477d76adbd1
Signed-off-by: Mike Lockwood <lockwood@google.com>
tp/MtpDatabase.java
2ac2afeac989ea1dc326b0db996d6c6c8e00cc29 21-Aug-2012 Jean-Michel Trivi <jmtrivi@google.com> Add support for controlling remote submix audio routing

Add method in AudioManager to control remote submix through
AudioService.
AudioService controls remote submxi: enabling/disabling
remote submix will:
- make the sink audio device available/unavailable
- make the audio source available/unavailable
- force/unforce media streams to be routed to WFD

Change-Id: I05d9cc7c3e8a720318ec1385737cbd46a21a3207
edia/AudioManager.java
edia/AudioService.java
edia/AudioSystem.java
edia/IAudioService.aidl
edia/MediaRecorder.java
7017e48380ab0c1be033594bb2a9331898ad5be8 08-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge "Add support for Wifi display." into jb-mr1-dev
cbad976b2a36a0895ca94510d5208a86f66cf596 05-Sep-2012 Jeff Brown <jeffbrown@google.com> Add support for Wifi display.

Change-Id: I99693786cf9d07d07d3400046c55eb4933730b80
edia/RemoteDisplay.java
53082eced917e0af8fd06486e824d3ea78bc65b6 28-Aug-2012 Eric Laurent <elaurent@google.com> AudioSystem: new audio device enums

Update audio device enums to match new definitions in
native framework.

Change-Id: Ie257ab0423e3567f4af5a02b03e128af6c714da6
edia/AudioSystem.java
c67fb6c39e75a08e50977e143d7ae7bd11e2604c 06-Sep-2012 Jean-Baptiste Queru <jbq@google.com> am 657dba9e: am 4aa83ec3: am bb60bc26: Merge "Musicplayer application can not display DRM files of internal storage."

* commit '657dba9e66ff02785c2bf034ebecc3c357cbc333':
Musicplayer application can not display DRM files of internal storage.
4aa83ec3eee5c21e6a63c1981c219f3d3a5ac858 06-Sep-2012 Jean-Baptiste Queru <jbq@google.com> am bb60bc26: Merge "Musicplayer application can not display DRM files of internal storage."

* commit 'bb60bc26020f3aabc50aa93ad9bf812af7f48f9c':
Musicplayer application can not display DRM files of internal storage.
20c38ea9fd4024cc076c825f46cdfb34ffc090de 18-May-2012 Jan Bjernler <jan2.bjernler@sonymobile.com> Musicplayer application can not display DRM files of internal storage.

Make DRM-protected files transferred over MTP be detected.
Previously it was inserted into the database as MEDIA_TYPE_NONE,
the result of this was that the file was not detected properly.
With this fix the file is scanned from the beginning.

Change-Id: Idf17d39e3d529394cd4a03d71fb250e69b395533
edia/MediaScanner.java
73365695e4d169126c6932df8e8e932aefe6aaca 30-Aug-2012 Dianne Hackborn <hackbod@google.com> Merge "Improve multi-user broadcasts." into jb-mr1-dev
4dc187b43a77be3785c76f42c2fed598f4cee5da 30-Aug-2012 Teng-Hui Zhu <ztenghui@google.com> Merge "Fix a typo in the sample code" into jb-mr1-dev
a242deb1de365f0ed0032a87565df1971cb6bbe2 30-Aug-2012 Teng-Hui Zhu <ztenghui@google.com> Fix a typo in the sample code

Change-Id: I27ee1b0ef8abf5decefae1ec1706a9f142016344
edia/MediaExtractor.java
5ac72a29593ab9a20337a2225df52bdf4754be02 30-Aug-2012 Dianne Hackborn <hackbod@google.com> Improve multi-user broadcasts.

You can now use ALL and CURRENT when sending broadcasts, to specify
where the broadcast goes.

Sticky broadcasts are now correctly separated per user, and registered
receivers are filtered based on the requested target user.

New Context APIs for more kinds of sending broadcasts as users.

Updating a bunch of system code that sends broadcasts to explicitly
specify which user the broadcast goes to.

Made a single version of the code for interpreting the requested
target user ID that all entries to activity manager (start activity,
send broadcast, start service) use.

Change-Id: Ie29f02dd5242ef8c8fa56c54593a315cd2574e1c
edia/AudioService.java
794da7a0543cbecffefb73794aa68d1a93e41adf 30-Aug-2012 Eric Laurent <elaurent@google.com> AudioService: pause music when undocked

Send becomming noisy event also when disconnecting a dock
(analog, digital or USB) or HDMI.

Bug 6760590.

Change-Id: I497df35a3c6817d2b300f532d4cc3f12e3ce9ace
edia/AudioService.java
c77c6898b3e0fd057d1f9d8696f467d29bc2441f 27-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 3221b333: am 26ad1e78: am 03d16e12: Merge "Make setCaptureRate locale safe"

* commit '3221b33322b480fe9d4ba9dc0e7cd684ebe8c96a':
Make setCaptureRate locale safe
3221b33322b480fe9d4ba9dc0e7cd684ebe8c96a 27-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 26ad1e78: am 03d16e12: Merge "Make setCaptureRate locale safe"

* commit '26ad1e7874f3151ec331e142fdcb8b3a22ddc26a':
Make setCaptureRate locale safe
1c7928e8c68654d087f83c7cefc59095950b8bef 27-Aug-2012 Johan Redestig <johan.redestig@sonymobile.com> Make setCaptureRate locale safe

Dont use the default String.format in setCaptureRate as it is both
locale unsafe and less efficient than regular string concatenation
in this case.

Change-Id: I29418ec0352ef8c79967592b6eb8ff66cc9c99f0
edia/MediaRecorder.java
2adac496a891ba70cc2797a36aacf642e10b8c8d 26-Aug-2012 James Dong <jdong@google.com> Added some common error codes in MediaPlayer.java

o related-to-bug: 6770717

Change-Id: Iea8ba6943755a9af8df5b6e91284c7c1b32c3c6c
edia/MediaPlayer.java
c209a06cfdcf633f12a299245312e3ac32bff27c 24-Aug-2012 Marco Nelissen <marcone@google.com> Let apps provide a custom data source for extractors

Adds android.media.DataSource, which is modeled after its native namesake,
and a new method on MediaExtractor that lets apps specify their implementation
of a DataSource as the source of data for the extractor.

Change-Id: If1b169bd18d2691ebc4f8996494dfc8ee0894b6c
edia/DataSource.java
edia/MediaExtractor.java
240582eabee56d55751b85e220811d48fabe839a 27-Feb-2012 bo huang <bo.b.huang@intel.com> MtpData bmp format file can't recognize when copy bmp into DUT

add support for bmp format.

Change-Id: I67d4703b43cd32abad638bae57bbceb65b4be6de
Author: bo huang <bo.b.huang@intel.com>
Signed-off-by: bo huang <bo.b.huang@intel.com>
Signed-off-by: Wu, Hao <hao.wu@intel.com>
Singed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 24555
tp/MtpDatabase.java
d0604565ee0a21bb72c3b31a39f51b9758177a11 10-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am d2388b50: am 53ad027c: Merge "MtpStorage: correct the size of reserve space for MTP"

* commit 'd2388b50a5c16b920bdd656448107a21e49d753b':
MtpStorage: correct the size of reserve space for MTP
d2388b50a5c16b920bdd656448107a21e49d753b 10-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 53ad027c: Merge "MtpStorage: correct the size of reserve space for MTP"

* commit '53ad027c46bf578e26e5db70319b17a671ce8a36':
MtpStorage: correct the size of reserve space for MTP
53ad027c46bf578e26e5db70319b17a671ce8a36 10-Aug-2012 Jean-Baptiste Queru <jbq@google.com> Merge "MtpStorage: correct the size of reserve space for MTP"
6736cca08df84328913962f9a14fafa13a25d390 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 52410be8: Merge "mediacodec: Don\'t suggest calling getOutputFormat() immediately"

* commit '52410be8ec092bfa7e84f2d8facdc161d6107ac3':
mediacodec: Don't suggest calling getOutputFormat() immediately
aef4af4cd122ca5713110ccc7539828ce6e2f642 08-Aug-2012 James Dong <jdong@google.com> Merge "Add MEDIA_ERROR_SERVER_DIED error constant to MediaRecorder.java class" into jb-mr1-dev
a35379ae984ddb8fe067c4b115fffc5a21e565e1 08-Aug-2012 James Dong <jdong@google.com> Add MEDIA_ERROR_SERVER_DIED error constant to MediaRecorder.java class

o As a result, applications can listen for death notification from MediaRecorder onError callbacks

Change-Id: I49896c4ae8130bd67b52deff6eb97a22b43d3f32
edia/MediaRecorder.java
2d286f4984d478cc5947a3a3ceea85b292d5f920 07-Aug-2012 Mike Lockwood <lockwood@google.com> MediaFile: Fix case sensitive file extension matching for computing MTP format code

Bug: 6939136

Change-Id: Iefd4083aefbd4b175a2f8c860a9e13c99ded9c82
Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/MediaFile.java
b529e4c9ca8a6790162275ac2e481f768a6d585f 12-Jul-2012 Martin Storsjo <martin@martin.st> mediacodec: Don't suggest calling getOutputFormat() immediately

Calling getOutputFormat() at this point currently crashes in
native code. (After a fix to the native code, this gives an
IllegalStateException instead.)

Change-Id: Ia45c4820bb3d9ed435a0aeef1ff8c230524f2e1f
edia/MediaCodec.java
3b60dacb4e1871d1c7b410ac55fd3e5fd6bfacfb 06-Aug-2012 bo huang <bo.b.huang@intel.com> MtpStorage: correct the size of reserve space for MTP

According to description in frameworks/base/core/res/res/xml/storage_list.xml,
"mtpReserve: (integer) number of megabytes of storage MTP should reserve for free storage".
Mtpstorage class use it directly and doesn't change it to correct size in megabyes.
Mtp initor can not get correct storage information from android.

Change-Id: Icf59eb1eb478e67ea5990be96a9decb41aa55504
Signed-off-by: Bo Huang <bo.b.huang@intel.com>
Signed-off-by: Jack Ren<jack.ren@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
tp/MtpStorage.java
8ab2dc2f9680307febe997631c2148729f714e3d 01-Aug-2012 Marco Nelissen <marcone@google.com> Improve scan time for some cases

When the path being matched has a sqlite wildcard character in it, a "like"
match will be quite slow. Unfortunately this is fairly common, since "_"
is a wildcard character. However, because in most cases the case of the path
in the database will match the case on disk, an "=" match will work, so it
is worthwhile to try an "=" match first, before trying a "like".

If there are no wildcard characters, the "like" will be as fast as the "=",
because of the case-insensitive index on the _data column, so there is no
need to try "=" first in that case.

b/6751354

Change-Id: I1cd4efbd56a37886cb44a86acb73eb9a3c9f303d
edia/MediaScanner.java
998483319195f903529363ebbad0e694acd0a21b 31-Jul-2012 James Dong <jdong@google.com> Added a key to retrieve the rotation angle in MediaMetadataRetriever.java class

o related-to-bug: 6872687

Change-Id: I94569bb8357c39e8309974ede8284b33a996866c
edia/MediaMetadataRetriever.java
b10ec1f4b1f6a3552060d44359dd64cc37b1a497 31-Jul-2012 James Dong <jdong@google.com> Fix a typo (dependant => dependent)

Change-Id: I0337bec1a26e852c32ea9f1ce54f270f79ee3ab1
edia/MediaPlayer.java
1f9196a8e5de9b004e61afabc70b18caf7cf9c7e 27-Jul-2012 Jean-Michel Trivi <jmtrivi@google.com> Relax rules for media apps to stay on RemoteControlDisplay

The playback of notification would make the display of the
RemoteControlClient disappear from the lockscreen.

Fixed by modifying which AudioFocus owner to consider when
reevaluating how the RemoteControlDisplay needs to be updated:
use the first (starting from the top of the AudioFocus stack) that
uses STREAM_MUSIC, or that uses any other stream type for a short
period.

Change-Id: Id7cef00c5eed1f6ebfa59634eea8e2c9b2f3f5eb
edia/AudioService.java
ddd88726a247e4100cb62b3dc9d0887ca2ae2ec4 26-Jul-2012 Jeff Smith <whydoubt@yahoo.com> am 71930dd7: am a45746ef: Fix several cases of broken droiddoc syntax external issue 35214

* commit '71930dd77e4dc6f6be5c648019d2ab0da5f0584c':
Fix several cases of broken droiddoc syntax external issue 35214
71930dd77e4dc6f6be5c648019d2ab0da5f0584c 25-Jul-2012 Jeff Smith <whydoubt@yahoo.com> am a45746ef: Fix several cases of broken droiddoc syntax external issue 35214

* commit 'a45746efadd11bb7dfab026fb3c81a25fae74ca4':
Fix several cases of broken droiddoc syntax external issue 35214
a45746efadd11bb7dfab026fb3c81a25fae74ca4 19-Jul-2012 Jeff Smith <whydoubt@yahoo.com> Fix several cases of broken droiddoc syntax
external issue 35214

patch contributed by Jeff Smith <whydoubt@yahoo.com>

Change-Id: I70dcee88a140699bf3e1ab369bed6dcd2fdd3d83
edia/MediaExtractor.java
edia/MediaPlayer.java
15a89e6b48e9cd0112efcfd903843c5912e26567 24-Jul-2012 James Dong <jdong@google.com> Added MEDIA_INFO_VIDEO_RENDERING_START as an informational event

o MEDIA_INFO_VIDEO_RENDERING_START indicates that the player just pushed the very first video frame
of a video source for rendering.

Change-Id: I32dad93990f5d48b70fc79d841ca3ce3b1af4027
related-to-bug: 6851811
edia/MediaPlayer.java
c64c1cbef4d52cbd82c38485be3270eddf743f98 19-Jul-2012 James Dong <jdong@google.com> am d1a0a53e: am 5d478b9c: Merge "Changed to obtain a parcel in each notify() call in jni." into jb-dev

* commit 'd1a0a53eec141b615697652b3a8907a60298a414':
Changed to obtain a parcel in each notify() call in jni.
d1a0a53eec141b615697652b3a8907a60298a414 19-Jul-2012 James Dong <jdong@google.com> am 5d478b9c: Merge "Changed to obtain a parcel in each notify() call in jni." into jb-dev

* commit '5d478b9c1009b077649f7f870d993832d380d63c':
Changed to obtain a parcel in each notify() call in jni.
5d478b9c1009b077649f7f870d993832d380d63c 19-Jul-2012 James Dong <jdong@google.com> Merge "Changed to obtain a parcel in each notify() call in jni." into jb-dev
41a48e4a9984eff92705a0c52104b0abd365521a 17-Jul-2012 Adam Powell <adamp@google.com> am c36b8acd: am 38895394: Merge "Properly switch MediaRouter to wired audio over a2dp." into jb-dev

* commit 'c36b8acd1e850619de0bbf678b9573d4d761d836':
Properly switch MediaRouter to wired audio over a2dp.
c36b8acd1e850619de0bbf678b9573d4d761d836 17-Jul-2012 Adam Powell <adamp@google.com> am 38895394: Merge "Properly switch MediaRouter to wired audio over a2dp." into jb-dev

* commit '388953942b536b5eebd942ef78ae5b7499bc2078':
Properly switch MediaRouter to wired audio over a2dp.
fdd3241a24fc31d7e161ce0e1bb50bef413394c7 12-Jul-2012 Martin Storsjo <martin@martin.st> mediacodec: Don't suggest calling getOutputFormat() immediately

Calling getOutputFormat() at this point currently crashes in
native code. (After a fix to the native code, this gives an
IllegalStateException instead.)

Change-Id: Ia45c4820bb3d9ed435a0aeef1ff8c230524f2e1f
edia/MediaCodec.java
bcf21e913af7252fb1994e07b6cf179321ecd049 12-Jul-2012 Adam Powell <adamp@google.com> Properly switch MediaRouter to wired audio over a2dp.

The system gives priority to physically connected
headphones/speakers/docks/etc. Reflect this in MediaRouter and
associated UI.

Bug 6777592

Change-Id: Ibabf3d7512207117e892c99f004443490c3d0612
edia/MediaRouter.java
f2b0c11f4e797e183131261724d8de310dac5431 09-Jul-2012 Jean-Michel Trivi <jmtrivi@google.com> Fix sound effect attenuation calculation

The sound effect volume attenuation calculation is wrong: the
division by 20 was always returning 1 or 0.
In AudioService, rename the sound effect attenuation value to
follow the naming conventions for static variables.

Change-Id: I3c36d50f4470ff09ca98cb944aefb5ad0f968782
edia/AudioService.java
28b7809e309637decc867547dc34b7635785c5f8 10-Jul-2012 Eric Laurent <elaurent@google.com> Merge "AudioService: fix a2dp force use delay"
333c09945e7399c6a2b1f4d9fdf981508e38db52 09-Jul-2012 Insun Kang <insun@google.com> Changed to obtain a parcel in each notify() call in jni.

Change-Id: I5faf0f5d1fdf76a5b4bd1cff37aa58df79d18e85
related-to-bug: 6785452
edia/MediaPlayer.java
c390bed06b4a572e273ead1254da9a932e04dce3 03-Jul-2012 Eric Laurent <elaurent@google.com> AudioService: fix a2dp force use delay

Fixed setBluetoothA2dpOnInt() so that AudioSystem.setForceUse()
is called synchronously and not via a message.

This is because the order in which setForceUse() and setDeviceConnectionState()
are executed is important to avoid audio glitches when called from
onSetWiredDeviceConnectionState().

Bug 6720482.

Change-Id: I09c975d1108fd38f31b047c082acdf944ab790a7
edia/AudioService.java
9b52b9c83d4b39c22c0e90d982c145282d829363 04-Jul-2012 Scott Main <smain@google.com> am 7b5488d8: am 099fd80f: docs: add throws notice for isPlaying per external issue 33610

* commit '7b5488d85d8ed36c42a821fb0064de741cca35c9':
docs: add throws notice for isPlaying per external issue 33610
7b5488d85d8ed36c42a821fb0064de741cca35c9 04-Jul-2012 Scott Main <smain@google.com> am 099fd80f: docs: add throws notice for isPlaying per external issue 33610

* commit '099fd80f984b8493de58bdda8ea05563261b0af2':
docs: add throws notice for isPlaying per external issue 33610
099fd80f984b8493de58bdda8ea05563261b0af2 04-Jul-2012 Scott Main <smain@google.com> docs: add throws notice for isPlaying
per external issue 33610

Change-Id: Ibd778cb4ecc5f1717fa007ac069a7b3660ec4794
edia/MediaPlayer.java
f16b211ebfe36544bae832f9b9968b9640720be3 28-Jun-2012 Scott Main <smain@google.com> am 00a82605: am f443c5ea: Merge "Minor corrections to the javadoc overview to reflect late API changes." into jb-dev

* commit '00a82605a17360f5b9005035a75d779a231d5a5c':
Minor corrections to the javadoc overview to reflect late API changes.
00a82605a17360f5b9005035a75d779a231d5a5c 28-Jun-2012 Scott Main <smain@google.com> am f443c5ea: Merge "Minor corrections to the javadoc overview to reflect late API changes." into jb-dev

* commit 'f443c5ea2c67285322d4790e5bee4c3c6f6af1ae':
Minor corrections to the javadoc overview to reflect late API changes.
f443c5ea2c67285322d4790e5bee4c3c6f6af1ae 28-Jun-2012 Scott Main <smain@google.com> Merge "Minor corrections to the javadoc overview to reflect late API changes." into jb-dev
2ac3f2e285159300c62c797bb2123604773ccac7 27-Jun-2012 Andreas Huber <andih@google.com> Minor corrections to the javadoc overview to reflect late API changes.

Change-Id: If64e7ea0fa9c892d728282e5e18547a4da115989
edia/MediaCodec.java
edia/MediaExtractor.java
68ff8cbc3832811baf2e932b1d96ed64d0a291c0 27-Jun-2012 Mike Lockwood <lockwood@google.com> am 1524e625: am 7017d51e: Merge "MtpDatabase: Fix sqlite3 pattern matching for MTP directory deletes" into jb-dev

* commit '1524e625067da52e1365e4f939d4683edeea2fd5':
MtpDatabase: Fix sqlite3 pattern matching for MTP directory deletes
1524e625067da52e1365e4f939d4683edeea2fd5 27-Jun-2012 Mike Lockwood <lockwood@google.com> am 7017d51e: Merge "MtpDatabase: Fix sqlite3 pattern matching for MTP directory deletes" into jb-dev

* commit '7017d51e147a0f6ed2370fb79c656c9726304131':
MtpDatabase: Fix sqlite3 pattern matching for MTP directory deletes
7017d51e147a0f6ed2370fb79c656c9726304131 27-Jun-2012 Mike Lockwood <lockwood@google.com> Merge "MtpDatabase: Fix sqlite3 pattern matching for MTP directory deletes" into jb-dev
1e855d98aa979b30cee9e096cf6a1cb54df0367b 27-Jun-2012 Mike Lockwood <lockwood@google.com> MtpDatabase: Fix sqlite3 pattern matching for MTP directory deletes

Bug: 6684451

Change-Id: I90204550ccfcd1b7a5b1973bed2a88e934aae053
Signed-off-by: Mike Lockwood <lockwood@google.com>
tp/MtpDatabase.java
7b10a492bc9fa21039eb93bd0fe6d387001f7a7f 25-Jun-2012 Andreas Huber <andih@google.com> am 6dfd6aec: am c8c5e98b: Merge "Document some of the more common mimetypes to be used when instantiating" into jb-dev

* commit '6dfd6aec2730bfdde6da646dafa8597a34a17b4e':
Document some of the more common mimetypes to be used when instantiating
6dfd6aec2730bfdde6da646dafa8597a34a17b4e 25-Jun-2012 Andreas Huber <andih@google.com> am c8c5e98b: Merge "Document some of the more common mimetypes to be used when instantiating" into jb-dev

* commit 'c8c5e98b9ea0be4d161382fc537955d505e65a6c':
Document some of the more common mimetypes to be used when instantiating
68b1a6eed8479e16456f018663b1bcfaecc2a3f4 25-Jun-2012 Andreas Huber <andih@google.com> Document some of the more common mimetypes to be used when instantiating

MediaCodec components.

Change-Id: I810507d1d76a28666eb6fb63e3b597d38e5f1389
edia/MediaCodec.java
c497bc69e90adc3114967bb12f82dfcaf52c7d65 24-Jun-2012 Adam Powell <adamp@google.com> am 3c419da6: am dbbfa702: Fix MediaRouter bugs

* commit '3c419da632c7f332a50e5001331544cb8c919dce':
Fix MediaRouter bugs
3c419da632c7f332a50e5001331544cb8c919dce 24-Jun-2012 Adam Powell <adamp@google.com> am dbbfa702: Fix MediaRouter bugs

* commit 'dbbfa702a09f6d2d36dee1b552442d04a4673f89':
Fix MediaRouter bugs
dbbfa702a09f6d2d36dee1b552442d04a4673f89 24-Jun-2012 Adam Powell <adamp@google.com> Fix MediaRouter bugs

Fix a bug where a newly added group had no supported types at the time
of callback dispatch, meaning that no registered callbacks would be
invoked.

Fix a bug where subscribed type flags were not updated properly when
re-adding a callback for new types.

Change-Id: I7d9f11b363ebdca692786cec1d432600946e5721
edia/MediaRouter.java
0c26f97684f131624aadc8cea05f0f07ac0e7d89 23-Jun-2012 Adam Powell <adamp@google.com> am 3b939b72: am fd3fd482: Merge "Update route count properly when MediaRouteButton detects grouped/ungrouped events" into jb-dev

* commit '3b939b7242f9c4155f4d8b34cb474abc77c6417f':
Update route count properly when MediaRouteButton detects grouped/ungrouped events
3b939b7242f9c4155f4d8b34cb474abc77c6417f 23-Jun-2012 Adam Powell <adamp@google.com> am fd3fd482: Merge "Update route count properly when MediaRouteButton detects grouped/ungrouped events" into jb-dev

* commit 'fd3fd482ab6ab67b687696f51fa67714bd36fa49':
Update route count properly when MediaRouteButton detects grouped/ungrouped events
f3b653a21cdffe04c94c275e69ecb56e00766e82 23-Jun-2012 Adam Powell <adamp@google.com> Update route count properly when MediaRouteButton detects
grouped/ungrouped events

Change-Id: I1b00678cc3b548f347c51c3fcbfce18ecc8fbabe
edia/MediaRouter.java
c7be481af1ea9ed4c849cc83dd095e8835d2b5f6 21-Jun-2012 Adam Powell <adamp@google.com> am fd7ea067: am d7c00d2b: Merge "MediaRouter group volume reporting" into jb-dev

* commit 'fd7ea06787f0be4def188621888d228f38f3a4d1':
MediaRouter group volume reporting
fd7ea06787f0be4def188621888d228f38f3a4d1 21-Jun-2012 Adam Powell <adamp@google.com> am d7c00d2b: Merge "MediaRouter group volume reporting" into jb-dev

* commit 'd7c00d2bdd011d3a73faf1c4a5bb8012d24dd648':
MediaRouter group volume reporting
f8ac14a7f5a59b4ec8e89283a2da40b626e42065 21-Jun-2012 Adam Powell <adamp@google.com> MediaRouter group volume reporting

RouteGroups always report back the loudest volume of their component
routes. Maintain this through volume update requests (such as those
reported by volume hard keys) such that each route updates
individually, but the group slider always indicates the loudest value.

Change-Id: I5de4b9048bf55682b6271e9485fe50496a1c97c2
edia/MediaRouter.java
a08e6881c58c56aba2ac1f6e02db1529e10f9e6e 21-Jun-2012 Adam Powell <adamp@google.com> am ed044cda: am 09829b71: Merge "Expand volume APIs for MediaRouter" into jb-dev

* commit 'ed044cda8f6a7600923eecdec682c449f86e0429':
Expand volume APIs for MediaRouter
ed044cda8f6a7600923eecdec682c449f86e0429 21-Jun-2012 Adam Powell <adamp@google.com> am 09829b71: Merge "Expand volume APIs for MediaRouter" into jb-dev

* commit '09829b71de3a84cb9d1bc0d8aad78dd16daadddf':
Expand volume APIs for MediaRouter
8e37a85bf3dc39519942698dc90a3951306b934b 21-Jun-2012 Adam Powell <adamp@google.com> Expand volume APIs for MediaRouter

Allow applications to set a requested volume level on RouteInfo
objects. If requested for a user route, the app-supplied callback will
be invoked to perform actual volume adjustment.

Change-Id: I856990a0da7292492aa15e6562dbc3d055b848a0
edia/MediaRouter.java
ecab2aab19263826447cfed1586232d2e8672139 21-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am e44440f4: am bd6b1820: Merge "Unhide new API in android.media.MediaRouter for remote playback" into jb-dev

* commit 'e44440f40c6b005dce2eba1b37b3cabe97133152':
Unhide new API in android.media.MediaRouter for remote playback
63258b253ccce8add3fd424c5a05998cdf179c2e 21-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am 7fe75d97: am fc178e38: Merge "Asynchronous handling of remote volume updates" into jb-dev

* commit '7fe75d9759544d9b2eccac19aacb8c3992dfcc02':
Asynchronous handling of remote volume updates
e44440f40c6b005dce2eba1b37b3cabe97133152 21-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am bd6b1820: Merge "Unhide new API in android.media.MediaRouter for remote playback" into jb-dev

* commit 'bd6b1820d931ef11fc7fc5b8571a8265c1ed4994':
Unhide new API in android.media.MediaRouter for remote playback
7fe75d9759544d9b2eccac19aacb8c3992dfcc02 21-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am fc178e38: Merge "Asynchronous handling of remote volume updates" into jb-dev

* commit 'fc178e381d3db299901a96461122eb22a4ffb43e':
Asynchronous handling of remote volume updates
2cd5d253786b115470adc04a3609358f5eb7eb0a 20-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Unhide new API in android.media.MediaRouter for remote playback

Expose new functionality for handling remote volume in:
android.media.MediaRouter.RouteInfo
android.media.MediaRouter.UserRouteInfo
android.media.MediaRouter.VolumeCallback

Change-Id: I8fd9c92be606364599e65939f318e11c2860bab9
edia/MediaRouter.java
f98de1e8dd6dcbd191921b4aa07a1d41b0b9db91 20-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Asynchronous handling of remote volume updates

Remote playback information updates will be posted from the
application thread, and sent to AudioService. Because they
require locking the stack containing the remote playback
information, the update should happen on AudioService's handler
thread to avoid lock contention.

Change-Id: Ie04898295e08c16dd8ab5985fd825301e9cf1981
edia/AudioService.java
edia/RemoteControlClient.java
6009dc014f8fa0aefc68e7265761960c5433d108 20-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am b92d2a13: am 18ddb6ce: Merge "Remote volume handling in MediaRouter" into jb-dev

* commit 'b92d2a13c4ab34862968f47191d2713de3701757':
Remote volume handling in MediaRouter
b92d2a13c4ab34862968f47191d2713de3701757 20-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am 18ddb6ce: Merge "Remote volume handling in MediaRouter" into jb-dev

* commit '18ddb6ce6f3672a24a6f86ee4b28f5baa746bc20':
Remote volume handling in MediaRouter
1357012968f9066ea3051d83995e9bac69526c3c 19-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Remote volume handling in MediaRouter

Extend MediaRouter.UserRouteInfo to enable setting playback
information, which includes volume. When the user route instance
has a RemoteControlClient, forward any playback information to it.
Enable specifying a callback to be notified of volume events
on the route.
Extend MediaRouter.RouteInfo to enable retrieving playback
information.

Update RemoteControlClient javadoc to reflect which parts of the
API are not intended to be made public.

Change-Id: I59d728eb61747af6c8c89d53f0faeb07940594c3
edia/AudioService.java
edia/IAudioService.aidl
edia/IRemoteVolumeObserver.aidl
edia/MediaRouter.java
edia/RemoteControlClient.java
629f051f7d061f4db4a174dbd267a96f0c8113df 19-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am 586b8ee6: am 2f442304: Merge "Remote volume handling" into jb-dev

* commit '586b8ee62e0245e3c88ce9db51e1c1c3b4f1fb2c':
Remote volume handling
586b8ee62e0245e3c88ce9db51e1c1c3b4f1fb2c 19-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am 2f442304: Merge "Remote volume handling" into jb-dev

* commit '2f4423043ffeaf232ec984be03743326f08cdc8a':
Remote volume handling
2f4423043ffeaf232ec984be03743326f08cdc8a 19-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Remote volume handling" into jb-dev
e97d22211095cd5a6257887ff2bc01ccf5d4ec2e 19-Jun-2012 Adam Powell <adamp@google.com> am 29a2f84f: am 5bb835a9: Merge "MediaRouter bluetooth a2dp selection" into jb-dev

* commit '29a2f84fbee96c1bbbcb50eceb17d9b726854146':
MediaRouter bluetooth a2dp selection
29a2f84fbee96c1bbbcb50eceb17d9b726854146 19-Jun-2012 Adam Powell <adamp@google.com> am 5bb835a9: Merge "MediaRouter bluetooth a2dp selection" into jb-dev

* commit '5bb835a95942b0b313b2fa4e3f05941e630f9be7':
MediaRouter bluetooth a2dp selection
dd0a19266d5c837069da1ea188744d54c8d723a8 19-Jun-2012 Adam Powell <adamp@google.com> MediaRouter bluetooth a2dp selection

Remove bluetooth permission check from internal AudioService method
setBluetoothA2dpOn

Manage BT A2DP state in MediaRouter. A2DP is only enabled or disabled
when either the system built-in audio route or the A2DP audio route is
selected; when selecting any other route the current state is left
alone.

Change-Id: Ib14274e206e79bd8762edca1205ecfa87b7a94cf
edia/AudioService.java
edia/MediaRouter.java
3114ce3861f20f9a5c2c59dd2629197a1f4874a8 12-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Remote volume handling

Extend RemoteControlClient class to enable an applicaton to
specify more information about how it's playing media, now covering
usecases where media playback happens "remotely". This playback
information can be used to set the volume and maximum volume
used remotely.
Declare a new intent and associated extras in Intent,
ACTION_VOLUME_UPDATE, so an application can be notified that
the volume it handles should be updated. It can then use
the new RemoteControlClient.setPlaybackInformation() method
to notify AudioService what the volume is.
Extend AudioService to maintain playback information associated
with the RemoteControlClient information in the stack of
media button event receivers (mRCStack). The information
about the active remote is cached so the stack doesn't have
to be iterated over in order to retrieve remote playback info.
Events to "adjust" the remote volume based on hardware key
presses cause the client application to be notified of
volume updates, and the volume panel to display the volume
set by the app.
Revise which stream type is controlled when none is specified
according to latest guidelines for remote playback.
Update VolumePanel class to support a new pseudo stream type,
AudioService.STREAM_REMOTE_MUSIC, that corresponds to the
remote playback volume, and uses the new "media route" icon.
Enable it to receive asynchronously new volume values for
the remote that will be displayed if the UI is still up,
and ignored otherwise.
Now supports hiding/showing sliders dynamically so remote
volume only appears when AudioService has a remote control
client handling remote volume.
Define new java symbols for the two media route icons.
Modify lockscreen behavior: don't automatically control music
volume when music is active, consider also remote playback.

Still to do:
- playback information set by RemoteControlClient should post
a message for AudioService to update playback information
instead of updating it synchronously

Change-Id: I557aa687239f9acfe33a609f05876c67fa7eb967
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
edia/RemoteControlClient.java
987f4a504aa90a99bc4930fe9ee35c52907bca80 18-Jun-2012 Adam Powell <adamp@google.com> am 12c2fbd3: am eb2c1b21: Merge "Restrict MediaRouter selection" into jb-dev

* commit '12c2fbd3b7e98132fe1388b065a5dd09c20ef390':
Restrict MediaRouter selection
12c2fbd3b7e98132fe1388b065a5dd09c20ef390 18-Jun-2012 Adam Powell <adamp@google.com> am eb2c1b21: Merge "Restrict MediaRouter selection" into jb-dev

* commit 'eb2c1b21c6835399fa55227e498fb2930e533439':
Restrict MediaRouter selection
4ee1f55ce0f4909a7430ab44563a81852f335071 18-Jun-2012 Adam Powell <adamp@google.com> Restrict MediaRouter selection

Actually restrict the programmatic selection of routes by
type. (Oops.)

Change-Id: I91e837f7ecbcddb626c664fb470e8296d563498d
edia/MediaRouter.java
0be17da62000996318ecc50e2563bfd9be3fd052 18-Jun-2012 Adam Powell <adamp@google.com> am c92aa2e7: am 1b4dc0fe: Merge "Volume control in MediaRouter dialogs" into jb-dev

* commit 'c92aa2e7c9112adafc5283921efe25574a95b7a4':
Volume control in MediaRouter dialogs
9471faf5dcc3ebf88bbc1a01809eb7312e65f829 18-Jun-2012 Adam Powell <adamp@google.com> am 8f695c52: am 706a8699: Merge "Make MediaRouter UI more robust around route count changes" into jb-dev

* commit '8f695c525f5baa623a8b951bd3a1fd2b5efd1ceb':
Make MediaRouter UI more robust around route count changes
7e8aac14c3a930dea0ca7a1d1e0e8a384fbf8916 18-Jun-2012 Adam Powell <adamp@google.com> am bb20575f: am 130b4572: ActionProvider API update

* commit 'bb20575f85ada8ccdacefc53f0da7e00fdf12a16':
ActionProvider API update
5ded10982c46c0f13cb8eeb4cc9ebec16baa3760 18-Jun-2012 Dianne Hackborn <hackbod@google.com> am acae5bd3: am 87959cdd: Merge "Add new callback for MediaRouter to found out about device changes." into jb-dev

* commit 'acae5bd34923a79115ad24687558a6ab2ce780ec':
Add new callback for MediaRouter to found out about device changes.
2c0044410ee30bdba19870931374338b36c33ce9 18-Jun-2012 Eric Laurent <elaurent@google.com> am 9686f24c: am c4f4b0f0: Merge "AudioManager: back to old setBluetoothA2dpOn()" into jb-dev

* commit '9686f24ce3d13446393a468fb3f52283bf2bc80d':
AudioManager: back to old setBluetoothA2dpOn()
c92aa2e7c9112adafc5283921efe25574a95b7a4 18-Jun-2012 Adam Powell <adamp@google.com> am 1b4dc0fe: Merge "Volume control in MediaRouter dialogs" into jb-dev

* commit '1b4dc0fe00805f82fb4bb89a97b6b0501e117505':
Volume control in MediaRouter dialogs
8f695c525f5baa623a8b951bd3a1fd2b5efd1ceb 18-Jun-2012 Adam Powell <adamp@google.com> am 706a8699: Merge "Make MediaRouter UI more robust around route count changes" into jb-dev

* commit '706a8699008ce416a7fbd9a4215726fdb00ee803':
Make MediaRouter UI more robust around route count changes
bb20575f85ada8ccdacefc53f0da7e00fdf12a16 18-Jun-2012 Adam Powell <adamp@google.com> am 130b4572: ActionProvider API update

* commit '130b4572d1f3df702e5b296a655d15a41f6d4c66':
ActionProvider API update
acae5bd34923a79115ad24687558a6ab2ce780ec 18-Jun-2012 Dianne Hackborn <hackbod@google.com> am 87959cdd: Merge "Add new callback for MediaRouter to found out about device changes." into jb-dev

* commit '87959cdd8560e743956a71bb687799e94053e086':
Add new callback for MediaRouter to found out about device changes.
9686f24ce3d13446393a468fb3f52283bf2bc80d 18-Jun-2012 Eric Laurent <elaurent@google.com> am c4f4b0f0: Merge "AudioManager: back to old setBluetoothA2dpOn()" into jb-dev

* commit 'c4f4b0f0a4905180314d1a681ddf5767ed1070ed':
AudioManager: back to old setBluetoothA2dpOn()
4599696591f745b3a546197d2ba7e5cfc5562484 16-Jun-2012 Adam Powell <adamp@google.com> Volume control in MediaRouter dialogs

MediaRouter dialogs now intercept the volume keys for altering the
current volume. The status icon indicates if the slider/buttons are
currently controlling the local device volume or a remote device's
volume.

Group volume for user routes is handled by using the
RemoteControlClient supplied by the first route in the group.

Change-Id: I40a0d054847ed5acce7a4c3b669487841b4dca15
edia/MediaRouter.java
39d5c6172503620ac3761148adac5fd7fa20d02d 16-Jun-2012 Adam Powell <adamp@google.com> Make MediaRouter UI more robust around route count changes

Improve the API around ActionProvider visibility overriding. Allow the
application to notify whatever is hosting the ActionProvider that
visibility has changed in a way that is friendly to alternate support
library-style reimplementations of MenuItem.

Allow MediaRouter.Callback implementations to add or remove themselves
or other Callbacks during dispatch of callback events.

Make MediaRouteActionProvider track the visibility of corresponding
menu items more accurately.

Change-Id: Ic7ddb6a87c3637904750d2661e4a9fa323b09ea0
edia/MediaRouter.java
130b4572d1f3df702e5b296a655d15a41f6d4c66 16-Jun-2012 Adam Powell <adamp@google.com> ActionProvider API update

* Add ActionProvider#overridesItemVisibility and isVisible.
These methods allow an ActionProvider to override the
visibility of a MenuItem that it is bound to. If a MenuItem
has been explicitly hidden by the application, it will not
be visible.

* Change MediaRouteActionProvider to not require a MediaRouter
callback, to avoid extra lifecycle management headaches.

Change-Id: I606fa98b3a6a3e60a953dd024274f9bf9c67acdd
edia/MediaRouter.java
87959cdd8560e743956a71bb687799e94053e086 15-Jun-2012 Dianne Hackborn <hackbod@google.com> Merge "Add new callback for MediaRouter to found out about device changes." into jb-dev
c4f4b0f0a4905180314d1a681ddf5767ed1070ed 15-Jun-2012 Eric Laurent <elaurent@google.com> Merge "AudioManager: back to old setBluetoothA2dpOn()" into jb-dev
632ca417f0a33e3fa9ccece531afa2db3f0d4a30 15-Jun-2012 Dianne Hackborn <hackbod@google.com> Add new callback for MediaRouter to found out about device changes.

The AudioService now has an API to call to get the currently
connected devices, and later reports of changes in connection
state. The information includes the name of the bluetooth
device if one is connected for display to the user, and states
for all of the pluggable devices. No longer requires a Bluetooth
permission to keep the routes updated.

Change-Id: I81ca421c60592fbc1592477d59bf1c9d1b64954a
edia/AudioRoutesInfo.aidl
edia/AudioRoutesInfo.java
edia/AudioService.java
edia/IAudioRoutesObserver.aidl
edia/IAudioService.aidl
edia/MediaRouter.java
d1e57d78863b032cc647f6abeabb443dc512841d 15-Jun-2012 Adam Powell <adamp@google.com> am 15635728: am 27db797e: Merge "Update MediaRouteChooserDialog grouping UI" into jb-dev

* commit '15635728a4ff00da6cc3d6468c02d39e5631f124':
Update MediaRouteChooserDialog grouping UI
15635728a4ff00da6cc3d6468c02d39e5631f124 15-Jun-2012 Adam Powell <adamp@google.com> am 27db797e: Merge "Update MediaRouteChooserDialog grouping UI" into jb-dev

* commit '27db797e37ea16ea5db6eb3f6a32e0f116c1b824':
Update MediaRouteChooserDialog grouping UI
242b33870b51ea962a1d5c077d71c648eccc2b7a 15-Jun-2012 Eric Laurent <elaurent@google.com> AudioManager: back to old setBluetoothA2dpOn()

Come back to old versions of setBluetoothA2dpOn() and isBluetoothA2dpOn().

MediaRouter will call methods on IAudioService directly.

Change-Id: I18f0a3106bad78715ed11a6b7b4ec1d656cdae41
edia/AudioManager.java
b5e2af5919351486a385effe77409d2a91ae9c19 15-Jun-2012 Adam Powell <adamp@google.com> Update MediaRouteChooserDialog grouping UI

Move UserRouteInfo tag support to RouteInfo

Change-Id: Ia753924f8613462d5f74736be93a8d748689eef1
edia/MediaRouter.java
2f115bc007b24144f3f673395bc83ac0bc3814c7 15-Jun-2012 Adam Powell <adamp@google.com> am 13b5c194: am 90b9f84c: Merge "API updates for MediaRouter" into jb-dev

* commit '13b5c194e1ca2ed5ca9187e15ca0518b8bb052d2':
API updates for MediaRouter
13b5c194e1ca2ed5ca9187e15ca0518b8bb052d2 15-Jun-2012 Adam Powell <adamp@google.com> am 90b9f84c: Merge "API updates for MediaRouter" into jb-dev

* commit '90b9f84c43145c51180c7253cd3a3f59862c2611':
API updates for MediaRouter
0d03c042f90bf62d5bad7c64e77028a5f9f8fae0 15-Jun-2012 Adam Powell <adamp@google.com> API updates for MediaRouter

* Accept a Context when fetching the names of routes and
categories. This lets string resources resolve at time of access
with the correct configuration. The older versions remain available
that will use the static resources from the application. (There are
enough cases where applications will populate this from external
data that requiring it each time even when it was not initialized
from a resource doesn't seem reasonable.)

* Remove the ability for apps to programmatically select non-user
routes.

* Make MediaRouter.Callback an abstract class instead of an interface.
This will make further extensions easier to keep compatible in the
future.

Change-Id: If981c511dfbdfaf41ef0d1cfe4a377fc14bb5600
edia/MediaRouter.java
a587b449c463ac996b8cb05b2888abe92a8d16b4 14-Jun-2012 Adam Powell <adamp@google.com> am 0f03d771: am f9b7f9f5: Merge "Support route grouping in the MediaRouter dialog UI." into jb-dev

* commit '0f03d771b29ff0fc6919a514c56128de9a5ecd5e':
Support route grouping in the MediaRouter dialog UI.
0f03d771b29ff0fc6919a514c56128de9a5ecd5e 14-Jun-2012 Adam Powell <adamp@google.com> am f9b7f9f5: Merge "Support route grouping in the MediaRouter dialog UI." into jb-dev

* commit 'f9b7f9f5080100043df3c8868bca4df84becf5a1':
Support route grouping in the MediaRouter dialog UI.
cf815b56bf475bc9593a057edb234578e4abfcf1 14-Jun-2012 Adam Powell <adamp@google.com> am 6c143590: am 4b4a947b: Merge "MediaRouter dialog" into jb-dev

* commit '6c14359074ff5a93695ed37083c9178a4ca2d1f1':
MediaRouter dialog
d6d0bddee363e0c7fe61f63bd9d9864a71d887d6 14-Jun-2012 Adam Powell <adamp@google.com> Support route grouping in the MediaRouter dialog UI.

Change-Id: Idcae12cedfb7ca13950e7fa45441fba2029a9f68
edia/MediaRouter.java
6c14359074ff5a93695ed37083c9178a4ca2d1f1 13-Jun-2012 Adam Powell <adamp@google.com> am 4b4a947b: Merge "MediaRouter dialog" into jb-dev

* commit '4b4a947b5e4913d7f8b7df15d3a7cdf8f343471f':
MediaRouter dialog
70e11e50eecfc8f1dfb76316d099e4331ebd28f7 13-Jun-2012 Adam Powell <adamp@google.com> MediaRouter dialog

Add the dialog behavior for MediaRouteActionProvider/MediaRouteButton.

Still TODO:

* Switch audio icon based on source; speaker/bt/user

* Rig up volume slider

* Rig up item icons

* Rig up group button for groupable categories

* Make grouping work

Change-Id: I3f992516b184d5ae940ddb7bbb7f94ff58914589
edia/MediaRouter.java
49a0b01bdc89059da49c807ae5d132534d55a773 12-Jun-2012 Adam Powell <adamp@google.com> am 0d637d6f: am 579ec308: Merge "MediaRouter work" into jb-dev

* commit '0d637d6f888cdddba554174284fb96f8354a15e4':
MediaRouter work
16e7127948286f1cbf73534dcc2822e4fa9c6fe4 12-Jun-2012 Eric Laurent <elaurent@google.com> am 2e1f18b9: am dcf33b73: Merge "Made IAudioService.setBluetoothA2dpOn() not oneway" into jb-dev

* commit '2e1f18b9ba9af40d5e1f0874e091b8f487a2d50d':
Made IAudioService.setBluetoothA2dpOn() not oneway
ca415c8529bd0268f58d7b8c1ba5906cd3d0fe54 12-Jun-2012 Adam Powell <adamp@google.com> am 345a3835: am f958732b: Merge "Fix docs" into jb-dev

* commit '345a3835aafd01e837741aa6ea733d8dc1b7dd2b':
Fix docs
0c9c063179c4d27e2bc9190dc49f08cfe25fd663 12-Jun-2012 Adam Powell <adamp@google.com> am a20d99b1: am ae20ae1a: More MediaRouter features.

* commit 'a20d99b17906cb371203be8ec4dc92d9a104f8dd':
More MediaRouter features.
d4a0c49ffa5fb6d2a44e7727c54fdfc5a8ed4d1a 12-Jun-2012 Dianne Hackborn <hackbod@google.com> am 007f2b40: am f9d80b6b: Merge "Rework media router to be per-context with global process state." into jb-dev

* commit '007f2b40f952eab8951c6b22302a59a955a20561':
Rework media router to be per-context with global process state.
ea99d9af2db8c9490be3de750987969a2b31cfd1 12-Jun-2012 Adam Powell <adamp@google.com> am bee681a1: am fbce66cb: Merge "Further work on MediaRouter" into jb-dev

* commit 'bee681a1d54062dc0833cc9a45aac7b20725c1bb':
Further work on MediaRouter
0d637d6f888cdddba554174284fb96f8354a15e4 12-Jun-2012 Adam Powell <adamp@google.com> am 579ec308: Merge "MediaRouter work" into jb-dev

* commit '579ec3086c9ce3616735bc3cf63246f052973a7f':
MediaRouter work
2e1f18b9ba9af40d5e1f0874e091b8f487a2d50d 12-Jun-2012 Eric Laurent <elaurent@google.com> am dcf33b73: Merge "Made IAudioService.setBluetoothA2dpOn() not oneway" into jb-dev

* commit 'dcf33b73159fe864f80514919775598e797e37d2':
Made IAudioService.setBluetoothA2dpOn() not oneway
345a3835aafd01e837741aa6ea733d8dc1b7dd2b 12-Jun-2012 Adam Powell <adamp@google.com> am f958732b: Merge "Fix docs" into jb-dev

* commit 'f958732bd3924205d9f8bda94f4f6e3bb4045b28':
Fix docs
a20d99b17906cb371203be8ec4dc92d9a104f8dd 12-Jun-2012 Adam Powell <adamp@google.com> am ae20ae1a: More MediaRouter features.

* commit 'ae20ae1a8aaa013813c356ae1d9541ca7ff020ae':
More MediaRouter features.
007f2b40f952eab8951c6b22302a59a955a20561 12-Jun-2012 Dianne Hackborn <hackbod@google.com> am f9d80b6b: Merge "Rework media router to be per-context with global process state." into jb-dev

* commit 'f9d80b6b940540b5d7be22ae310e047fcd2472a8':
Rework media router to be per-context with global process state.
bee681a1d54062dc0833cc9a45aac7b20725c1bb 12-Jun-2012 Adam Powell <adamp@google.com> am fbce66cb: Merge "Further work on MediaRouter" into jb-dev

* commit 'fbce66cb259cb63b43fda654db68152b8b4a2c2f':
Further work on MediaRouter
579ec3086c9ce3616735bc3cf63246f052973a7f 12-Jun-2012 Adam Powell <adamp@google.com> Merge "MediaRouter work" into jb-dev
b35c445f34e1a18e17aef3e3dfbc1c39b4d1815c 12-Jun-2012 Adam Powell <adamp@google.com> MediaRouter work

Fix a bug where MediaRouter would crash on creation

Add click listener for app-supplied extended settings on the route
selection dialog.

Change-Id: I2991db1720b5c574148e250526984592f4dc3c44
edia/MediaRouter.java
dcf33b73159fe864f80514919775598e797e37d2 12-Jun-2012 Eric Laurent <elaurent@google.com> Merge "Made IAudioService.setBluetoothA2dpOn() not oneway" into jb-dev
71c69897ad0a55d590698bfa399bfe99c763b9db 12-Jun-2012 Adam Powell <adamp@google.com> Fix docs

Change-Id: If0215c02abf419d14f28574b751c9dfc2f27bcbe
edia/MediaRouter.java
ae20ae1a8aaa013813c356ae1d9541ca7ff020ae 12-Jun-2012 Adam Powell <adamp@google.com> More MediaRouter features.

Add RemoteControlClient to user routes. This will allow the UI layered
on top to access info about the remote volume channel associated with
a user route.

Add icons for user routes and route groups.

Change-Id: I438aa60fc8c93f878ec7638897225738155f0746
edia/MediaRouter.java
4ab22bb7d0aafce1be200153d71d432c9d54e04a 12-Jun-2012 Eric Laurent <elaurent@google.com> Made IAudioService.setBluetoothA2dpOn() not oneway

IAudioService.setBluetoothA2dpOn() should not be one way as
IAudioService.isBluetoothA2dpOn() will return inconsistent results
if called just after.

Bug 6572651.

Change-Id: Ib03ae49e6c0041b1b37dcac9e198cd93a4794030
edia/IAudioService.aidl
b58b8f832d06b0ffa8886eba5a4916578a3b8743 12-Jun-2012 Dianne Hackborn <hackbod@google.com> Rework media router to be per-context with global process state.

Change-Id: Ic1cb6f13e691d22783bcdafae85b7c75aec0a66f
edia/MediaRouter.java
d0d2cda9d414da73773285d7fee9e13aef3495e9 08-Jun-2012 Adam Powell <adamp@google.com> Further work on MediaRouter

Remove volume control and tracking. This will be handled by extensions
to existing audio and media APIs for now.

Tweak/refine other aspects of the API. Pass the router to callbacks for
easier future-proofing. Add group/ungroup callback methods.

Change-Id: Ib69e76e5f46280a9002b545bcf4cbc7b839844ee
edia/MediaRouter.java
92f4c7bc49f035bb2672356db5baf30b20240353 08-Jun-2012 Marco Nelissen <marcone@google.com> Merge "Bypass emulated storage for metadata extraction"
c861411d4bae0912054ff54c3efee90ae2db6db9 25-May-2012 Marco Nelissen <marcone@google.com> Bypass emulated storage for metadata extraction

b/6543148

Change-Id: Ic65957870199a2592ebe53b32517166f96e48ef2
edia/MediaScanner.java
fa30e18083e2c3a27154440149513d42b37b2829 08-Jun-2012 Jean-Baptiste Queru <jbq@google.com> am 0237d04b: am 644e43e0: am 3e3d641c: Merge "Added mpga as valid MediaFile extension"

* commit '0237d04b9564b9ef3e443091a4bce7dc5a2f1826':
Added mpga as valid MediaFile extension
0237d04b9564b9ef3e443091a4bce7dc5a2f1826 08-Jun-2012 Jean-Baptiste Queru <jbq@google.com> am 644e43e0: am 3e3d641c: Merge "Added mpga as valid MediaFile extension"

* commit '644e43e06ffa5b493ca3682c24b8db606deed664':
Added mpga as valid MediaFile extension
7edef088e39c148ac398617fe96b632fb11522a4 08-Jun-2012 Keun young Park <keunyoung@google.com> am 765d3d13: am fca9ff38: Merge "rename exif to exif_jni due to refactoring in external/jhead" into jb-dev

* commit '765d3d13c93c0c8b3d6a46db656328d61682acdb':
rename exif to exif_jni due to refactoring in external/jhead
bc35b34a7ca0d3fddccd0c6f4e488cf228b42149 08-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am dbb9e386: am 6a5f9f6d: Merge "Configuration for lock and UI sound levels" into jb-dev

* commit 'dbb9e38673bd133fa61a10d874ca325d23f3b5e3':
Configuration for lock and UI sound levels
fca9ff387178b4d3c4205427e2d52ef4a5996fe2 08-Jun-2012 Keun young Park <keunyoung@google.com> Merge "rename exif to exif_jni due to refactoring in external/jhead" into jb-dev
6a5f9f6ddbfcb97a25436ad34be39fc7b3b45168 08-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Configuration for lock and UI sound levels" into jb-dev
bb52c49c9aab2357100b18e72395c1dc3539dfa7 07-Jun-2012 Keun young Park <keunyoung@google.com> rename exif to exif_jni due to refactoring in external/jhead

- also pull libexif_jni from media_jni

Bug: 6623618
Change-Id: I4f06a4614c5fddcf98d95caff16a2c40f345dade
edia/ExifInterface.java
a061ef6c5f8d85818f057022533b9a8597de75ab 07-Jun-2012 Marco Nelissen <marcone@google.com> am f9800a01: am 08b30908: Merge "Ensure we compute display name when needed" into jb-dev

* commit 'f9800a01fe3690bac64bff0ba734a39f8a7f8ada':
Ensure we compute display name when needed
81e85bbf671f228600fba059e30cb22565bcfe9d 06-Jun-2012 Marco Nelissen <marcone@google.com> Ensure we compute display name when needed

Since the media scanner no longer uses an in memory cache, it always
found an entry for files inserted via MTP, which made it follow a
different code path than before, which in turn made the media
provider skip computing the display name column.
By clearing the row id in the media scanner when handling an mtp
request, we steer it back to the correct code path.
b/6297105
b/6525450

Change-Id: I624522b176a0057d246ce3040598af255b00a141
edia/MediaScanner.java
bab1ae4ce66296d230d145d542e63bf9f5ff5fbe 06-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am b8da1c90: am 88a89b29: Merge "Always queue A2DP connection state message with wakelock held" into jb-dev

* commit 'b8da1c90c42ffb15b967915986ec2f59d40d3185':
Always queue A2DP connection state message with wakelock held
e12c39bb9cedb8b363658979872694eb55b1386e 06-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Always queue A2DP connection state message with wakelock held

Messages for changes to A2DP connection state are intended to be
queued in AudioService after acquiring a wake lock, which is
released after the message has been handled.
This was correctly done for connection messages when the system
is up and running, but wasn't when the BluetoothProfile service
listener gets an onServiceConnected() event, which is the case
the the device boots.
This change correctly uses the queueMsgUnderWakeLock() method
whenever a MSG_SET_A2DP_CONNECTION_STATE is to be sent.

Bug 6616292

Change-Id: Ie337a4641a89c522e2d233bccaac4e08ce324117
edia/AudioService.java
b85afc25d5d4ef3aab378691d8df306c99f7ab96 06-Jun-2012 Adam Powell <adamp@google.com> resolved conflicts for merge of 1178569b to master

Change-Id: If2bb6ccaee99bcf199cd93f24eba217fe6ff485e
690ffb4e1f735148a15f2036d9a3c1962fba188c 05-Jun-2012 Adam Powell <adamp@google.com> More fun with MediaRouter

Add action provider, button, and styles. Extend ActionProvider to
allow for getting references to MenuItem instances.

Implement toggle mode for the MediaRouteButton/ActionProvider. Dialog
selection yet to come.

Change-Id: Ibe3188570f503bbf8dd00cf154663435656a7171
edia/MediaRouter.java
c55b393efd462490cd5e27fc373bceafdd25662e 05-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Configuration for lock and UI sound levels

Define two integers in the platform configuration to
define the sound level for lock/unlock sounds, and
UI sound effects.
Use the corresponding value in KeyguardViewMediator for the lock sounds.
Use the corresponding value in AudioService when playing sound effects.

Bug 6448481

Change-Id: Ie238f5eb1645e395412864d93447ac4049f7e54b
edia/AudioService.java
481a714a57ba0a9135e8c3a614c7dd149fc031c6 05-Jun-2012 Jack Palevich <jackpal@google.com> am 1d340500: am 0c01222f: Merge "Don\'t crash when scaling Bitmaps with private Bitmap.Configs" into jb-dev

* commit '1d34050087b5e134719f7a917c7ded3de090d0b2':
Don't crash when scaling Bitmaps with private Bitmap.Configs
2fe37b7005776c50fbb3a3661f5823fb6c890b81 28-Sep-2010 Mathias Franzén <mathias.franzen@sonyericsson.com> Added mpga as valid MediaFile extension

Added mpga as a valid media file extension, it is treated as mp3.

Change-Id: Ie39036d61b6ca50439861fa10be0d824dcc65ed3
edia/MediaFile.java
05c66cc5cc6357be19fdef0fc131731368c38646 04-Jun-2012 Jack Palevich <jackpal@google.com> Don't crash when scaling Bitmaps with private Bitmap.Configs

Bug: 6526197
Change-Id: I89f008f90888f0a679274c00293342ab0fb0e28e
edia/RemoteControlClient.java
a55a94bfb3a6de5f203224d75fcbfa40694c8d01 03-Jun-2012 Adam Powell <adamp@google.com> am 58e29c06: am 7c86958d: Merge "Add MediaRouter API." into jb-dev

* commit '58e29c06610054419339bb0a75c44ab30d6fe89a':
Add MediaRouter API.
9a1de308cea2d160778fd977825f10a07b49d738 22-May-2012 Adam Powell <adamp@google.com> Add MediaRouter API.

This is just the initial state tracking. Still to go is
actually triggering Bluetooth A2DP correctly and tracking
process state in the system server.

Change-Id: I33031d52799d6e2d7208910da833831085cc3677
edia/MediaRouter.java
2b6340a25753f383c196bb51864676f03ab1bab3 01-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am c7d8d370: am b40c0b5a: Merge "Handle wakelocks for device connection intents from AudioService" into jb-dev

* commit 'c7d8d37051ba46e37a586f4ea5f4e662a347171a':
Handle wakelocks for device connection intents from AudioService
2d8dab5a549b25b6f36df4614d7c0166d4d099e2 31-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Handle wakelocks for device connection intents from AudioService

Now that AudioService handles the device connection intents itself,
those need to be sent under wakelock.
The wake lock is acquired when AudioService is notified of the
device connection, and released when the corresponding message
has been handled.
This change only covers the device connection messages, and doesn't
affect the handling of the other AudioService messages.

Bug 6485897

Change-Id: I2d35f5404f097b5adde8af21fd81347bdd5576a6
edia/AudioService.java
846890957deb38463acdc98112ed90b44290aa0c 31-May-2012 Eric Laurent <elaurent@google.com> am c383b407: am cee7203f: Merge "Send device connection intents from AudioService" into jb-dev

* commit 'c383b407ad24474b87de68f93ea95de495f6d2c1':
Send device connection intents from AudioService
b1fbaaccb656ef09a8770c28df15e3e91a452e64 29-May-2012 Eric Laurent <elaurent@google.com> Send device connection intents from AudioService

AudioService is currently notified of wired headset and A2DP
sink connection states via broadcast intents from WiredAccessoryObserver
and BluetoothA2dpService. This is a problem as there is no guaranty that
AudioService can take actions upon the change before other apps are notified.
For instance, the Play On feature requires the UI to be refreshed when a device
is inserted/removed and we must guaranty that the UI component can read
new A2DP enable state from AudioManager after it receives a device connection state
change intent.

- Added hidden methods to AudioManager so that WiredAccessoryObserver
and BluetoothA2dpService can notify AudioService of device connection directly.
- The wired accessories connection intents are now sent by AudioService.
- The A2DP state change intent is delayed by BluetoothA2DPService when
ACTION_AUDIO_BECOMING_NOISY is sent by AudioService
- ACTION_AUDIO_BECOMING_NOISY intent is not sent when disconnecting A2DP
while a wired headset is present and vice versa.

Bug 6485897.

Change-Id: Ie160b3ee5f451132065530772b868593c90afd94
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
fc11edb05a74ed36d774ac64e975dde67c59ab9e 27-May-2012 Bryan Mawhinney <bryanmawhinney@google.com> am 592a3f54: am c3a5cf9a: Actually set the video scaling mode :-)

* commit '592a3f544745f19d9901692700a1b439b9f8c57b':
Actually set the video scaling mode :-)
c3a5cf9aab3d409445accb2a93c09e6b4140d196 27-May-2012 Bryan Mawhinney <bryanmawhinney@google.com> Actually set the video scaling mode :-)

Change-Id: Ia3e77b68a07651861e9be268ab77cac808b3be79
edia/MediaPlayer.java
c0ed6efe5f9b3c06a1297592647bd52a0f84215a 25-May-2012 Christopher Tate <ctate@google.com> am 115284bc: Merge "Support volume-changed sounds on master-volume-only configs" into ics-aah

* commit '115284bc124ce2874f32ad36956f475959513388':
Support volume-changed sounds on master-volume-only configs
c4b78d206ffcdccac01e3436a4a3462bef9672ed 22-May-2012 Christopher Tate <ctate@google.com> Support volume-changed sounds on master-volume-only configs

Some products manipulate only the master volume, and the existing
code does not play volume-change tones when the master volume
is adjusted. This CL includes some config-driven behavior that
will play those tones (via the system stream) if desired.

Bug 6498986

Change-Id: I2415773325d0a0039efc67897bc371b1f2e18063
edia/AudioManager.java
aa5481214f01b9e9cb4fa8ad25f68abedde785f3 24-May-2012 Eric Laurent <elaurent@google.com> am dcc752a8: am 90fb2dd6: Merge "AudioManager: restore setBluetoothA2dpOn() method" into jb-dev

* commit 'dcc752a8984361ba23da00bf2adeec4161b67af2':
AudioManager: restore setBluetoothA2dpOn() method
90fb2dd6738792ebead64c5f03a4f407d36420de 24-May-2012 Eric Laurent <elaurent@google.com> Merge "AudioManager: restore setBluetoothA2dpOn() method" into jb-dev
c30d1ad8f3f6343c6071a32f08ea21251e82194c 24-May-2012 Fabrice Di Meglio <fdimeglio@google.com> am 07e28d1e: am 0100625b: Merge "Fix bug #6522190 MountService should respond to configuration changes ("INTERNAL STORAGE" string should be translated dynamically)" into jb-dev

* commit '07e28d1e9bd7373c83cb66d5d9e93ae9af1f090d':
Fix bug #6522190 MountService should respond to configuration changes ("INTERNAL STORAGE" string should be translated dynamically)
0100625bb316ecbd99873b72756ffba8613c3456 24-May-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #6522190 MountService should respond to configuration changes ("INTERNAL STORAGE" string should be translated dynamically)" into jb-dev
13fe2a5330a5df662d7b1b136e7b08fe34c94a42 19-May-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6522190 MountService should respond to configuration changes ("INTERNAL STORAGE" string should be translated dynamically)

- use an ID instead of a String for StorageVolume description
- use this ID for getting the correct localized version of the description string

Change-Id: I30f3080fce2c889be38bfdf9f5121dffcf8a99e8
tp/MtpStorage.java
738342b1dc3dddf618025240b42dceba51f00184 23-May-2012 Marco Nelissen <marcone@google.com> am ec1d16bf: am 101fb9fe: Merge "Handle _ and % in paths" into jb-dev

* commit 'ec1d16bf72d68604e7dc86309f13d909a6d88321':
Handle _ and % in paths
b4b847866fbee31ba146ba7ebca2d2346a3a0b8f 23-May-2012 Marco Nelissen <marcone@google.com> Handle _ and % in paths

When doing a "like" match on a path, add a second non-like constraint
so that sqlite wildcard characters don't match arbitrary other characters.
b/6501408

Change-Id: I21f9b1c2d8e7c7ef27c0ad5fe24c3e01cd67fb61
edia/MediaScanner.java
tp/MtpDatabase.java
7847211fb4699bf6018e29d214a918ed6657319b 21-May-2012 Eric Laurent <elaurent@google.com> AudioManager: restore setBluetoothA2dpOn() method

Remove deprecation on setBluetoothA2dpOn() method so that applications
can override the default audio policy which is to use A2DP
for media whenever connected.

The request is not persistent and the default policy is restored when a
new A2DP i ro wired headset connection occurs.

Bug 6485897.

Change-Id: I2a4b6b6bdba55f7b133e64f86d27c03eb86acfa4
edia/AudioManager.java
edia/AudioService.java
edia/AudioSystem.java
edia/IAudioService.aidl
16353830e6712870b3b6daa69a6d026afc670ad0 22-May-2012 Jean-Michel Trivi <jmtrivi@google.com> am 483ef81e: am fca91a8e: Merge "Type of search on headset key long press must depend on device state" into jb-dev

* commit '483ef81e0e6fdd6965ad18e44a5347a85e7db4cb':
Type of search on headset key long press must depend on device state
fbc616474b5486b5fc9eba25da043cb244c61f9d 21-May-2012 Bryan Mawhinney <bryanmawhinney@google.com> am c6bbc4e7: am 9de61ae0: Merge "Fix video scaling mode validity check." into jb-dev

* commit 'c6bbc4e70f8fe41dd31de3c8a0e9be0f24961593':
Fix video scaling mode validity check.
bb4811be3cba7e91adfe0c94da0d9c326dbaa81e 21-May-2012 Jeff Brown <jeffbrown@google.com> am 031ffb15: am 7852a59d: Merge "Use FLAG_LONG_PRESS for headset long press interactions." into jb-dev

* commit '031ffb15acb6db931488f20dc8af86864c5d5ca7':
Use FLAG_LONG_PRESS for headset long press interactions.
eafa73e4dce655bf63da4a43cbb395efea31aafe 21-May-2012 Jean-Michel Trivi <jmtrivi@google.com> am 1644f0d9: am 0a95ce9f: Merge "Handle media button events during phone calls and when ringing" into jb-dev

* commit '1644f0d9ee72cf37f0b92a7b5ef44bfac1421bab':
Handle media button events during phone calls and when ringing
87ba92fa3996d02638becc7a8fd910cf36a6db6b 21-May-2012 Marco Nelissen <marcone@google.com> am ec733f09: am d88404d0: Merge "Fix .pls playlist parsing" into jb-dev

* commit 'ec733f094b48882b78ccf00b0ade5a46229c41c3':
Fix .pls playlist parsing
3c2711fc2853394324b044632b79ca67388df8f4 20-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Type of search on headset key long press must depend on device state

When the user long presses on the headset key, the type of search
that will launched must depend on the state of the device. The
following logic is implemented:
- screen on and device unlocked: action is ACTION_WEB_SEARCH,
- device locked or screen off: action is ACTION_VOICE_SEARCH_HANDS_FREE
with EXTRA_SECURE set to true if the device is securely locked.

Bug 6518222

Change-Id: I318770346b8d83e44dfcd4154bcdb517ea7098b5
edia/AudioService.java
9de61ae0ed40fcb147e09797bfb22dcea0b89df6 18-May-2012 Bryan Mawhinney <bryanmawhinney@google.com> Merge "Fix video scaling mode validity check." into jb-dev
79a9cd40f5ebb2453cb982bc17d9797a1cbdf8d8 18-May-2012 Bryan Mawhinney <bryanmawhinney@google.com> Fix video scaling mode validity check.

Change-Id: Ib7adead2758d50cae67741364801e966a82ad5ba
edia/MediaPlayer.java
ab624c2fd4f0fad6ba7f422a960942e5a7035cea 17-May-2012 Jeff Brown <jeffbrown@google.com> Use FLAG_LONG_PRESS for headset long press interactions.

Handle canceled key events correctly and don't synthesize
key events in that case.

Unfortunately, the state machine was confused by some sequences
of key events that it might receive from the input dispatcher
when new activities take focus during a long-press on the headset key.
The audio service may receive a cancel event intended for the old
window, followed by a repeated down and finally an up for the new window.
Simplified this down to just two booleans.

Bug: 6484717
Change-Id: I9587d0a5e282419ef4d7c17665940682aacea96a
edia/AudioService.java
0a95ce9ffbfa39def9186c736f6b135d251bc810 17-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Handle media button events during phone calls and when ringing" into jb-dev
722b808662eb20fa91151f1e3aa05fd911d1d226 16-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Handle media button events during phone calls and when ringing

Add functionality in AudioManager/AudioService to register a
media button receiver for telephony that, when registered, gets
priority for media button key events during a phone call or
when ringing.

Bug 6484717

Change-Id: I0835fc02cb24d06ca59af5a32c3ba0ae93e54442
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
538d4925b36067dc89ad0625a69dafeaa364bd2e 17-May-2012 Marco Nelissen <marcone@google.com> Fix .pls playlist parsing

b/6508278

Change-Id: I015ecf3fa599601ba4e9d018be24d0685e153239
edia/MediaScanner.java
50e8a1649aae26db0986e3967fede71ab7383d85 15-May-2012 Eric Laurent <elaurent@google.com> am dd99f70a: am dfae6db0: Merge "Implement new volume display policy." into jb-dev

* commit 'dd99f70a3f8e661799ecda271d31fc385a80ecb5':
Implement new volume display policy.
ba128896f389212109b04a8712f96207f2b2ff5f 15-May-2012 Jean-Michel Trivi <jmtrivi@google.com> am 45274f72: am 2411c336: Merge "Verify AudioTrack only uses a valid multichannel configuration" into jb-dev

* commit '45274f729e9d9d1d9bee3007a949d531abdb31a2':
Verify AudioTrack only uses a valid multichannel configuration
8c78752f2bf786ca3e6f45b9dc6955d3b4bba59c 14-May-2012 Eric Laurent <elaurent@google.com> Implement new volume display policy.

Whenever a stream type is muted, the progress bar in volume panel
is at 0.
If a stream is muted by ringer mode and does not control ringer mode,
the progress bar is disabled.
Pressing VOL- when in vibrate or silent mode resets the last audible
volume of ringtone stream (music strem on tablets) to 0.

VolumePanel implementation:
- Always prefer AudioManager APIs over AudioService APIs when available on both.
- Do not use AudioManager.shouldVibrate() (deprecated).

Change-Id: I57fcb19ada4e8d729b6b41d668496562ebe340c3
edia/AudioService.java
d9e587137b926a56e6e339f11da6a91624df515a 12-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Verify AudioTrack only uses a valid multichannel configuration

Enforce the same rules as for HDMI output:
- FL/FR must be present
- paired channels must be used in pairs (e.g. no rear left
without rear right)

Bug 6392126

Change-Id: I0a39e474dcf509cb7eabd8edd1f0e44852d72b51
edia/AudioTrack.java
d8be1b9e67b0ecc3a626716eb0b779d72616bb77 14-May-2012 Jean-Michel Trivi <jmtrivi@google.com> am 3d486406: am 2d97a70f: Merge "Start voice-based interactions from headsethook key" into jb-dev

* commit '3d486406ab510dfab0e4b6913de90be9486074ad':
Start voice-based interactions from headsethook key
16ff4fbab7d64196b952d8211a3dfadc1b9697ff 14-May-2012 James Dong <jdong@google.com> am f4513bb9: am 909c4b85: Merge "Improve notifying TimedText by reducing marshall/unmarshalling." into jb-dev

* commit 'f4513bb95b6c8b831b747bf08accd74f96ce712b':
Improve notifying TimedText by reducing marshall/unmarshalling.
2d97a70ff8bbac5ea807003d65b64e3b255e82bc 12-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Start voice-based interactions from headsethook key" into jb-dev
909c4b855a372dbc70ce6777df64d12ae93ad2d5 12-May-2012 James Dong <jdong@google.com> Merge "Improve notifying TimedText by reducing marshall/unmarshalling." into jb-dev
4294b83927f51e5c115ebaafd2e185ba5de91436 01-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Start voice-based interactions from headsethook key

Implement the interception of long-press on keys that
can be used to trigger voice-based interactions (here
only HEADSETHOOK) only if the long-press hasn't been
trapped by the foreground application:
- if the key is not one that is used for voice input, handle
the event as before.
- if the key press wasn't long enough, simulate a delayed
key press.
- if long press is detected, send
RecognizerIntent.ACTION_WEB_SEARCH. Long press duration
is set to 300ms (a typical key press is under 100ms).

Bug 3225090

Change-Id: I5b3adeb91d3c41ccd54d23fdb93d7eaec496eee7
edia/AudioService.java
e3f70c6545e5943bbc1a9fd657dcb0fe33062db9 11-May-2012 Mike Lockwood <lockwood@google.com> am f61adad3: am 8d8176d4: Merge "AudioService: Fix problem handling USB audio disconnect" into jb-dev

* commit 'f61adad3a7aab104b8c98625fa0e986341ada0d2':
AudioService: Fix problem handling USB audio disconnect
8d8176d41b8b8f08435e727f03e43e27a542dcc2 11-May-2012 Mike Lockwood <lockwood@google.com> Merge "AudioService: Fix problem handling USB audio disconnect" into jb-dev
9841818b9a0280abf59343c9e00a2976dbc084fa 11-May-2012 Mike Lockwood <lockwood@google.com> AudioService: Fix problem handling USB audio disconnect

Also broadcast ACTION_AUDIO_BECOMING_NOISY on USB audio disconnect

Change-Id: I46dfcc744df880066aea6bf651334a081c14af0f
Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioService.java
91812e43050fd4f643a68f136e122b405393a11a 11-May-2012 Eric Laurent <elaurent@google.com> am d2261486: am 304521b7: Merge "AudioService: fix various volume issues." into jb-dev

* commit 'd2261486fa7c789cce5642034d294220f13f6cb0':
AudioService: fix various volume issues.
244820185269991186d07068b92985624cede4a5 10-May-2012 Eric Laurent <elaurent@google.com> AudioService: fix various volume issues.

Fix various issues in adjustStreamVolume() related to stream type aliases
using different ranges.

Always Update last audible index on all streams sharing the same alias.

Add check on setRingerMode() to prevent setting mode to VIBRATE when no
vibrator is present.

Issue 6455831.

Change-Id: Id110e05d2f16e208e1e398922617bf31967b62db
edia/AudioService.java
98d8fcf646241d5610e81a1723a24c91a95e2c09 11-May-2012 Eric Laurent <elaurent@google.com> am faf23358: am 24938df9: Merge "AudioService: synchronized access to volume index" into jb-dev

* commit 'faf233585b5f3338cb39ab1aeb97891c0e25b273':
AudioService: synchronized access to volume index
24938df9e44dbed2ea9c72370907fe403674ee00 11-May-2012 Eric Laurent <elaurent@google.com> Merge "AudioService: synchronized access to volume index" into jb-dev
3172d5e3e7520a745fa37b71fc1c7bf244b57085 09-May-2012 Eric Laurent <elaurent@google.com> AudioService: synchronized access to volume index

Add synchronization to prevent concurrent accesses to
volume indexes HashMap in VolumeStreamState.

Use ConcurrentHashMap for VolumeStreamState mIndex and
mLastAudibleIndex.

Issue 6421841.

Change-Id: I6dee805a79aa5e2cd0ba4072014a2fcdda4ed507
edia/AudioService.java
d293b4b33949b38b0d2fb1898351202c354c2a1b 10-May-2012 Dianne Hackborn <hackbod@google.com> am 1ccc8953: am e2c7e2ad: Merge "Add compression level key for FLAC encoding" into jb-dev

* commit '1ccc8953a0ef17076fc2f8088159556c70fbb9c5':
Add compression level key for FLAC encoding
08fb063f078d34e66ff697163de5797a83fb1ded 10-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Add compression level key for FLAC encoding

Change-Id: Ic4c32694841b6f37ca44061d14bb81fc267696cc
edia/MediaFormat.java
610ac933fca53322c78f3bdf985bbc99703f1bb5 09-May-2012 Andreas Huber <andih@google.com> am 039495d3: am ea86b36f: Merge "Remove SEEK_CLOSEST constant from MediaExtractor, its implementation makes no" into jb-dev

* commit '039495d3dc19b96e3953fde81b74c44d0ac5c2f0':
Remove SEEK_CLOSEST constant from MediaExtractor, its implementation makes no
f86374adec8bd77af7b012f788ea59575296facb 09-May-2012 Andreas Huber <andih@google.com> Remove SEEK_CLOSEST constant from MediaExtractor, its implementation makes no

sense for the java API.

Change-Id: I3f2eabb5ca5ffb6c1f03141bfd303310111e8774
related-to-bug: 6276111
edia/MediaExtractor.java
dc8967edf047c0d829619a5ea8d31814e0c58c3a 09-May-2012 James Dong <jdong@google.com> am 4c2a7bdf: am 3b5fdf51: Merge "Fix: Missed parcel recycling in MediaPlayer." into jb-dev

* commit '4c2a7bdf21ae2f1cba8abfbffa1ea749e2eaaa39':
Fix: Missed parcel recycling in MediaPlayer.
ec9323509d8bd1841f7146e2ef0c205833aafc38 09-May-2012 Eric Laurent <elaurent@google.com> am 776339fe: am c8ade15d: Merge "Silent and Vibrate mode clean up" into jb-dev

* commit '776339fe4c6254fd8e344496a793ce4a11b6f450':
Silent and Vibrate mode clean up
c34df8ba52cad444236f6f57d04c8636e2025fae 09-May-2012 Andreas Huber <andih@google.com> am 17b3420f: am c2182c67: Merge "Clarification of MediaCodec behaviour when codec specific data is included" into jb-dev

* commit '17b3420f4e1edcf4a0e5460fbe9f4fb3cd49faca':
Clarification of MediaCodec behaviour when codec specific data is included
8902097bb686752ff207e3bda12713be1a8c74eb 01-May-2012 Insun Kang <insun@google.com> Improve notifying TimedText by reducing marshall/unmarshalling.

o Removes mParcel from TimedText class.
o Converts native parcel into java parcel object directly without
copying to an intermediate byte array.
o JNIMediaPlayerListener::notify checks for Java exceptions, logs them,
and clears the exception state.

related-to-bug: 6405934

Change-Id: I8b82d3cd5b9b3ef8cad27e805202a0e445a88a45
edia/MediaPlayer.java
edia/TimedText.java
3b5fdf510b8660be44121008e6c9dded8c86020c 09-May-2012 James Dong <jdong@google.com> Merge "Fix: Missed parcel recycling in MediaPlayer." into jb-dev
bffc3d1bd33eb2d8e00a9f8b6261d815db503311 08-May-2012 Eric Laurent <elaurent@google.com> Silent and Vibrate mode clean up

Clean up related to new Vibration policy.
The vibrate behavior is now only derived from:
- presence of a vibrator on the device
- current ringer mode selected: NORMAL, VIBRATE or SILENT
If no vibrator is present the ringer mode can only be NORMAL or SILENT.

The control of ringer mode via volume keys when volume keys control the "master"
stream type (RING on phones, MUSIC on tablets) is as follows:
If a vibrator is present:
VOL- and volume equals 1: NORMAL => VIBRATE
VOL- and volume equals 0 and not continuous press: VIBRATE => SILENT
VOL+ and in SILENT mode: SILENT => VIBRATE
VOL+ and in VIBRATE mode: VIBRATE => NORMAL, volume = 1
If no vibrator is present:
VOL- and volume equals 0 and not continuous press: NORMAL => SILENT
VOL+ and in SILENT mode: SILENT => NORMAL, volume = 0

VIBRATE_ON and VIBRATE_IN_SILENT settings are not stored/retreived any more.

AudioService checks and corrects ringer mode and stream volumes if necessary when reading from
DB at boot time.

Also:
Added dump for stream volumes in AudioService.
Added device names missing in AudioSystem for USB accessory and USB device.

Issue: 6036529
Issue: 6414950
Issue: 6448163

Change-Id: I77fb821ec63e4e566320cac2701b4ac466e86aef
edia/AudioService.java
edia/AudioSystem.java
8aa735f71e8921b93f2bb6fa5506d8ff414698a0 08-May-2012 Andreas Huber <andih@google.com> Clarification of MediaCodec behaviour when codec specific data is included

in the format passed to configure().

Change-Id: I150f52e8092c0f7d897891f02ba6b1d89b6230f4
related-to-bug: 6364139
edia/MediaCodec.java
54cb5592b65a06743750e0a38ac34f01539b2e9b 08-May-2012 Jeff Sharkey <jsharkey@android.com> am 83abfb3c: am 476b03b0: Merge "Handle silent ringtone, title without permission." into jb-dev

* commit '83abfb3cab53314fd5a7601e427b4b8b714f6f06':
Handle silent ringtone, title without permission.
1d8e5c588035550293ecd2558a2e285ee2789d38 07-May-2012 Jeff Sharkey <jsharkey@android.com> Handle silent ringtone, title without permission.

Silent ringtones have a valid Uri, but isn't openable by MediaPlayer,
so treat as no-op playback instead of throwing. Also handle missing
permissions when resolving title.

Bug: 6448074, 6447538
Change-Id: I656675d7fc2e78a6ba05824e13bdd43193fcfdf2
edia/Ringtone.java
be0ea968bf8b3f92f6975ccd14031aec23a2c47f 04-May-2012 Insun Kang <insun@google.com> Fix: Missed parcel recycling in MediaPlayer.

Change-Id: I2c99f771b33bf627af10e8baea455181558360e6
related-to-bug: 6405934
edia/MediaPlayer.java
4b27a9133e4ec9857e37688c3b2e7d8d96677ebb 04-May-2012 Andreas Huber <andih@google.com> am 9d8aa0e4: am c52c957c: Merge "Various changes to Media* APIs requested by the api council." into jb-dev

* commit '9d8aa0e4ac0498e2a139bd60342d986c42251e2b':
Various changes to Media* APIs requested by the api council.
c52c957c450ded6ecf2444595ea6ddfc9546c786 04-May-2012 Andreas Huber <andih@google.com> Merge "Various changes to Media* APIs requested by the api council." into jb-dev
f131611d038cdcfb441f99516672fdd175a68476 04-May-2012 Christopher Tate <ctate@google.com> resolved conflicts for merge of b89ce434 to master

Change-Id: Ida7ef25adc2f4b9f22d8662c9f0e8a1ec9df0d55
60d610bf103379277a4b29a7ead4f013f6128e4e 03-May-2012 Andreas Huber <andih@google.com> Various changes to Media* APIs requested by the api council.

Change-Id: Iec2f50c99cf5f00a442737231361334e9ab46340
related-to-bug: 6432753
edia/MediaCodec.java
edia/MediaCodecInfo.java
edia/MediaCodecList.java
edia/MediaCrypto.java
edia/MediaCryptoException.java
edia/MediaExtractor.java
edia/MediaFormat.java
b89ce434993cca883818ab38f98c0b29d77e7aa2 04-May-2012 Christopher Tate <ctate@google.com> Add streamlined config-based path for no volume key sounds

This lets us avoid a Binder roundtrip to the system process during
volume changes. Previously volume change would be staged at key-down,
then applied at key up in tandem with playback of the sonic feedback
about volume key presses. The reason for this two-stage handling was
to defer playback of the sound [at the target volume] while the volume
key was being held for repeat.

On some devices volume is always sent as key down/up pairs rather than
down-repeat-up sequences. On these devices it is more efficient to
apply the new volume immediately during down handling, and have the
up handling be a no-op. This CL adds a configuration resource item
selecting this new fast path.

Bug 6433943

Change-Id: Icffa56e958243b841d514e2fe4609ba3a7b20f14
edia/AudioManager.java
f26f01784e1c733c53cad3ed31918e73448ce369 26-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> Make AudioService aware of device orientation changes

If the "ro.audio.monitorOrientation" system property is
defined and true, monitor device configuration changes
and see if the device orientation changed. If it did,
set the "orientation" audio system parameter to one
of "landscape", "portrait", "square" or "undefined".
Set orientation when starting AudioService, and
when media server restarts.

Change-Id: Idce548f93abf3aab30149e5952daaa7051630232
edia/AudioService.java
f3afe15754a3ffbc41955476081c3a29adaf32f3 02-May-2012 Eric Laurent <elaurent@google.com> Merge "AudioManager: deprecate vibrate settings" into jb-dev
cd1cd73baec1f93d21f67fdded5466e507431eba 01-May-2012 Eric Laurent <elaurent@google.com> AudioManager: deprecate vibrate settings

Deprecate methods, intent and constants related to vibrate
settings management: getVibrateSetting(), setVibrateSetting(),
shouldVibrate() ...

According to new vibrate/notification policy, applications should
maintain their own vibrate settings.

Issue 6036529.

Change-Id: I99bcef2c5f602131f1d9b0222f7fb39f3bbef823
edia/AudioManager.java
cb6662ac532beeba0d3adb85fa37d307838b4325 01-May-2012 James Dong <jdong@google.com> Merge "Add video scaling mode support with a new public method in MediaPlayer.java class" into jb-dev
48dc91b514844b04f1d8dec18a480f9591a2f989 01-May-2012 Andreas Huber <andih@google.com> Make java constants consistent with native counterparts.

Change-Id: I481dfc18c170b4c60682ef1b38b57e10fb73d004
edia/MediaCodec.java
454014e55fe5a0d9a4b47080f8017b5297d016a8 29-Apr-2012 James Dong <jdong@google.com> Add video scaling mode support with a new public method in MediaPlayer.java class

o related-to-bug: 5454345

Change-Id: I379b679eb6dd87f47f87a58791a5d0c7251b3a74
edia/MediaPlayer.java
94affdd80e20c334dd5bfff170aee878992195ad 01-May-2012 Eric Laurent <elaurent@google.com> Merge "fix unmute from volume panel on tablets" into jb-dev
f740664cd808bebfc35ded46da6002bdc97a1a16 01-May-2012 Eric Laurent <elaurent@google.com> fix unmute from volume panel on tablets

Changing STREAM_MUSIC from volume panel on tablets should exit silent
mode as does changing STREAM_RING on phones.

Issue 5970208.

Change-Id: Ia8ed62033da07a5d4dfcfa84b0b47b27414bdd9a
edia/AudioService.java
8ccfbdddabf3387a1ac9d46bd057bea64eb30ef3 01-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Optimize how AudioService receives media button events" into jb-dev
c68022258ebd3dd97a5079ba99f4f3cd12b223b0 30-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> Optimize how AudioService receives media button events

AudioService maintains a stack of registered media button event
receivers.
This change modifies the broadcasters of ACTION_MEDIA_BUTTON intents
let AudioService directly handle the corresponding key event instead
of trapping the intent sent by PhoneWindowManager, KeyguardViewBase
and PhoneFallbackEventHandler.
Because the key event may be sent through a PendingIntent,
AudioService now also implements the OnFinished interface to be
notified when the event was consumed so it can release the wake
lock held if it was held when the key event needed to be sent
(see where PassHeadsetKey was instanciated in PhoneWindowManager).

Change-Id: I2e8614df94af9d54edbf714ef443cc372d21827a
edia/AudioService.java
edia/IAudioService.aidl
b12a5390694e8525ac61d7377e266e31d124c815 30-Apr-2012 Andreas Huber <andih@google.com> New API to set the video rendering mode on a MediaCodec instance.

Change-Id: I6d765bb4cab7bcf29f09364293c24e8a6930078b
related-to-bug: 6364139
edia/MediaCodec.java
ec3f31f6215cb380bba5ab36c9e4c21b13f046a1 29-Apr-2012 Dave Burke <daveburke@google.com> Added support for HE-AAC recording.

Not unhiding HE-AACv2 since that requires stereo mics.

Bug: 6275957

Change-Id: I953a6d21e615c8fd23f9390e3c86d63089f5fb75
edia/MediaRecorder.java
6d6f233a62fc6d3aceb74966a7f38b0917dc790e 28-Apr-2012 James Dong <jdong@google.com> Merge "Unhide APIs for timed text and multiple audio track switch APIs" into jb-dev
7a9734d769d97470ce6fac0594dd007804d33432 19-Apr-2012 James Dong <jdong@google.com> Unhide APIs for timed text and multiple audio track switch APIs

o made all the member variables in helper classes for TimedText to be public and final
since they are read-only
o removed Text and TextPos helper classes
o added two public methods in TimedText class: getText() and getBounds()
o cleaned up the javadoc of related methods in MediaPlayer.java and TimedText.java classes
o make the inner classes of TimedText static and final
o change invoke and let it throw RuntimeException on failure (thus a test class needs to be
modified also).

o related-to-bug: 6110705,5542712

Change-Id: Ia1dd1fd5eb8e9fd1b61c6c0d67405edb627a3002
edia/MediaPlayer.java
edia/TimedText.java
098d580cc2bb6c0891c756a4e5230c6c6b0d2376 27-Apr-2012 Jeff Sharkey <jsharkey@android.com> Migrate ringtone playback to SystemUI.

Introduce IRingtonePlayer, which handles playback for both Ringtone
objects and Notifications. SystemUI now hosts this player, which it
registers with AudioService. It also keeps MediaPlayer instances
warm, and cleans them up after stop() or Binder death.

Move both Ringtone and NotificationManagerService to play back audio
through this new interface.

Bug: 6376128, 6350773
Change-Id: I1dcb86d16ee3c4f07cdb2248d33dcff4ead3609a
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
edia/IRingtonePlayer.aidl
edia/Ringtone.java
edia/RingtoneManager.java
f5d70fd2add31cdb2e4ca1e931b47db95fa4b3e0 27-Apr-2012 Jeff Sharkey <jsharkey@android.com> Merge "Protect system services with DUMP permission." into jb-dev
6d5176638c2189595cede38fb92c3e7e8700e221 24-Apr-2012 Eric Laurent <elaurent@google.com> system and UI sounds volume policy

Implement a more consistent policy for system and UI sounds (key clicks, lock/unlock,
camera shutter, DTMF, low battery...):
- All system sounds are played over STREAM_SYSTEM stream type.
- The STREAM_SYSTEM volume that was previously fixed now tracks the volume of a "master"
stream type. This "master" stream type is STREAM_RING for phones and STREAM_MUSIC for
tablets which corresponds to the stream whose volume is modified by default by the volume
keys.
- The STREAM_SYSTEM volume ranges from -24dB to -6dB (-24dB to -12dB over headphones) when the
"master" stream volume ranges from its min to its max.
- DTMF tones are played over STREAM_DTMF that tracks the "master" stream volume in the same
manner with the following exception: when in call, DTMF stream tracks STREAM_VOICE_CALL volume.
- Camera shutter sound is played over STREAM_SYSTEM_ENFORCED stream that tracks the "master"
stream volume except in countries where regulation enforces this sound. In this case
its volume is fixed and cannot be muted.
- Low battery sound is played over STREAM_SYSTEM and therefore has a tunable volume and is
heard while in call.

Issue 6344620.
Issue 6069229.
Issue 6213100.

Change-Id: I53a237878ead596e706c5dbbb1420e62cde32bd7
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
eb4cc492c93ab9635dde78b958a834120412e72a 27-Apr-2012 Jeff Sharkey <jsharkey@android.com> Protect system services with DUMP permission.

Change-Id: I5e53859f8b8e5473e54eca43ebd7de841f1a05ff
edia/AudioService.java
2996cf03a2fd419bc91a45d7db733e2e81bf84f4 26-Apr-2012 Dave Burke <daveburke@google.com> Merge "Unhide new AAC-ELD audio record type." into jb-dev
129a6ccbb8037ab36259329f702d12a225f75510 26-Apr-2012 Andreas Huber <andih@google.com> Merge "The MediaExtractor can now unselect tracks and has more control over seeking." into jb-dev
f2855b3df5994e165b29025c4c49d8e7d634c034 26-Apr-2012 Andreas Huber <andih@google.com> The MediaExtractor can now unselect tracks and has more control over seeking.

Change-Id: I12c28bf31fe9fb4057352999fa38213ae289a417
related-to-bug: 6276111
edia/MediaExtractor.java
8037cad6c19cacc55f0e25a2d41e15599666973c 26-Apr-2012 Eric Laurent <elaurent@google.com> Merge "Fix AudioManager.forceVolumeControlStream()" into jb-dev
6644a826a12babfb88aadc65c29e8bf3d4d8c1d3 26-Apr-2012 Dave Burke <daveburke@google.com> Unhide new AAC-ELD audio record type.

Change-Id: Ibb9d3cd797c0b14c495776dc172ff7dadf6df7d6
edia/MediaRecorder.java
45c90cefd13a03b852bb4b8da4be218876cbbb32 25-Apr-2012 Eric Laurent <elaurent@google.com> Fix AudioManager.forceVolumeControlStream()

AudioManager.forceVolumeControlStream() is used by VolumePanel to temporarily force the
stream type which volume is controlled by volume keys.

Current implementation is not working if the VolumePanel is not executed by the same process
as the one receiving the volume key events.

Issue 6302421.

Change-Id: I2700587a027ffb962429b42083312cd92fe79215
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
0b718392c1f50f45760b198a5d9e8df2cf2b5080 25-Apr-2012 Marco Nelissen <marcone@google.com> Further speed up playlist processing

Previously when processing playlists, the entire audio table would be read for
every line in a playlist file. While there would be only one query, a lot of
data was being moved from sqlite to java over and over again, and if the data
didn't all fit in a CursorWindow, additional queries would be done under the
hood.
With this change, playlists are first cached in memory. Then the audio table
is queried, and for every row in the audio table, the best match from the
playlist cache is found. This way the audio table is only traversed once,
so each row is only fetched once. Once the entire audio table has been read,
the in-memory playlist cache contains the best matching entry for each line,
and the playlists are written out to the database. Currently, the audio table
is traversed once for each playlist. This could be further optimized in the
future by processing all playlists at the same time.

b/6346786

Change-Id: Iead3f9ae838d600d085e8e6d3c4874d42314468e
edia/MediaScanner.java
d7a2a428db781b3fae5df395dccac1bcab867bd5 26-Apr-2012 Jeff Sharkey <jsharkey@android.com> Merge "Move RINGTONE_PICKER to handle external storage." into jb-dev
6dcf382b1b1dde5e6303a51a27f8d3b928072415 18-Apr-2012 Jeff Sharkey <jsharkey@android.com> Move RINGTONE_PICKER to handle external storage.

To give RINGTONE_PICKER external storage access, move it from system
to MediaProvider. Fix OOBE when getRingtoneUri() kicked requery().

Bug: 6346701
Change-Id: I837002eef0580b8cdd8920a27b068c745995a8a3
edia/RingtoneManager.java
1b8f499a14a4340d3422d95c7f6fdc8c0c72b3a4 25-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> Allow multichannel configurations in android.media.AudioTrack

Compare the channel configuration against a mask of the public
channel masks in AudioFormat for up to 5.1 with back channels,
and allow combinations within this mask.

Change-Id: I84b72dfd88d4490f0c67bf10d13151a9eb06f6a8
edia/AudioTrack.java
08f70fa5b82faa00d4d536b5a220d7ce8dd8f932 23-Apr-2012 Marco Nelissen <marcone@google.com> Speed up playlist processing

When matching entries in playlists, only consider audio files.

b/6346786

Change-Id: Ia744d002c2821a81840303b9409593da48a08b73
edia/MediaScanner.java
74a78b0f6e8c07cfc7da8f043987f6de0648bc05 20-Apr-2012 Andreas Huber <andih@google.com> Add the ability to query the amount of cached data to MediaExtractor.

Change-Id: I47ae60bc6fb8d88979c1f0d650b6ac528e811371
related-to-bug: 6364341
edia/MediaExtractor.java
f3dbb59f1d199b6db539c84d371a2e55c7a6bd05 19-Apr-2012 James Dong <jdong@google.com> Merge "Update javadoc for timed text / multiple audio track APIs"
0d1ba1505695815907c34339c6f80c95d6fc6b40 19-Apr-2012 Andreas Huber <andih@google.com> Merge "DRM errors signaled by the CryptoPlugin are now visible to MediaCodec clients"
831f0a90cad923ec6b00c5c598ac4356e5849431 19-Apr-2012 James Dong <jdong@google.com> Update javadoc for timed text / multiple audio track APIs

o Throw runtime exception when selectTrack, unselectTrack, getTrackInfo fails
o remove redundant code for selectTrack and unselectTrack methods

o related-to-bug: 6110705,5542712

Change-Id: I59f0ed638e93d0365eccab1e33c9d50354a9c1ba
edia/MediaPlayer.java
bfc56f497de0d18125366a02a93e61cdc0891be4 19-Apr-2012 Andreas Huber <andih@google.com> DRM errors signaled by the CryptoPlugin are now visible to MediaCodec clients

through a custom exception "MediaCodec.CryptoException".

Change-Id: I30215e9e13bab68abad23e27dcead7c1accd07f1
related-to-bug: 6365261
edia/MediaCodec.java
c9496495baa031d1e6af9fd438c7d007a5d59b4e 19-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Unhide Visualizer scaling mode definitions and methods"
951794616f0d275faa077b25cb5979e401b0324d 19-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> Unhide Visualizer scaling mode definitions and methods

Unhide Visualizer set/get methods, and associated constant
definitions.

Change-Id: Iaafe5f7a2f1273f72c3f7f842b416b93614dfa65
edia/audiofx/Visualizer.java
6db653355bbf79f4bfe666fb96262c0df2ec34aa 19-Apr-2012 Eric Laurent <elaurent@google.com> Merge "unhide API for synchronous audio capture."
5cef554cc857b2b542d2c62f8cd0c36d62e1bb9b 19-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add support for scaling mode parameter in Visualizer effect"
ff2577da370f15b8288f547575c28393477d57b1 04-Apr-2012 Eric Laurent <elaurent@google.com> unhide API for synchronous audio capture.

unhide MediaSyncEvent class and AudioRecord.startRecording() method with synchronization
event allowing to start audio capture upon occurence of a specific event.
So far the only event defined is playback presentation complete but more events and synchronized
playback/capture methods could be defined in the future.

Change-Id: If05fc6cd125dd9afad451727f792a3fd9e916bef
edia/AudioRecord.java
edia/MediaSyncEvent.java
edia/ToneGenerator.java
8dfc10571a83389593fc11b92fbf9fc1f22c9f21 11-Apr-2012 Eric Laurent <elaurent@google.com> unhide audio pre processing API.

Unhide APIs for Noise Suppressor(NS), Acoustic Echo Canceler (AEC) and
Automatic Gain Control (AGC) audio pre processings.

Also unhide getAudioSessionId() method on AudioRecord.

Change-Id: I788f7a0724b152cc98c8167d9434e64c12bada95
edia/AudioRecord.java
edia/audiofx/AcousticEchoCanceler.java
edia/audiofx/AutomaticGainControl.java
edia/audiofx/NoiseSuppressor.java
91befdc0c4710234840cdfd853e7d30e8f9de62c 18-Apr-2012 Andreas Huber <andih@google.com> Information required to decrypt buffers is now packaged into MediaCodec.CryptoInfo

New API on MediaExtractor to retrieve a CryptoInfo structure where applicable.

Change-Id: I18edfc9ac56a4544c8f17cba24401b96dacbff7d
related-to-bug: 6275919
edia/MediaCodec.java
edia/MediaExtractor.java
f7d3bdfc22058439c1ec84165c91460a0f0850a2 18-Apr-2012 James Dong <jdong@google.com> Merge "AddExternalSource(String path) needs to turn the path to fd if it is a file"
c4c0284e45e1b69a03309cd55f937bcc638c0bec 13-Apr-2012 James Dong <jdong@google.com> AddExternalSource(String path) needs to turn the path to fd if it is a file

o related-to-bug: 5542712

Change-Id: Iea32012996ca9de4c86f144de916df64fcab3c52
edia/MediaPlayer.java
e1123e7f36723a8b888501c9a22a589297849ca2 16-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> Add support for scaling mode parameter in Visualizer effect

Add set/get methods to set how the Visualizer scales the captured
data.

Change-Id: Ia1da00fd5474dd3484b59caf7d1d0a812d0347de
edia/audiofx/Visualizer.java
2952c5d03c26aec8f2aa2d69f20b47a7cc8f39e1 17-Apr-2012 Andreas Huber <andih@google.com> MediaCrypto's constructor can throw RuntimeException.

Change-Id: I5718e9abab0d1465882580e826747d6a78bdefb5
related-to-bug: 6275919
edia/MediaCrypto.java
07ea426e3ae8915ca6bf67135f523f42cd920af0 11-Apr-2012 Andreas Huber <andih@google.com> Unhide new media related java APIs.

Change-Id: If0b8201eaca74f51f3499b6ecdfb73088586ee24
edia/Crypto.java
edia/MediaCodec.java
edia/MediaCodecList.java
edia/MediaCrypto.java
edia/MediaExtractor.java
f3d9f5d097dffec33f416d0907d4a6e0dae43f69 12-Apr-2012 James Dong <jdong@google.com> Merge "Fix failure from setDataSource(String path) when path is a local file"
e00b6f3a57d4b480ce674468de93555269bbd71a 12-Apr-2012 James Dong <jdong@google.com> Fix failure from setDataSource(String path) when path is a local file

o the failure was because the mediaserver does not have read permission to sdcard
o related-to-bug: 6325960,6322913

Change-Id: I4feec01b8165c78563eee8aab69cb24df3244d03
edia/MediaPlayer.java
0041b5c561a48ed8f63c4fe8ae3bff5196f68d0f 11-Apr-2012 James Dong <jdong@google.com> Fix thumbnail generation failure

o Change the impl of MediaMetadataRetriever.setDataSource(String).
It opens and passes an fd to the media framework
rather than pass the file path directly to the media server. The change is needed since media
server does not have read permission to sdcard
o Remove the unnecessary jni method

Change-Id: I5a2f47dde804523d264b588f855ba2575a99c179
edia/MediaMetadataRetriever.java
855255d89fe0a14abe796355bebb64031ec6ff47 09-Apr-2012 Eric Laurent <elaurent@google.com> audio preprocessing: added static factory method

Added static methods to check availability and create audio preprocessing
effects.

Change-Id: I945e97fe41912ff8880befacaba162a08b5a1267
edia/audiofx/AcousticEchoCanceler.java
edia/audiofx/AudioEffect.java
edia/audiofx/AutomaticGainControl.java
edia/audiofx/NoiseSuppressor.java
079f09c6ca4148d8e640e34ec03a3eb4fb3507cc 09-Apr-2012 Eric Laurent <elaurent@google.com> Merge "Added support for USB audio devices"
59f482764e346a5c5ac118ee1f7b24da645c2559 06-Apr-2012 Eric Laurent <elaurent@google.com> Added support for USB audio devices

Two types of USB audio devices are defined:
- USB audio device: the audio device in USB device mode while
the Android device is in USB host mode.
- USB audio accessory: the audio device in USB host mode while
the Android device is in USB device mode.

Renamed intents for analog and digital docks to avoid confusion:
- ACTION_USB_ANLG_HEADSET_PLUG to ACTION_ANALOG_AUDIO_DOCK_PLUG
- ACTION_USB_DGTL_HEADSET_PLUG to ACTION_DIGITAL_AUDIO_DOCK_PLUG

Factorized code in AudioService broadcast receiver.

Change-Id: I1b6d0257a9d68ecb9495c78c98bac8c67fec7891
edia/AudioManager.java
edia/AudioService.java
edia/AudioSystem.java
9e6bcce17d13bd4f7bba5f8fbcc2e6a0d695274b 06-Apr-2012 Andreas Huber <andih@google.com> New JAVA API to support submitting encrypted buffers of input data.

Change-Id: Ib0df9a9427b4580946179860495b26f743558597
related-to-bug: 6275919
edia/MediaCodec.java
1c35d117f01b5a6f66b82c57eb29350f16694070 05-Apr-2012 Justin Koh <justinkoh@google.com> am db9b114b: Merge "Adds flag argument to setMasterMute." into ics-aah

* commit 'db9b114b2e1f9c2034c3cd6df00245b039d90c28':
Adds flag argument to setMasterMute.
0273af55cf68d54d26d154b44d105d40fed79701 05-Apr-2012 Justin Koh <justinkoh@google.com> Adds flag argument to setMasterMute.

Adds flag argument to setMasterMute. This allows third parties to edit it
without showing the UI, for example.

TESTED = runs on Tungsten.

Change-Id: Idfd99a2476e60059cd93c9dfe07d03a389c3f5f5
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
75cf9e19a575c28c200c02c0ab6f83bb79f5c50d 05-Apr-2012 Justin Koh <justinkoh@google.com> Fix the build.

Change-Id: Ibe818df8f360837688f12533cf0ac22ef89a8439
edia/AudioService.java
5ac69a23e07abdc848d14d9a4ea9bf8054b88730 04-Apr-2012 Justin Koh <justinkoh@google.com> Merge "resolved conflicts for merge of bff6a514 to master"
6a8096d7d56ce4c65318f283ef666993f3020745 04-Apr-2012 Justin Koh <justinkoh@google.com> resolved conflicts for merge of bff6a514 to master

Change-Id: I741d5ab8ed0ce25a27330ffb55ba210534d11c3d
e313f721ad97ad44666dd066a891acb4ddfa8ab3 04-Apr-2012 Marco Nelissen <marcone@google.com> Store video width/height when scanning

b/5820120

Change-Id: If2faf554bbf49b341d2634915ba98c1efd70574e
edia/MediaScanner.java
8240d9239d9aabed75c49f9d4d69fd8a5fe4c899 04-Apr-2012 Andreas Huber <andih@google.com> New Crypto JAVA class to facilitate decryption via MediaCodec.

Change-Id: Ic4e395faa84f003793c2804f2badabab9e7f1034
related-to-bug: 6275919
edia/Crypto.java
edia/MediaCodec.java
edia/MediaExtractor.java
57978ed86286a33d5b1a0fd000ca3406ba9d87b3 04-Apr-2012 Justin Koh <justinkoh@google.com> Persists the master mute volume setting.

Persists the master mute volume setting across reboots.

TESTED = runs on Tungsten.

Change-Id: I9628b9369ca528b22413f62a9e7d697bae61d8ac
edia/AudioService.java
991c8733c3b990b88edf5cf223aebe3d1c71b7f0 03-Apr-2012 Andreas Huber <andih@google.com> Merge "More DRM/crypto support."
0e97fc248eaea7b4c95053618ddedf0af638110e 03-Apr-2012 Andreas Huber <andih@google.com> More DRM/crypto support.

related-to-bug: 6275919
Change-Id: I9179c03f1f91f939afcb3b1c6514a200bf586c93
edia/MediaCodec.java
b5f2088c8ebc3d880dac2141df19a57053b7bae0 03-Apr-2012 Mike Lockwood <lockwood@google.com> Merge commit '7f71d01'
3e29718d34eba7c6c455fa6bb622856fe651876e 03-Apr-2012 Mike Lockwood <lockwood@google.com> Merge commit '830ad08'
4a727e342134f409c2cf7cf2f77dbe9c15128337 03-Apr-2012 Marco Nelissen <marcone@google.com> Merge "Support audio/ogg mimetype"
dc912ed9c6f1a0812bd07e5a24600c5b438a54bb 03-Apr-2012 Marco Nelissen <marcone@google.com> Support audio/ogg mimetype

audio/ogg has been the official mimetype for ogg vorbis audio for
a while now, so we should support it.

b/5824157

Change-Id: Ica86bdb3099a10785f1da9c3413284f3e11dc27e
edia/MediaFile.java
3caba517253d1703fc29b50740c4567b932279fb 03-Apr-2012 Justin Koh <justinkoh@google.com> Broadcast mastervolume regardless of change.

Broadcast mastervolume intents regardless of whether the system changed the
volume. This fixes the bug where the volume LEDs stop getting updates.

TESTED = runs on Tungsten.

Change-Id: Id363da3f825934fd7785ed3d3e436f74e657b7e6
edia/AudioService.java
5a04bf395514a9342dd26af519b88f4b3e309eb9 30-Mar-2012 Andreas Huber <andih@google.com> New API to query available codecs and their capabilities.

Change-Id: I448ba443a96d8fee2bc9179750d57362ed31d9d9
edia/MediaCodecList.java
3d275af3c3996f80816142628c380f79a9606c51 31-Mar-2012 Eric Laurent <elaurent@google.com> Merge "implemented synchronous audio capture"
18a38b9f41fa818cccc50a7fd372c694a9c8149a 31-Mar-2012 James Dong <jdong@google.com> Merge "Removed obsolete opencore related comments"
6ef1eedac77977a4979a293499767e17ed3a4e03 30-Mar-2012 Chih-Chung Chang <chihchung@google.com> Merge "Fix b/5353417 Images downloaded from browser are showing incorrect details (Time is shown as dec 31 1969)"
505e5c8859f596ed58489be565d6e029314b2ac8 30-Mar-2012 Eric Laurent <elaurent@google.com> implemented synchronous audio capture

Added the infrastructure to support the synchronization of playback and
capture actions on specific events.
The first requirement for this feature is to synchronize the audio capture
start with the full rendering of a given audio content.
The applications can further be extended to other use cases
(synchronized playback start...) by adding new synchronization events and
new synchronous control methods on player or recorders.

Also added a method to query the audio session from a ToneGenerator.

Change-Id: I4e47f5108c7cbbd3bd334a7fad9b3b6c5ba55d88
edia/AudioRecord.java
edia/AudioSystem.java
edia/MediaSyncEvent.java
edia/ToneGenerator.java
7ae82ce1fd54103bb87b8a0593a4228c94b1d6f9 29-Mar-2012 James Dong <jdong@google.com> Removed obsolete opencore related comments

Change-Id: Ia05a889ea54a8f38d126508ffdcd09fe2a263538
edia/MediaPlayer.java
edia/MediaScanner.java
45edba1b8b0377dfe70a4f2b0afb0f04dd8e1ee9 28-Mar-2012 RoboErik <epastern@google.com> b/6232528 Reduce volume persist delay to 500ms

Change-Id: I45c32da0a1089ce8bc865e12b51c069a6db28fd4
edia/AudioService.java
872e7b7073fad8295e6314c73b87d7cb3f85d39c 27-Mar-2012 Ray Chen <raychen@google.com> Fix b/5353417 Images downloaded from browser are showing incorrect details (Time is shown as dec 31 1969)

MediaScanner sets DATE_TAKEN with EXIF's datetime tag value. When this information is not available,
ExifInterface will simply return -1 which is accidentally used by MediaScanner.

Adding a check to avoid it so MediaProvider can calculate the date taken from last modified time instead.

Change-Id: I305b93a6c5602cbb9f97c3bbd384d358bda030c6
edia/MediaScanner.java
9b8e496f4d143280deff137c5f30ca8907bc28db 26-Mar-2012 Andreas Huber <andih@google.com> Provisional support for secure decryption of media streams.

Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
edia/MediaCodec.java
edia/MediaExtractor.java
7061b5ffb37ea15f235effa1faaf22bb1750c7f5 26-Mar-2012 Marco Nelissen <marcone@google.com> Merge "Speed up playlist processing"
c164faa8314c110d417b653b9926de4803bb2dda 24-Mar-2012 Marco Nelissen <marcone@google.com> Speed up playlist processing

The recent removal of the cache from MediaScanner (commit 58ef68905d67e356eb)
slowed down processing of playlists, in some cases significantly, due to every
line in a playlist prompting a query that looped over the entire audio table.

With this change, the query is only done once instead of for every line,
and the code starts iterating over the Cursor starting near the point of
the last match, instead of from the start. The latter is especially helpful
when the entire query result is too large to fit in a CursorWindow, since
it reduces the number of times that sqlite has to perform an offset query
under the hood to refil the window.

Change-Id: I9fea990b3b8c86571384de2122708fb7e809c355
edia/MediaScanner.java
6c798970ccb8759d1e613b57111daa8da0ab44c7 02-Mar-2012 Lei Zhang <rzhang@google.com> Add batch volume adjust support to adjustMasterVolume() in AudioManager and
AudioService.

Change-Id: I09b1dfc93f14ca836e1ba2a400c00caed01fd541
edia/AudioManager.java
edia/AudioService.java
24b082f87e96c00d5c17d60c735423900be40e70 24-Feb-2012 RoboErik <epastern@google.com> Fix Audio ramping code

The audio ramping was being ignored and we were always adjusting
by the same amount.

Change-Id: Id4a6587fd488132816ae26776c0f798782470b1d
edia/AudioService.java
485932f6afa1541caa9429835ef44a928e7ddfb1 20-Mar-2012 Wu-cheng Li <wuchengli@google.com> Merge "Do not set camera preview display if the surface is null."
c59d1a8f0ccbf8d95c8f29cfe9d955d081807fc9 14-Mar-2012 Wu-cheng Li <wuchengli@google.com> Do not set camera preview display if the surface is null.

MediaRecorder.setPreviewDisplay() is not required if applications
use MediaRecorder.setCamera(). Besides, this causes a problem when
apps use Camera.setPreviewTexture. Camera service thinks the
surface texture from Camera.setPreviewTexture and the surface from
MediaRecorder.setPreviewDisplay are different.

bug:5988937

Change-Id: Ia345705b6679ef349db6e354feaa3cc0fe8bcd8c
edia/MediaRecorder.java
41f3f716b07265fb355ef70e89b9d7e1ad5f0a6f 16-Feb-2012 Insun Kang <insun@google.com> Defines MediaPlayer APIs to support multiple audio/video/timedtext
tracks.

o Newly introduced APIs are (MediaPlayer):
getTrackInfo() / addExternalSource() / enableTrack() / disableTrack().

o Timed text tracks are supported only, for now.

o TODOs:
- Define the audio/video behavior for enableTrack and disableTrack.
- Refactoring AwesomePlayer / TimedTextDriver so that all types of
track index can be managed in the correct order and be ready for
supporting audio/video tracks.
(MediaExtractor and MediaSource for text file might be necessary.)

Change-Id: Idb85e1b3f2ed49a64f377d05472dd6663ce94e07
edia/MediaPlayer.java
467ec7eda8ad754d6a92d32040738b797ba5e994 14-Mar-2012 Marco Nelissen <marcone@google.com> Unhide MediaPlayer.setNextMediaPlayer

The Music apps are unbundled, so this needs to be unhidden for them to use it.

Change-Id: I24330a2d6cfa2f5fb5f9c282d28f5431b6165095
edia/MediaPlayer.java
1c1d1e7ed7ed2673b22642c6701659146ceaa602 13-Mar-2012 Marco Nelissen <marcone@google.com> Merge "Gapless playback, step 1."
84b832054552e00257bb04997143ca33d6d100be 29-Feb-2012 Marco Nelissen <marcone@google.com> Gapless playback, step 1.

Currently able to play Ogg Vorbis, PCM WAV and other lossless files seamlessly
by reusing the initial AudioTrack for subsequent players.

Change-Id: Ie7cf6b9076bdf4f9211574456d192c02c04fecc7
edia/MediaPlayer.java
4d367c54d1b7394a470849c4c86e80ebc491f388 12-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "MediaPlayer doc for setDataSource by file pathname"
b8f8809472e075a5b0318cf43b86e3dfb1bab082 12-Mar-2012 Andreas Huber <andih@google.com> Merge "Documentation/API update for MediaCodec/MediaExtractor, fixes to MediaCodec."
c52b980277f08aee7981b1fdbca7a89464cf66d9 12-Mar-2012 Andreas Huber <andih@google.com> Documentation/API update for MediaCodec/MediaExtractor, fixes to MediaCodec.

and MediaExtractor.readSampleData now works with a non-direct byte buffer.

Change-Id: Ifbe5c152d9550c34d3b1d493e12a223eb98e8b4e
edia/MediaCodec.java
edia/MediaExtractor.java
029d7e15f38cdd3c1941a16186c5941edc85bc3d 12-Mar-2012 James Dong <jdong@google.com> Hide deprecated MediaRecorder.java APIs

o related-to-bug: 6085208

Change-Id: I6d4d2c20756b317661c94ebe35752a040ece8283
edia/MediaRecorder.java
55d1eea69451ee246a41e12a14be42878773e3cb 09-Mar-2012 Glenn Kasten <gkasten@google.com> MediaPlayer doc for setDataSource by file pathname

Change-Id: Icb5acbf75242ca2df62ccda5185f8841217653a0
edia/MediaPlayer.java
a4fd93751d2dd29febfc3022319e7f250fd6b732 08-Mar-2012 Eino-Ville Talvala <etalvala@google.com> Allow multiple releases to be called on MediaActionSound.

Bug: 6136088
Change-Id: I80ff09a90cd65d874ae016d450c4cc8c6a56d387
edia/MediaActionSound.java
0de2ed3bf355fd92bcb3c169895a29c9c3db745a 08-Mar-2012 James Dong <jdong@google.com> Merge "Changed 480p and 1080p resolution documentation"
7ef97435971de244b37e02a2cb1be654048c2609 08-Mar-2012 Eric Laurent <elaurent@google.com> Merge "AudioService: fix system stream muted by restore"
9ac8d0c445a3ccde40c05f0f3ad0ec4e8265d4c6 07-Mar-2012 Eric Laurent <elaurent@google.com> AudioService: fix system stream muted by restore

Releases prior ICS (included) would persist the stream volumes in the
database when muted by silent mode. If the DB was backed up while in
silent mode, stream volume was backed up at 0.
When restored on a new device, the volume was restored at 0 which was
a problem for SYSTEM stream because it would never be corrected as
this stream volume is fixed.

Added a check on valid volume values when reading settings from the DB
and correct the DB if this happens.

Change-Id: Ie3b98eb74e10413c22aab7568b83ac3ace5bfc07
edia/AudioService.java
edia/AudioSystem.java
d5f07990822db3531c84755f406c1e12083aee37 07-Mar-2012 Eino-Ville Talvala <etalvala@google.com> Merge "NEW_API: Rework CameraSound into MediaActionSound, and unhide it."
e69095869c1b324aa20991ed1805c492c3f731e8 01-Mar-2012 Eino-Ville Talvala <etalvala@google.com> NEW_API: Rework CameraSound into MediaActionSound, and unhide it.

MediaActionSound is a helper class for applications that use the
camera, or include camera-like behavior such as taking
screenshots. This class helps applications match the sound-playing
behavior of the Camera.takePicture, MediaRecorder.start, and
MediaRecorder.stop methods.

This is useful for applications that don't use the above methods, but
still logically capture images or video, such as the panorama capture
feature and the video effects in the platform camera application.

Bug: 5029099
Change-Id: I829f6e2941f167f91f9cb506215b7232cb054958
edia/MediaActionSound.java
a00c2939c7263fe421c33364a17e489c7c3a4d1f 06-Mar-2012 James Dong <jdong@google.com> Changed 480p and 1080p resolution documentation

o related-to-bug: 6041794

Change-Id: I01c52ec68c715c46c3ce9e778dbc6ac1f74685b6
edia/CamcorderProfile.java
d674dd50b7caf57aa8c9e7e4bc75c92d5f576167 02-Mar-2012 Lei Zhang <rzhang@google.com> Add batch volume adjust support to adjustMasterVolume() in AudioManager and
AudioService.

Change-Id: I34382839622a5cc5f2a8768aed011e8224cadff9
edia/AudioManager.java
edia/AudioService.java
720aa282791ef9405d39a15f419a41ab24f11e30 23-Feb-2012 John Grossman <johngro@google.com> Switch the way we configure for MediaPlayer retransmission.

This is a cherry-pick of I6ab07d89b2eeb0650e634b8c3b7a0b36aba4e7dd
with merge conflicts addressed by hand and additional changes made in
response to code review feedback.

Move in the direction of a more publishable API for configuring a
media player for retransmission. It used to be that we used a custom
invoke and a modified URL (prefixed with aahTX://). There are many
issues with this technique and it was never meant to stand the test of
time.

This CL gets rid of all that. A new (but currently hidden) method was
introduced to the java level MediaPlayer API, called
setRetransmitTarget(InetSocketAddress), which allows an app writer to
set the retransmit target. For now, this method needs to be called
before a call to setDataSource (which is pretty unusual for the
MediaPlayer API) because this mid level code uses this as a cue to
instantiate an aahTX player instead of relying on the data source to
select a player. When retranmit functionality becomes part of the
existing android player implemenation, this
set-retrans-before-set-data-source behavior can go away, along with
the aahTX player itself.

Change-Id: I3b46c5227bbf69acb2f3cc4f93cfccad9777be98
Signed-off-by: John Grossman <johngro@google.com>
edia/MediaPlayer.java
1918d4353cb05fdfc59bf6244f06c5bb25102b3f 24-Feb-2012 RoboErik <epastern@google.com> Fix Audio ramping code

The audio ramping was being ignored and we were always adjusting
by the same amount.

Change-Id: I1dc122e033c382f556844c5acadcfb698c8d2092
edia/AudioService.java
4aea858564c616ca2fa0ac0f881cd9d536f8d632 23-Feb-2012 John Grossman <johngro@google.com> Switch the way we configure for MediaPlayer retransmission.

Move in the direction of a more publishable API for configuring a
media player for retransmission. It used to be that we used a custom
invoke and a modified URL (prefixed with aahTX://). There are many
issues with this technique and it was never meant to stand the test of
time.

This CL gets rid of all that. A new (but currently hidden) method was
introduced to the java level MediaPlayer API, called
setRetransmitTarget(InetSocketAddress), which allows an app writer to
set the retransmit target. For now, this method needs to be called
before a call to setDataSource (which is pretty unusual for the
MediaPlayer API) because this mid level code uses this as a cue to
instantiate an aahTX player instead of relying on the data source to
select a player. When retranmit functionality becomes part of the
existing android player implemenation, this
set-retrans-before-set-data-source behavior can go away, along with
the aahTX player itself.

Change-Id: I6ab07d89b2eeb0650e634b8c3b7a0b36aba4e7dd
edia/MediaPlayer.java
fa4a191d0d68c5f83fff5024d383f6a8dcd136c9 21-Feb-2012 John Grossman <johngro@google.com> Revert "Add a way to play file descriptor data sources using the A@H transmitter media player."

This reverts commit 64006cb1642b2ec0ee74c66007d869b884391fd1.

Back out this change in order to get ready to implement a longer term,
more media-team approved way of selecting a retransmit player.

Change-Id: I97b68b9859a174eab858598cb00d4445a14fbc17
edia/MediaPlayer.java
0ae6b481e470877c71508292925528ff308ce415 23-Feb-2012 Andreas Huber <andih@google.com> Merge "Implementation of a java media codec interface and associated tools."
88572f7a3e9d7ef85c26865a0150f3c2041561c2 21-Feb-2012 Andreas Huber <andih@google.com> Implementation of a java media codec interface and associated tools.

Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
edia/MediaCodec.java
edia/MediaExtractor.java
a352d1e2418f2f43d0e0a82f73799027e304fd96 22-Feb-2012 James Dong <jdong@google.com> Merge "Allow to record time lapse videos without using setProfile()"
a4d205d02c0c69fd2a783ef86747058fa00e066e 22-Feb-2012 James Dong <jdong@google.com> Allow to record time lapse videos without using setProfile()

o also added a check on whether capture rate was set before starting time lapse video recording.

o related-to-bug: 6045507

Change-Id: I8e1fdc8e8931e2684ab3822dc6260db44658e87d
edia/MediaRecorder.java
58ef68905d67e356eb6a05176863cacfbdca75c6 15-Feb-2012 Marco Nelissen <marcone@google.com> Eliminate scanner file cache

Get rid of the file cache, since it tends to run out of memory for large
numbers of files. This slows down the scanner somewhat, but recent
optimizations more than make up for that.

With this change, the postscan phase of the media scan now only processes
playlists. Removal of entries for files that no longer exist is done as
part of the prescan.
Lookups in the file cache are replaced by simple queries, which are still
reasonably fast because of a new index recently added to the media provider
database. Note that there was a bug in the case-insensitive matching for
file cache entries, in that e.g. an uppercase a-accent-aigue would be mapped
to its lowercase version, whereas the underlying case-insensitive filesystem
treats them as different characters. Getting rid of the file cache also fixes
this issue.

Bug: 4474617
Change-Id: I39c6f1a35bb518ef7ab912e9b9401663821ef48e
edia/MediaScanner.java
3540a0197f56c4bcd7d7419f4502bfca34257de2 11-Jan-2012 John Grossman <johngro@google.com> Enhance Visualizer behavior in the case of mediaserver death.

Bring the Visualizer class into line with the SDK documentation by
returning ERROR_DEAD_OBJECT instead of ERROR_INVALID_OPERATION when
the Visualizer loses its binder connection to the mediaserver because
of a mediaserver restart.

Also add a new callback interface to allow clients to be
asynchronously notified in the case of server death. Right now, the
interface definition and the registration method are flagged as hidden
pending API council review/approval.

See http://b/issue?id=5717519 for details.

Change-Id: Ic15856f27ed5a950a583ac11ca81f79bd7e9b1a0
Signed-off-by: John Grossman <johngro@google.com>
edia/audiofx/Visualizer.java
449725f9aa67136a38c7554ba76ac4e27e5e3bd3 10-Jan-2012 John Grossman <johngro@google.com> Reuse callback buffers in the Visualizer.

Don't re-allocate buffers used by Visualizer callbacks as this causes an
unacceptable amount of GC thrash. Instead, lazily allocate the buffers and only
reallocate them when the required size changes.

See http://b/issue?id=5717519 for details.

Change-Id: Ibd157ed51f30687ce7c4ef0b4003258a484e0f5d
Signed-off-by: John Grossman <johngro@google.com>
edia/audiofx/Visualizer.java
98ad9b9d6fd34aad487933170f50b5519313df61 16-Feb-2012 Eric Laurent <elaurent@google.com> Fix music volume regression on tablets

A regression was introduced by the change enabling per device volume:
music volume will not be completely silenced even if volume is shown at 0.

The problem is that when media volume goes to zero, silent mode is entered and
AudioService sends one message per stream/per connected device to the audiosystem
handler to mute volume on each stream. As those messages were sent with the
SENDMSG_NOOP attribute, some of them where lost.

Change-Id: Ic665b1e9dcaf09506a4ec19bf3fe6997d4b071fd
edia/AudioService.java
d121cfcbb45cb9ca734e702861f0bdd422999cf5 13-Feb-2012 Marco Nelissen <marcone@google.com> Further optimize media scanner.

Inserts of directories can be done in bulk as long as they're inserted before
the files contained within. Extend MediaInserter to accommodate giving priority
treatment to directories.
Bulk deleting of entries can be further sped up (by a factor of ~3 in my tests)
by deleting entries in database order. Switch the file cache to use
LinkedHashMap instead of HashMap to allow iterating over the cache in database
order. Also use bindArgs to allow for better caching of sql statements.

Change-Id: Ieb9ffc4e866c6cd505bf795eb80ff5d03ffc56bd
edia/MediaInserter.java
edia/MediaScanner.java
9760647dd0ee67e7c20f3e9d661d2006b1df0b54 09-Feb-2012 Mike Lockwood <lockwood@google.com> Add support for non-linear ramping of master volume adjustment

Bug: 5472584

Change-Id: I1227007d1563eca739fb78b6d9595febc04a3f03
Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioService.java
1ce5b26d707e0086e09af3cd0428f1b441145261 02-Feb-2012 Jason Simmons <jsimmons@google.com> Only send master volume or mute updates if the settings have changed
edia/AudioService.java
e3f5979307fa52898459d9d09ee11bc1d65a4f7f 25-Jan-2012 Jason Simmons <jsimmons@google.com> Make AudioManager.adjustMasterVolume public and hidden
edia/AudioManager.java
9063154a793b0ab38b3c5992cbaed046427b4a82 06-Jan-2012 Mike Lockwood <lockwood@google.com> Restore persisted master volume if the media server restarts

Bug: 5755071

Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioService.java
b7bd88a3b6d4a34f8dd59c41fb8ed55135840069 05-Jan-2012 Mike Lockwood <lockwood@google.com> Don't allow changing master volume when muted

Bug: 5793021

Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioService.java
5c55a051ad7d86a464fb91426f1ea3c0250e38b3 15-Dec-2011 Mike Lockwood <lockwood@google.com> Defer persisting master data to avoid excessive database writes

Bug: 5705192

Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioService.java
3194ea94348bce8e7ee9f803698d877f46f8279a 07-Dec-2011 Mike Lockwood <lockwood@google.com> Remove reference counting and client death notification for master mute

The use case for master mute is to toggle it on and off from a
KEYCODE_VOLUME_MUTE event, so this was unnecessary and prevented unmuting
in certain cases

Bug: 5724755

Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioService.java
0dc37cce9d564ae43883c8dc8672b9266b881e63 01-Dec-2011 Mike Lockwood <lockwood@google.com> AudioService: Send broadcasts when master volume and mute state change

Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioManager.java
edia/AudioService.java
fa7b06147c2d0f0c64fa334ed5a971cbad7cdbe5 16-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: Add wrapper methods for master volume support

Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/AudioManager.java
ce952c8e13c535bedde77bcdb94dfcc7508475aa 14-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: Add support for master mute

Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
4767690f09ea3447b8c5c32fb28d27650aa18e00 08-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: transparently convert volume settings for other streams to master volume if config_useMasterVolume is set.

This allows Music2 and other media apps to control master volume without changing their code

Bug: 5567694

Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
8dc1dabd254249b7ddb8743e88fdb96580ffc585 27-Oct-2011 Mike Lockwood <lockwood@android.com> VolumePanel: Add support for master volume

Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
8517e46f3d3c2ce11de09aa849a8533ffc1a2026 25-Oct-2011 Mike Lockwood <lockwood@android.com> Save and restore master volume in the settings provider

Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/AudioService.java
cbdb49dc5e1b993a0bc5c68dbfb9486bfa0cd762 20-Oct-2011 Mike Lockwood <lockwood@android.com> Simple master volume support

Still needs integration with Settings (for persistence) and VolumePanel UI.

Change-Id: I9eca92c4b1ef2df2564411006a35753ab9618dce
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/AudioManager.java
edia/AudioService.java
edia/AudioSystem.java
edia/IAudioService.aidl
e7eeace594861365b4b5de08eee2cb4c0abf06b2 09-Feb-2012 Scott Main <smain@google.com> am ec12ae99: am 79cfde69: am 52bfc243: docs: fix misc doc bugs from external issue tracker

* commit 'ec12ae9933e463181338834387caa7c58b330635':
docs: fix misc doc bugs from external issue tracker
dfa926f54bc4a8a154eb5a0a928234073da7d3fd 09-Feb-2012 Scott Main <smain@google.com> am 52bfc243: docs: fix misc doc bugs from external issue tracker

* commit '52bfc243684b2f340da326aaa38e9021e4e3b2e6':
docs: fix misc doc bugs from external issue tracker
52bfc243684b2f340da326aaa38e9021e4e3b2e6 09-Feb-2012 Scott Main <smain@google.com> docs: fix misc doc bugs from external issue tracker

Change-Id: If6ff3476670e42b321d56d4a1482ccff96d4d500
edia/CamcorderProfile.java
0e8392e1dc1c023cb4d14a10778ae9cca44aac86 09-Feb-2012 Mike Lockwood <lockwood@google.com> Add support for non-linear ramping of master volume adjustment

Bug: 5472584

Change-Id: Id75f8835f6693ae3fcb7ca451ada01f22faba1aa
Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioService.java
b3f04a656907abb0d89485edb24517249a0a9142 08-Feb-2012 Marco Nelissen <marcone@google.com> Merge "Delete entries in bulk"
9ff4774cac499a376a59373d5bfb5112c9a2a004 08-Feb-2012 Marco Nelissen <marcone@google.com> Delete entries in bulk

Deleting entries from the database in bulk greatly speeds up the media
scanner in some cases; removing 31k entries used to take about 2 hours,
now it takes about 15 minutes.

Change-Id: Ia8f3fd6d828289e3d67178e9ad10399ded8d70d2
edia/MediaScanner.java
f047c14f23abd94b3fb04f56dded13b66236ca53 07-Feb-2012 Marco Nelissen <marcone@google.com> Merge "Make media scanner use new delete-parameter"
ac259f17a0a6ba9e363bbf0c268c5942aab392c1 07-Feb-2012 Marco Nelissen <marcone@google.com> Make media scanner use new delete-parameter

This speeds up the media scan case where many files were deleted or moved.

Change-Id: I86e6fc6d0968eebf24923c0b5587b90d309721bb
edia/MediaScanner.java
874d1f1f65a989405b3c1f692014ef2072e09f5e 02-Feb-2012 James Dong <jdong@google.com> Unhide AAC_ADTS file format

o also actually decprecated RAW_AMR file format

Change-Id: Ic8ef5b0dca6f793fddf9e79d431e79f5083f7bff
edia/MediaRecorder.java
a477bab9c3aec3cd48b633c321dcefb0d7d3f400 02-Feb-2012 Jason Simmons <jsimmons@google.com> Only send master volume or mute updates if the settings have changed

Change-Id: If12ec3b7a4b4bf5165d7538013759f07a845d8c4
edia/AudioService.java
d6b3e0cc36cbe28c8d194b63227df37c76af7efa 02-Feb-2012 Marco Nelissen <marcone@google.com> Enable media scanner bulk inserts

Change-Id: I357162d0fe498a182ccb14630fe565daaa8bb0c1
edia/MediaScanner.java
f3a3b9ec9ce6cb087dd3f4358684c00be23feec1 30-Jan-2012 Marco Nelissen <marcone@google.com> Merge "Handle adding/removing/renaming nomedia paths"
64006cb1642b2ec0ee74c66007d869b884391fd1 30-Jan-2012 Jason Simmons <jsimmons@google.com> Add a way to play file descriptor data sources using the A@H transmitter media player.

* Added a MediaPlayer.setMediaPlayerType API that be called to specify the
desired media player implementation before calling setDataSource
* Implemented setDataSource(fd) in the AAH_TxPlayer

Change-Id: I359075d9c7d6fd699dda14eb85ec50da19307639
edia/MediaPlayer.java
2d2d7d6f42fe22ecc2b1dc8bb96a19e503a61a20 28-Jan-2012 Jeff Brown <jeffbrown@google.com> Merge "Implement a cancelation mechanism for queries."
75ea64fc54f328d37b115cfb1ded1e45c30380ed 26-Jan-2012 Jeff Brown <jeffbrown@google.com> Implement a cancelation mechanism for queries.

Added new API to enable cancelation of SQLite and content provider
queries by means of a CancelationSignal object. The application
creates a CancelationSignal object and passes it as an argument
to the query. The cancelation signal can then be used to cancel
the query while it is executing.

If the cancelation signal is raised before the query is executed,
then it is immediately terminated.

Change-Id: If2c76e9a7e56ea5e98768b6d4f225f0a1ca61c61
edia/MediaScanner.java
tp/MtpDatabase.java
tp/MtpPropertyGroup.java
30c918ce7fbe171944b28fc91b3f22b3d631872d 11-Nov-2011 Glenn Kasten <gkasten@google.com> Use final on new member variables

Use final for member fields initialized to a new and that are never modified.

Change-Id: I042352c7bc21879613e7a50b1205b6923f8083cf
edia/AmrInputStream.java
edia/AsyncPlayer.java
edia/AudioManager.java
edia/AudioRecord.java
edia/AudioService.java
edia/ExifInterface.java
edia/MediaFile.java
edia/MediaInserter.java
edia/MediaScanner.java
edia/MediaScannerConnection.java
edia/MiniThumbFile.java
edia/RemoteControlClient.java
edia/RingtoneManager.java
ca78f3d9aff78c35bc065b0c35a0b3c917f56435 27-Jan-2012 Marco Nelissen <marcone@google.com> Handle adding/removing/renaming nomedia paths

b/5849015
Change-Id: I3ec7419498d1ecc83db6d4605b3d7610349231f7
edia/MediaScanner.java
tp/MtpDatabase.java
11001c344a37ac515328133f46b80a2c92e61b6c 27-Jan-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Bug 5567648 disassociate audio mode and audio focus"
4dd3674e517051f130fef36d2eb201c68ff61094 24-Jan-2012 Jean-Michel Trivi <jmtrivi@google.com> Bug 5567648 disassociate audio mode and audio focus

Don't automatically change the audio focus when
the audio mode changes. This is best handled by the
applications that change the audio mode so they
can address their usecases as they please (for
instance to define the behavior when switching calls).
Replaced the implicit "mode to focus" behavior with
two methods to request and abandon audio focus. These
methods are only to be used by the framework, and maintain
the logic in AudioService to prevent other apps to request
audio focus during a call.
A susequent change will update com.android.internal.telephony.CallManager
to take advantage of these two methods.

Change-Id: If84ebd508e985083e8cac82ece44940c72b5c669
edia/AudioManager.java
edia/AudioService.java
c14639a9a1dfda34f828e2a6d774edfe5c3c6919 27-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_source_t consistently"
0f0fbd9441f40c6f99470b89774e397f99bf61eb 23-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_source_t consistently

Was a mix of audio_source_t, uint8_t, and int.

Related fixes:
- fix comments in MediaRecorder.java
- AudioPolicyService server side was not checking source parameter at
all, so if the client wrapper was bypassed, invalid values could be
passed into audio HAL
- JNI android_media_AudioRecord_setup was checking source for positive
values, but not negative values. This test is redundant, since already
checked at Java and now checked by AudioPolicyService also, but might
as well make it correct.

Change-Id: Ie5e25d646dcd59a86d7985aa46cfcb4a1ba64a4a
edia/MediaRecorder.java
a701da8ebabb3d63ac57b7718055698abb21804a 25-Jan-2012 Jean-Michel Trivi <jmtrivi@google.com> Update AudioTrack.stop() javadoc

Add more information on the behavior of
android.media.AudioTrack.stop()

Change-Id: Id0f968e6bb8fe38765a86c43fc065908ee84edf1
edia/AudioTrack.java
db8b292b6d83e360d944fd8342c82d8b7bd1facd 25-Jan-2012 Jason Simmons <jsimmons@google.com> Make AudioManager.adjustMasterVolume public and hidden

Change-Id: Ied4d07c2f67f24d1e1963f4ff30650042334d563
edia/AudioManager.java
ee7fea9f2fd536107450204c9c2058bbe215f713 18-Jan-2012 Glenn Kasten <gkasten@google.com> Remove dead setRingerMode(mode, mask)

Change-Id: Ia4cc8be8424a40b3dcb7ebd0264fdff4e5247f7f
edia/AudioSystem.java
9bc8358ddaa01c3490f9709991989633a6a3dd42 19-Nov-2011 Eric Laurent <elaurent@google.com> audio framework: manage stream volume per device

Improve volume management by keeping track of volume for each type
of device independently.
Volume for each stream (MUSIC, RINGTONE, VOICE_CALL...) is now maintained
per device.

The main changes are:
- AudioService now keeps tracks of stream volumes per device:
volume indexes are kept in a HashMap < device , index>.
active device is queried from policy manager when a volume change request
is received
initalization, mute and unmute happen on all device simultaneously
- Settings: suffixes is added to volume keys to store each device
volume independently.
- AudioSystem/AudioPolicyService/AudioPolicyInterface: added a device argument
to setStreamVolumeIndex() and getStreamVolumeIndex() to address each
device independently.
- AudioPolicyManagerBase: keep track of stream volumes for each device
and apply volume according to current device selection.

Change-Id: I61ef1c45caadca04d16363bca4140e0f81901b3f
edia/AudioService.java
edia/AudioSystem.java
881186c322a0aba2ab1d3860e434c253504bce0c 11-Jan-2012 John Grossman <johngro@google.com> Enhance Visualizer behavior in the case of mediaserver death.

Bring the Visualizer class into line with the SDK documentation by
returning ERROR_DEAD_OBJECT instead of ERROR_INVALID_OPERATION when
the Visualizer loses its binder connection to the mediaserver because
of a mediaserver restart.

Also add a new callback interface to allow clients to be
asynchronously notified in the case of server death. Right now, the
interface definition and the registration method are flagged as hidden
pending API council review/approval.

See http://b/issue?id=5717519 for details.

Change-Id: Id428fb946d6d7676bffd2a597366e8444ebe24f2
Signed-off-by: John Grossman <johngro@google.com>
edia/audiofx/Visualizer.java
595d76ee825c9953a995974072abe538022589f8 10-Jan-2012 John Grossman <johngro@google.com> Reuse callback buffers in the Visualizer.

Don't re-allocate buffers used by Visualizer callbacks as this causes an
unacceptable amount of GC thrash. Instead, lazily allocate the buffers and only
reallocate them when the required size changes.

See http://b/issue?id=5717519 for details.

Change-Id: I50458961992a64d9b3c46db7e5e8e6414a92228f
Signed-off-by: John Grossman <johngro@google.com>
edia/audiofx/Visualizer.java
6c4c15569674e6a5eda0565b501b600a50d4ca6e 26-Sep-2011 Sungsoo Lim <sungsoo@google.com> MediaScanner: Disable bulk insert for settings

Since the settings (notifications, ringtones, and alarms) request
rowId after inserting into DB, do not use bulk insert for them.
(Bulk insert does not return the rowId)

Change-Id: I8faf993f8ac2da96672594a1c92ddc917f964d6f
edia/MediaScanner.java
b282e08ab641d4fc74d0324b7a0ce30926638dd5 09-Jan-2012 Glenn Kasten <gkasten@google.com> Fix build

Change-Id: Ia140af1a61edf124ef3d48b60351f850a3475af1
edia/AudioTrack.java
5c17a820f9e46e0756c11795b3e6f89105f2f539 30-Nov-2011 Glenn Kasten <gkasten@google.com> Audio Java doc comment typos and minor changes

Change-Id: Id6ea6dccb8054c9f05db9a9c045387ce813659e6
edia/AudioFormat.java
edia/AudioService.java
edia/AudioSystem.java
edia/AudioTrack.java
13f94dc5bdea85608cb2f9bded4e390389d40c0c 09-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Fix race conditions related to ringer mode"
0b8afdac736fcbc0b2ef7f39264fe5077d88b996 06-Jan-2012 Mike Lockwood <lockwood@google.com> Restore persisted master volume if the media server restarts

Bug: 5755071

Change-Id: I6934276049b4a9d713bb4754aa3bb2cd3b898604
Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioService.java
18c6afa0c57074e08b8856dde306d3302834b1a9 06-Jan-2012 Marco Nelissen <marcone@google.com> Merge "Also accept non-parenthesized genre numbers"
ad35f9165e7f2641812a5069de9c3cd3fdd16923 06-Jan-2012 Marco Nelissen <marcone@google.com> Also accept non-parenthesized genre numbers

b/5790684

Change-Id: Ia13feebeaadd45d9196486c012538c5b80840163
edia/MediaScanner.java
d10a663be6e7f88fe855a0a9266af85f5a07d146 05-Jan-2012 Mike Lockwood <lockwood@google.com> Don't allow changing master volume when muted

Bug: 5793021

Change-Id: If93a41c4e61f1bc730759e77ee5b5f8165025c42
Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioService.java
399381868992c68abefa5dde62bfdc0a7e33e5e5 05-Jan-2012 Dongwon Kang <dwkang@google.com> ThumbnailUtils: To fix misuse of FileInputStream.

We need to close it explicitly after using it. Without this, fd will be closed
non-deterministically, and that will break the decode procedure.

Bug: 5808889
Change-Id: Icf9ff9abd6e327b122c6916df9750016b3d1b616
edia/ThumbnailUtils.java
afbb047c3945e9c2b7e9bc6b25098d5fb80bba4e 15-Dec-2011 Eric Laurent <elaurent@google.com> AudioService: simplified handler messages.

For historical reasons, messages to the AudioSystem
handler in AudioService have a complex identifier combining several information.
Messages for a particular stream contain the stream type as part of the message type.
This complexity is not needed as the stream messages also carry a reference to the
VolumeStreamState object which contains all necessary information, including the stream type.

Also grouped parameters of MSG_PERSIST_VOLUME message into a single bit field to make room for
further needs.

Change-Id: Ia27af626b3447541e8f9eaceba21389a824d88e2
edia/AudioService.java
c239379c0ce19bf1cbd8aaea9faacbbffeccb984 16-Dec-2011 Mike Lockwood <lockwood@google.com> AudioService: remove logging from adjustMasterVolume that was left in by mistake

Change-Id: I75c430d2c50c4cab3b6207efab5a6f11aed728d2
Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioService.java
f9113d311b33a14b324a02e3310185af582a7882 15-Dec-2011 Mike Lockwood <lockwood@google.com> Defer persisting master data to avoid excessive database writes

Bug: 5705192

Change-Id: I252bd72ff72ef4a40174d4597059e89691acb34f
Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioService.java
25adf474775acb3eea260cb0a6251cf43ff798ce 15-Dec-2011 Glenn Kasten <gkasten@google.com> Merge "Fix indentation and whitespace"
fb2ab9efc3805c81521afb9ff91a58ff5097a36e 12-Dec-2011 Glenn Kasten <gkasten@google.com> Fix indentation and whitespace

Use git diff -w to verify.

Change-Id: Ib65be0a1ecf65d6cad516110604e3855bf68a638
edia/AudioTrack.java
5bb8f80fc4a72ad70d7d38cdc9f7988edce476e4 24-Jul-2011 Glenn Kasten <gkasten@google.com> Fix typo in error message, missing space

Change-Id: Icdddbf2fddb81a1db538dd94fb25cf859e44bfbd
edia/audiofx/AudioEffect.java
b782e8d71e693984cc5236f1cf08e0c3c11a4050 13-Dec-2011 Joe Onorato <joeo@google.com> logging

Change-Id: I6fde5617365f479884937615e0d3f0f4ecc2dc14
edia/AudioManager.java
edia/AudioService.java
ba195ebc76f23b6679443724ab58c9dc9f2df884 13-Dec-2011 Glenn Kasten <gkasten@google.com> Fix race conditions related to ringer mode

Consistently protect all reads and writes of mRingerMode by mSettingsLock.

Change-Id: I72675ff9009880cc212616f0f79f809a28eb6bff
edia/AudioService.java
a8f4e8359531a2bbfd0ff7db86676937fdf20a65 07-Dec-2011 Mike Lockwood <lockwood@google.com> Remove reference counting and client death notification for master mute

The use case for master mute is to toggle it on and off from a
KEYCODE_VOLUME_MUTE event, so this was unnecessary and prevented unmuting
in certain cases

Bug: 5724755

Change-Id: I041a112cd39e1c00dcae27e2266a95ce225e9b64
Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioService.java
52cb1da2c6567be55274ef2d9035e29ae27a31aa 07-Dec-2011 Amith Yamasani <yamasani@google.com> am f3364080: Merge "New and improved silent mode on lockscreen." into ics-mr1

* commit 'f336408000c4be36045401fb4df89528249e7383':
New and improved silent mode on lockscreen.
ca402cdcacfdcd2978a22d59f446c93aad34c75e 07-Dec-2011 James Dong <jdong@google.com> Update onVideoSizeChanged() callback method Java doc to explicitly specify the conditions under which the width/height passed
to the callback could be 0.

Change-Id: Ie921f0af8284eccfd02c4a5826ed41fe19f9676f
related-to-bug: 5613451
edia/MediaPlayer.java
9c316f3c6ac785fd27be97a119dfe8f1303a8ed4 07-Dec-2011 Amith Yamasani <yamasani@google.com> am d49ec62c: am f3364080: Merge "New and improved silent mode on lockscreen." into ics-mr1

* commit 'd49ec62cfb0469c39f2b5d79cbf2a6f69cceb7d7':
New and improved silent mode on lockscreen.
6243edd818b84adfbe712d5d233d6414b33653ac 06-Dec-2011 Amith Yamasani <yamasani@google.com> New and improved silent mode on lockscreen.

3-state item to toggle between Silent/Vibrate/Ringer in long-press power menu.
No volume dialog on lockscreen, unless Power menu is up.

Set VIBRATE_IN_SILENT=1 when upgrading device.

Change-Id: I097d216f96c4abdbd83420e0c477106951b3607d
edia/AudioService.java
3309386a1b62095ab91b5efe4e8aa5dbd8ea5066 01-Dec-2011 Mike Lockwood <lockwood@google.com> AudioService: Send broadcasts when master volume and mute state change

Change-Id: I7eb5041f0c14f419317e29ea6fa7faa9159cf165
Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/AudioManager.java
edia/AudioService.java
89972657bd7fdd9def17fe75e2529865b2369722 03-Dec-2011 Amith Yamasani <yamasani@google.com> am f8dad0b3: am afd01086: Merge "Further volume improvements." into ics-mr1

* commit 'f8dad0b37d9aa2476ef3ab84b9f4a7a9f4c960e4':
Further volume improvements.
29f1c32eea12ab33547af73fb0e5dcf432e6979c 02-Dec-2011 Hong Teng <hongteng@google.com> am 5126f1d4: am 613ed4c6: Merge "Fixd for 5490443 Native crash while exporting a video - Add new onError callback to PreviewProgressListener, which is used to indicate video editor application for the error that has occurred during priviewing. With this modification,

* commit '5126f1d413b4fcb0aff5b364e1e5a41c89ca665c':
Fixd for 5490443 Native crash while exporting a video - Add new onError callback to PreviewProgressListener, which is used to indicate video editor application for the error that has occurred during priviewing. With this modification, the application must implement the onError method, and then VideoEditorPreviewTest.java is changed accordingly.
15cf022c702cd6cd75d8baa7dedc0368e4d4a86f 02-Dec-2011 Mike Lockwood <lockwood@google.com> am 1a3ece9f: Merge "MTP: Add support for restricting PTP to only certain subdirectories of the storage DO NOT MERGE" into ics-mr1

* commit '1a3ece9f871c94eb524543ae618a2a1c88cab2cd':
MTP: Add support for restricting PTP to only certain subdirectories of the storage DO NOT MERGE
7944c1b19f04583c595732695d63f333cd051eb4 01-Dec-2011 Mike Lockwood <lockwood@google.com> MTP: Add support for restricting PTP to only certain subdirectories of the storage DO NOT MERGE

Bug: 5527220

Change-Id: I81d6de590ea3002118ba46eb4b6d5fe9061c998c
Signed-off-by: Mike Lockwood <lockwood@google.com>
tp/MtpDatabase.java
54a796259055a633ec74afed0dce2327e5a86d51 02-Dec-2011 Amith Yamasani <yamasani@google.com> am afd01086: Merge "Further volume improvements." into ics-mr1

* commit 'afd01086795c7c1f6950a709180b2361625b8b6a':
Further volume improvements.
afd01086795c7c1f6950a709180b2361625b8b6a 02-Dec-2011 Amith Yamasani <yamasani@google.com> Merge "Further volume improvements." into ics-mr1
d62da2d0da976ea5590471c3b70ebf013e41ce8b 02-Dec-2011 Jean-Michel Trivi <jmtrivi@google.com> Remove unused variable and imports in AudioManager

Remove unused imports.
Remove private mHandler variable: it was assigned a new Handler
object but was never accessed.

Change-Id: I63cd08aa38701ea157fef7d3185a58a6e2a95822
edia/AudioManager.java
1109fe9d81294b1a2049aad7d2d70c4bf3f1e092 02-Dec-2011 Hong Teng <hongteng@google.com> am 613ed4c6: Merge "Fixd for 5490443 Native crash while exporting a video - Add new onError callback to PreviewProgressListener, which is used to indicate video editor application for the error that has occurred during priviewing. With this modification, the applicati

* commit '613ed4c69a53e6ffb1f104c7d45a0c6dd41c8eb0':
Fixd for 5490443 Native crash while exporting a video - Add new onError callback to PreviewProgressListener, which is used to indicate video editor application for the error that has occurred during priviewing. With this modification, the application must implement the onError method, and then VideoEditorPreviewTest.java is changed accordingly.
613ed4c69a53e6ffb1f104c7d45a0c6dd41c8eb0 02-Dec-2011 Hong Teng <hongteng@google.com> Merge "Fixd for 5490443 Native crash while exporting a video - Add new onError callback to PreviewProgressListener, which is used to indicate video editor application for the error that has occurred during priviewing. With this modification, the application must implement the onError method, and then VideoEditorPreviewTest.java is changed accordingly." into ics-mr1
6a5c1a9574e857a80c8e4ca13f3b5f0439d331c9 02-Dec-2011 Mike Lockwood <lockwood@google.com> Merge "MTP: Add support for restricting PTP to only certain subdirectories of the storage"
73e56d935e7c9b8a06e4781c4995e407e118f93d 01-Dec-2011 Mike Lockwood <lockwood@google.com> MTP: Add support for restricting PTP to only certain subdirectories of the storage

Bug: 5527220

Change-Id: If68e7481617ecb62abd24e2d89e6b7dfdf95ba2b
Signed-off-by: Mike Lockwood <lockwood@google.com>
tp/MtpDatabase.java
ee07e110d92005f9dbd317a23721d9b7c9a5ed37 02-Dec-2011 Eric Laurent <elaurent@google.com> am 6cfa9e6c: am 0d3a2e93: Merge "AudioService: strengthen A2DP device detection" into ics-mr1

* commit '6cfa9e6c507a721f647518569c89db9560056079':
AudioService: strengthen A2DP device detection
c1f069bb40f45b38684997fcfceb35be6e037665 02-Dec-2011 Eric Laurent <elaurent@google.com> am 0d3a2e93: Merge "AudioService: strengthen A2DP device detection" into ics-mr1

* commit '0d3a2e93394efa4729e5c29ff4515f9f2644b8c3':
AudioService: strengthen A2DP device detection
2ef6f1bb5603c2e221191117695725237f49a5d5 01-Dec-2011 Amith Yamasani <yamasani@google.com> Further volume improvements.

- Remove silent mode from Power menu
- Show volume dialog on lockscreen
- Allow beeps when adjusting volume in lockscreen

Bug: 5586083
Change-Id: I93052a8ec5004c784f20e04488af9382d495e711
edia/AudioService.java
63149c81adf79f43c6508647614247277f8052e2 01-Dec-2011 Hong Teng <hongteng@google.com> Fixd for 5490443 Native crash while exporting a video
- Add new onError callback to PreviewProgressListener, which is
used to indicate video editor application for the error that has occurred during
priviewing.
With this modification, the application must implement the onError method,
and then VideoEditorPreviewTest.java is changed accordingly.

Change-Id: I15610b8907fcf8bd35a3c69ad7c07b5175a6e309
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/VideoEditor.java
6bc7f2cd30b6bd90806942b0722e22daa2108493 30-Nov-2011 Eric Laurent <elaurent@google.com> AudioService: strengthen A2DP device detection

If the intent BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED is broadcast
before AudioService is started, The A2DP device connection is never detected
by the audio framework resulting in audio not being routed to A2DP unless the device
is rebooted or the A2DP headset reconnected.

Make sure that A2DP device connection state is sampled when
boot completed event is received.

Issue 5665159

Change-Id: I04d82020afc00af28c5ea0bb9879ed55bcc9b6f3
edia/AudioService.java
55cadf7eca8dffa981054d3521fd279fefe9b6f4 22-Nov-2011 dujin.cha <dujin.cha@samsung.com> am 4d592c59: am eabde3d4: am fe464a76: [Prime K] Fix gabage character issue

* commit '4d592c59e684ed3e6f0db4b05c37ba8774b8d410':
[Prime K] Fix gabage character issue
b31783b1429ebce7cc65d655df97c78c75fa17d7 22-Nov-2011 dujin.cha <dujin.cha@samsung.com> am eabde3d4: am fe464a76: [Prime K] Fix gabage character issue

* commit 'eabde3d4a9027a19443a31c7c7cda3d44fb0ffe0':
[Prime K] Fix gabage character issue
eabde3d4a9027a19443a31c7c7cda3d44fb0ffe0 22-Nov-2011 dujin.cha <dujin.cha@samsung.com> am fe464a76: [Prime K] Fix gabage character issue

* commit 'fe464a76d8fc858be971dbb5e67b1d22fd925347':
[Prime K] Fix gabage character issue
fe464a76d8fc858be971dbb5e67b1d22fd925347 21-Nov-2011 dujin.cha <dujin.cha@samsung.com> [Prime K] Fix gabage character issue

Korean characters show up as gabage characters in Music player.
Reason : MTP service does not set the locale for the MediaScanner
Solution : Set locale when MtpDatabase creates MediaScanner.

Bug ID : 5567433
Signed-off-by: dujin.cha <dujin.cha@samsung.com>

Change-Id: I4bfe5f603c113170d45bd57a8709c21c665e260b
tp/MtpDatabase.java
b0e6d4f87fc727469af6d0fc76420e989304872c 16-Nov-2011 Mike Lockwood <lockwood@android.com> Merge "AudioManager: Add wrapper methods for master volume support" into ics-aah
c614df96507229eda13c029176ecc8f424a9854b 16-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: Add wrapper methods for master volume support

Change-Id: Ibfc24f052d05824175f71c2138ba041c94c3def7
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/AudioManager.java
47a0a8832f819b3b55c503aa787d615f036b7100 16-Nov-2011 Mike Lockwood <lockwood@android.com> Merge "AudioManager: Add support for master mute" into ics-aah
0e7d85fa93a5f5975b437277439b3c65f86cf275 16-Nov-2011 James Dong <jdong@google.com> am 4e72e2bf: am 4fdc36e6: Merge "Document that release() should be called with onPause() and onStop() for media objects" into ics-mr1

* commit '4e72e2bfc24afe053ca98c6de2591a4057cfd9fa':
Document that release() should be called with onPause() and onStop() for media objects
541e2e6695a7a332c9e1dc0785fb2bd5d2926fc0 16-Nov-2011 James Dong <jdong@google.com> am 4fdc36e6: Merge "Document that release() should be called with onPause() and onStop() for media objects" into ics-mr1

* commit '4fdc36e6d6003cdce911678f0b233697554f8dbf':
Document that release() should be called with onPause() and onStop() for media objects
4fdc36e6d6003cdce911678f0b233697554f8dbf 16-Nov-2011 James Dong <jdong@google.com> Merge "Document that release() should be called with onPause() and onStop() for media objects" into ics-mr1
29270da5f7dee7e81b9d69446c7d2030aea6ff74 16-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> am 4978c1a5: am 0ddb0143: Merge "Fix 5623252 unlink to death of audio focus client early" into ics-mr1

* commit '4978c1a5b07782d622ca9e3eedd649a5927d226f':
Fix 5623252 unlink to death of audio focus client early
08b2d32628d6c6230493dfcfdeafa219248f2ee5 16-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> am 0ddb0143: Merge "Fix 5623252 unlink to death of audio focus client early" into ics-mr1

* commit '0ddb0143895b816d4ff5c174b346390e07f26556':
Fix 5623252 unlink to death of audio focus client early
89ca6983eb2be21848f5ac884a2c118f152c83e6 15-Nov-2011 James Dong <jdong@google.com> Document that release() should be called with onPause() and onStop() for media objects

Change-Id: I12dd734b4314df4f0573ad56a1714348e50da05e
related-to-bug: 5616833
edia/MediaPlayer.java
edia/MediaRecorder.java
e7edc868538e83152e7bc35c830fee0d629baefc 16-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix 5623252 unlink to death of audio focus client early

When removing an entry in the audio focus stack, don't wait for
this object's finalizer to unlink to the death of the associated
client, and unlink right away.
The FocusStackEntry.unlinkToDeath() method is made safe to call
by catching the exception it can throw inside its body.

Change-Id: Id347a933d72dcb41531adff2854fb00277032cc9
edia/AudioService.java
eb80b31b5548650675c078ccfffc3091402a9382 15-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> am 87597d9c: am 538dc6ac: Merge "Fix 5615747 Don\'t leak remote control client death handlers" into ics-mr1

* commit '87597d9ce00691f05703f728c17548df2bbc9cc2':
Fix 5615747 Don't leak remote control client death handlers
cfbcd3bf21c8453e9afd7740fdb7fc272c362389 14-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: Add support for master mute

Change-Id: I98e87d1e266e0523c4aacb23cc5c4b3fdc7a1eac
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
0dba46f9b295ad1ec1cbeda0fd28d90624028816 15-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> am 538dc6ac: Merge "Fix 5615747 Don\'t leak remote control client death handlers" into ics-mr1

* commit '538dc6acfd14ea59f0b294531f9417ca04ca621f':
Fix 5615747 Don't leak remote control client death handlers
a9509736c85c19fe4ad4ba97a0545f0422a3dfc1 15-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix 5615747 Don't leak remote control client death handlers

Whenever a remote control stack entry is GC'd or removed from
the stack, unlink its death handler.

Change-Id: Ia4ed6667351849fd388272591e24ffc16959beaf
edia/AudioService.java
f1ec32db686586eddd023583e1c5978005c06d58 14-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> am 9d36a995: am 258576a8: Merge "Fix 5607938 AudioFocusDeathHandler leaks GREF" into ics-mr1

* commit '9d36a99582518ed1a7fb005382e0128479b43e18':
Fix 5607938 AudioFocusDeathHandler leaks GREF
09d936feb886502c5dd78497dc0c5fd578751a9d 14-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> am 258576a8: Merge "Fix 5607938 AudioFocusDeathHandler leaks GREF" into ics-mr1

* commit '258576a82c2293c3a988bf2dc6744fd8082421f9':
Fix 5607938 AudioFocusDeathHandler leaks GREF
527c44e8a455dd0fdef1aeb6d7d8f99bb0839295 14-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Don't check return value of new for being == null"
de1f065be109e1c313d8330c8e34210fedaac74e 12-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix 5607938 AudioFocusDeathHandler leaks GREF

The AudioFocus death handler was correctly updating the audio
focus stack when an audio focus client dies, but the death handler
was leaking GREF if unlinkToDeath() is not called.
The fix consists in making sure unlinkToDeath() is always called
by calling it in its finalizer.

Change-Id: I0c5343b4986ab582cadbf171fc53816952dc16f5
edia/AudioService.java
0997fcb6db8789057b8840e02b9fb55d0791fdd8 11-Nov-2011 James Dong <jdong@google.com> am b7a000a6: Merge "Unhide the key to retriever location information in 3gp/mp4 files" into ics-mr1

* commit 'b7a000a6fb84ae75847e730332bae62ba1234999':
Unhide the key to retriever location information in 3gp/mp4 files
d9245e17dc97efb06ac4b26bd1dbfd97f87208d9 11-Nov-2011 James Dong <jdong@google.com> am 08e42967: Merge "Add support for retrieving location information in mp4/3gpp files" into ics-mr1

* commit '08e42967b9e459b7beb22e859f1f1eba0546741b':
Add support for retrieving location information in mp4/3gpp files
62b9aec7a0a4e1cf8cfec7e39ea3103ab510d72e 07-Nov-2011 Glenn Kasten <gkasten@google.com> Don't check return value of new for being == null

new either succeeds or throws an exception

Change-Id: I1615e10c4f6730495c49e56b64714a00141ea8ff
edia/AudioService.java
edia/SoundPool.java
edia/ThumbnailUtils.java
00aa51b355d2b9ae7604fe4c43f6e64193422dba 10-Nov-2011 James Dong <jdong@google.com> Unhide the key to retriever location information in 3gp/mp4 files

Change-Id: I71c651b403955c0f6f8df096e995a5f5f4e39130
related-to-bug: 5560253
edia/MediaMetadataRetriever.java
77c500c9a1f763b31fb5a03c803b3523fcb72310 09-Nov-2011 James Dong <jdong@google.com> Add support for retrieving location information in mp4/3gpp files

Change-Id: Ib8427704ef9ee5a4fa8fe1818c8a62d77b4ea687
related-to-bug: 5560253
edia/MediaMetadataRetriever.java
43f7bbdfbb26f9938e74558f2c1bf2260ec50fdf 10-Nov-2011 Eric Laurent <elaurent@google.com> am 7c61fa70: Merge "Fix problems in tablet silent mode." into ics-mr1

* commit '7c61fa70a50e15466f807dd194e530bc4fd3a96a':
Fix problems in tablet silent mode.
96a33d1caad2fab0bc28891cfbf553f4b050bf0b 08-Nov-2011 Eric Laurent <elaurent@google.com> Fix problems in tablet silent mode.

Do not enter silent mode when ALARM stream volume is changed
to 0 by volume down key: Only RING, NOTIFICATION and MUSIC
streams control silent mode.

Report correct volume (0) for NOTIFICATION stream when silent mode
is entered by changing NOTIFICATION stream volume to 0 with
volume down key.

Change-Id: I3e0816dfae40bc127cc30cca02cdca6ec19e30a4
edia/AudioService.java
a2aa08e20cb4f1e302bb7ae05882cd1be8cfa0d2 08-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: transparently convert volume settings for other streams to master volume if config_useMasterVolume is set.

This allows Music2 and other media apps to control master volume without changing their code

Bug: 5567694

Change-Id: I48b6260b193b22c395be5a31cd1d270b2929a91e
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
e271031f5b2da73bf8b7f9f43658a9f2df29b382 08-Nov-2011 Chih-Chung Chang <chihchung@google.com> am 713c9a33: Merge "Fix 5509346: Resize the thumbnails if it\'s too large." into ics-mr1

* commit '713c9a331e226c970af57c59ff17be29b73025c1':
Fix 5509346: Resize the thumbnails if it's too large.
b1224ff1c4ef8324c9d76b857463787aabd84707 07-Nov-2011 Chih-Chung Chang <chihchung@google.com> Fix 5509346: Resize the thumbnails if it's too large.

Change-Id: I805f37f22cc745cfbc788f594da704e7e634f122
edia/videoeditor/MediaImageItem.java
4528548a06224382ee4c9cb575c8b10ae9f02f1e 01-Nov-2011 Eric Laurent <elaurent@google.com> am cd84197a: am 6e91e5b6: Merge "Fix volume indication in vibrate mode." into ics-mr0

* commit 'cd84197ac1226432de2e13c8fd678a4c88511e0f':
Fix volume indication in vibrate mode.
cd84197ac1226432de2e13c8fd678a4c88511e0f 01-Nov-2011 Eric Laurent <elaurent@google.com> am 6e91e5b6: Merge "Fix volume indication in vibrate mode." into ics-mr0

* commit '6e91e5b689a3eb8e6a6f3c038322b8044a9d6670':
Fix volume indication in vibrate mode.
8ca9a1cf350bde9a429b8a6fe7c673b964048a54 31-Oct-2011 Eric Laurent <elaurent@google.com> Fix volume indication in vibrate mode.

The latest change in silent/vibrate mode selection via volume keys
was such that ringtone volume was not showing 0 when entering vibrate mode
by continuous press on vol down.

Issue 5530217.

Change-Id: I9ba817648e5dca40e0d19f5f606d7763ae61b1c6
edia/AudioService.java
92537e6ff21d4b20738fae851c2174ea568eb843 31-Oct-2011 Ed Heyl <ed@google.com> merged by hand (services/java/com/android/server/PowerManagerService.java needs to be reviewed)

Change-Id: I86d1111d86cd1646ebc8a88d58aa393089e9f928
18936d7d1d0964ba3f5112c5e3ce60f31e1ba5bb 30-Oct-2011 Amith Yamasani <yamasani@google.com> am 69e640ee: Merge "Bring back the old-style Ring/Vibrate/Silent states when using volume keys." into ics-mr0

* commit '69e640ee84fc218d6318acaf73a1c1841d7fba6b':
Bring back the old-style Ring/Vibrate/Silent states when using volume keys.
74b2b9547329a0b05e0bd5701057696007b854bb 29-Oct-2011 Joe Fernandez <joefernandez@google.com> am 09848bc8: Merge "docs: add developer guide cross references, Project ACRE, round 3" into ics-mr0

* commit '09848bc89de999416e2de82a7693b2deec6bf802':
docs: add developer guide cross references, Project ACRE, round 3
69e640ee84fc218d6318acaf73a1c1841d7fba6b 29-Oct-2011 Amith Yamasani <yamasani@google.com> Merge "Bring back the old-style Ring/Vibrate/Silent states when using volume keys." into ics-mr0
c696a53d1fe4d61373c5dc64dd057d322da90c8f 29-Oct-2011 Amith Yamasani <yamasani@google.com> Bring back the old-style Ring/Vibrate/Silent states when using volume keys.

In order to completely mute the ringer (no vibrate), introduce an extra
state beyond mute, which mutes the vibrator as well, if it was enabled.

Bug: 5530217

Change-Id: Ib1f299ee6bbca56c1aa7e1100662591362d08307
edia/AudioService.java
61fd1e8d8c3ccf2d6b7d4af1c19e8f0988d5a1ec 26-Oct-2011 Joe Fernandez <joefernandez@google.com> docs: add developer guide cross references, Project ACRE, round 3

Change-Id: I6125315ecdf0f78dd947c514a9944729d723e95d
edia/JetPlayer.java
edia/MediaPlayer.java
edia/MediaRecorder.java
5020e7e2d37865da862846b97d9959e83244a35e 27-Oct-2011 Mike Lockwood <lockwood@android.com> VolumePanel: Add support for master volume

Change-Id: I3119eb2b7d3b5e7ce87f1660b50c10ab79c7bbdf
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
619f06444bc828c6cf5c3fa4f4a309c9497dab45 25-Oct-2011 Mike Lockwood <lockwood@android.com> Save and restore master volume in the settings provider

Change-Id: I135c48155c41735c870e3934469c47f05bd74973
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/AudioService.java
dff25597a9a862143c69e70e6ed86790538c23c1 25-Oct-2011 Mike Lockwood <lockwood@android.com> Simple master volume support

Still needs integration with Settings (for persistence) and VolumePanel UI.

Change-Id: I9eca92c4b1ef2df2564411006a35753ab9618dce
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/AudioManager.java
edia/AudioService.java
edia/AudioSystem.java
edia/IAudioService.aidl
33fe290ca33235d7e0988cace14de3319a9a83f1 27-Oct-2011 James Dong <jdong@google.com> Unhide QVGA related resolution profiles and allow to use QVGA resolution for timelapse video recording.

Change-Id: I328d9fa83a381415d7648218a6fb93b3724bbcc6
related-to-bug: 5343832
edia/CamcorderProfile.java
edia/MediaRecorder.java
e68a6936c7b3d3a041feeff9661b234a25e56e73 19-Oct-2011 Marco Nelissen <marcone@google.com> Merge "Refactor FileInserter in MediaScanner and adding unit tests for the newly added class."
46c8f1535a884a77137c294cad94f811a33f07aa 18-Oct-2011 Eric Laurent <elaurent@google.com> am c0a87dc1: Merge "Fix issue 5462427: Volume should never be 0 ..." into ics-mr0

* commit 'c0a87dc10cc74918518457e96b48f16bcc0ea2cd':
Fix issue 5462427: Volume should never be 0 ...
b024c30a80684ac08daef3137b7ba0d347fe3ce5 15-Oct-2011 Eric Laurent <elaurent@google.com> Fix issue 5462427: Volume should never be 0 ...

Make sure that ring or notification volume index
never reaches 0 unless in silent mode.
Conversely, enter silent mode when this volume is set to 0.

Change-Id: Iff5e5e972b607f4736e7a704b26b2dadb40074b0
edia/AudioService.java
e04783ccde79730f239d739ad515224245683f22 14-Oct-2011 Eric Laurent <elaurent@google.com> am 615858a8: Merge "Indicate screen off condition to audio framework." into ics-mr0

* commit '615858a8ebb12b3541fd709e6e965ac814880261':
Indicate screen off condition to audio framework.
950e8cb40a6d826af4cc2eef9d3908c1b70486e6 13-Oct-2011 Eric Laurent <elaurent@google.com> Indicate screen off condition to audio framework.

Add a mechanism for AudioService to notify audio framework and audio HAL
that screen is turned on or off. This indication can be used by lower
audio layers to trigger low power audio playback mode.
Current implementaiton based on setParameters() method is experimental
and will be replaced by a different interface when ready.

Change-Id: Ie72ada0a8edec3d71b47681b9f51cb5bc839d45b
edia/AudioService.java
414b74c564d29da933a650d5193bb2152b704c06 14-Oct-2011 Jean-Michel Trivi <jmtrivi@google.com> am e48440d5: Merge "Fix 5153611 remove remote control client/display log from AudioService" into ics-mr0

* commit 'e48440d59a52c0f13166da2fd32023356d9215d9':
Fix 5153611 remove remote control client/display log from AudioService
7ff866e8cf43afc64111e98863dab549b57447b4 14-Oct-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix 5153611 remove remote control client/display log from AudioService

Do not log debug messages for the RemoteControlClient and
IRemoteControlDisplay related features.

Change-Id: I81bfeec1770f81b78b679dc03fb40806393b170a
edia/AudioService.java
0eb6ef1798362d15696618debdb2478b386398c5 13-Oct-2011 Andreas Huber <andih@google.com> Merge "Support for an MPEG2 Program Stream extractor."
09b4d99822678e57ba6ed1568832980ba64be330 11-Oct-2011 Jean-Michel Trivi <jmtrivi@google.com> DO NOT MERGE Fix 5389442 RemoteControlClient javadoc

Extend RemoteControlClient class description with an example
of instance creation showing how the PendingIntent is created
and how it uses the same ComponentName as the one used
in AudioManager.registerMediaButtonEventReceiver()

Change-Id: I1af61ddbf5cfb9160ea5b814bed7b881d51b7eff
edia/RemoteControlClient.java
ad87f5b40f2a3fd2d506dc15e00b8af28a8fa2ba 11-Oct-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix 5389442 RemoteControlClient javadoc

Extend RemoteControlClient class description with an example
of instance creation showing how the PendingIntent is created
and how it uses the same ComponentName as the one used
in AudioManager.registerMediaButtonEventReceiver()

Change-Id: If8f050f94b112f9680ba6bf32ba622bc648fb1d0
edia/RemoteControlClient.java
8e2ed8d512ade2ea481b3a292556782b17a74674 11-Oct-2011 Dongwon Kang <dwkang@google.com> Refactor FileInserter in MediaScanner and adding unit tests for the newly added class.

Change-Id: Ia0e8c95239916fd4c21cb5bf10ac94201e6eb6f1
edia/MediaInserter.java
edia/MediaScanner.java
f58ba6506959947d2e646833789c859ae50e6767 10-Oct-2011 James Dong <jdong@google.com> Support AMR as a file type so that it can be imported into movie studio

Change-Id: I3fc4f49ae0a210f53b1bab68716f4e558b3d91c5
related-to-bug: 5419452
edia/videoeditor/AudioTrack.java
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/MediaProperties.java
bc554956128d69d8d2e60365fb6cffe6facf659b 08-Sep-2011 Andreas Huber <andih@google.com> Support for an MPEG2 Program Stream extractor.

Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
edia/MediaFile.java
b741c604861ddbafcacaa452e31bd19337a19705 30-Sep-2011 Marco Nelissen <marcone@google.com> Remove Ringtone.setWakeMode, it's not needed.

This partially reverts commit e47e8520fa48bd014287eda94ea39927de73d6bc.
(the other part of that change was already removed as part of a different
change)

Change-Id: Ica7c196ab1f74f96237e64d07580832f0d50022f
edia/Ringtone.java
d94a7b60ccbd748752d4babd9fc79252c71bb1c2 29-Sep-2011 Marco Nelissen <marcone@google.com> Merge "Release MediaPlayer before letting it go out of scope."
e1bd048cf2af24cbd93e549875c875239e5f4829 29-Sep-2011 Marco Nelissen <marcone@google.com> Release MediaPlayer before letting it go out of scope.

Change-Id: Ib2b727146f6cba91b131e66d218251f5a3206fac
edia/Ringtone.java
26b3d1ff38998c7cb80a2950da0589ebd8510897 28-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 5357295 NPE on display when remote control client dies

When a IRemoteControlClient dies, that client is set to null
in the stack of remote control entries (mRCStack). This is done
by calling registerRemoteControlClient() with a null client.
The bug is that registerRemoteControlClient(), after storing
the new client, uses it to let it know what the current
remote control display is. When that display is non null, the
client is sent the current display. So when a client died
when there was a display, the client reference was accessed
in the part of the method where we haven't yet checked whether
it is null or not.
The fix consists in moving the setting of the display on the
client (method plugRemoteControlDisplay) only after having
checked that the client is non-null.

Change-Id: Ic74d6cba9e3a3a16e78cd80a1ae5901abfeb3905
edia/AudioService.java
e47e8520fa48bd014287eda94ea39927de73d6bc 21-Sep-2011 Dianne Hackborn <hackbod@google.com> Keyguard sound needs to hold wake lock.

We need to hold a wakelock while playing the keyguard lock sound,
so that it actually completes before the CPU goes to sleep.

Change-Id: I144c345383afeb911ea461b2eb17b31183b6d092
edia/Ringtone.java
eb060254a0b7aa42ab05ed6539156c3084ec1908 21-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> am 9c43016b: Merge "Bug 5045498 Keep track of RemoteControlClient play state change time" into ics-factoryrom

* commit '9c43016b52afa855156aac2dc81a2bbe1e4ab436':
Bug 5045498 Keep track of RemoteControlClient play state change time
28b9a063ad359d186cf69b235c5592eb308d2ac4 21-Sep-2011 Marco Nelissen <marcone@google.com> Merge "MediaScanner: To query row ids of music files when handling playlists."
68622396b62f9084781add1e12f4d513b633ab54 19-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5045498 Keep track of RemoteControlClient play state change time

Store the time at which a RemoteControlClient changes it playback
state, and send that time to the IRemoteControlDisplay.
This change will enable displays to implement strategies such as
timeouts (e.g. to not display transport controls for clients which have
been paused or stopped for a certain amount of time).

Change-Id: I902882500565743d455d56f6000efaf612cbe0a9
edia/IRemoteControlDisplay.aidl
edia/RemoteControlClient.java
ed4cfe70ca165b6469d2c9fb1b5296afdff1faae 20-Sep-2011 Chih-Chung Chang <chihchung@google.com> Merge "Fix 5224359: Add width and height to media store."
e1bf8efaff42dc33b7a4663f3c9d50d12de81bcb 20-Sep-2011 Chih-Chung Chang <chihchung@google.com> Fix 5224359: Add width and height to media store.

Change-Id: I27376285a551e648eb0ea010dfdf6b8ed873cdd8
edia/MediaScanner.java
92d0a64b909cd95e8f4ce587438b0cc6d2daeaa0 20-Sep-2011 James Dong <jdong@google.com> Merge "Add QVGA resolution to CamcorderProfile" into ics-factoryrom
07b9ae33127212fd9e15f96fa89b7d4cab81e55e 20-Sep-2011 James Dong <jdong@google.com> Add QVGA resolution to CamcorderProfile

Change-Id: Icebbafb68d8164370f98a2c36699845d10ef081b
related-to-bug: 5145483
edia/CamcorderProfile.java
f0cff0456258478ba768097f73d4367ab67fd7a3 15-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5300223 RemoteControlClient uses PendingIntent for media button events

Update the implementation of the RemoteControlClient / Display
feature rely on PendingIntent as provided in the construction
of the RemoteControlClient instance.
The ComponentName that describes the target of the media button
events is set as the target of the Intent from which
a PendingIntent is constructed.
This ComponentName is still saved in the stack for persisting
the last media button event receiver.

This CL also updates the lockscreen IRemoteControlDisplay
implementation to use the PendingIntent supplied by the
application when sending transport control events. A (good)
side effect of doing this is that intent will be directly
targeted at the application.

Restoration of the media button event receiver
after reboot is not fully functional yet.

Change-Id: I2be82f2839e9dee1de02512437b3fb41cc386cde
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
edia/IRemoteControlDisplay.aidl
edia/RemoteControlClient.java
34d0d300cac645b48cce5a1735f45e1102d4ef0e 16-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 5327199 Recycle bitmaps in RemoteControlClient

When applying the new bitmap from the editor to the client,
recycle the old bitmap, and set the reference to the editor
bitmap to null.

Change-Id: I7d79e4b8410e5035fa51b20be4b1ada391c84c28
edia/RemoteControlClient.java
16066ec591d05830a925b34f966f8c552a81ca70 14-Sep-2011 Eric Laurent <elaurent@google.com> Merge "Issue 5044873: Pb with BT SCO AudioManager API"
e83f771f0ab8e1e72e1fd2147085223ac8a00ba2 14-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Bug 5300223 RemoteControlClient uses PendingIntent"
d7454be47f4111c0478a502353e11dea401378bd 14-Sep-2011 Eric Laurent <elaurent@google.com> Issue 5044873: Pb with BT SCO AudioManager API

Do not identify the SCO connection client by the binder interface
passed when starting the connection as this binder changes if the
AudioManager proxy changes. Use the client PID instead.

This solves an issue with gTalk starting a SCO connection from one
AudioManager proxy and then changing audio mode from another thus
terminating the previously started SCO connection.

Change-Id: Ia3067fecc551fc15df3bf75ce0c43d181859e4f0
edia/AudioService.java
6e920e6dac11c3ebf6c0c19402934834e9e491bf 14-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5300223 RemoteControlClient uses PendingIntent

API change so RemoteControlClient is given a PendingIntent in
its constructor, which will be used for receiving media button
events from remote controls.
Leave the old constructors (but hidden) to not break
current functionality until the AudioManager and AudioService
implementations have been updated.

Change-Id: Ifa12c8036c948931adc386a827dce2936788e1cd
edia/RemoteControlClient.java
48c5fb14933cba4dcf6ba401b895e59bac4a8420 13-Sep-2011 Dianne Hackborn <hackbod@google.com> API review: Metadata class not used.

The Metadata class doesn't actually seem to be used with anything
in the SDK, and the API probably needs some work, so hide it.

Change-Id: Ifecf49130b90cbb4c588ad8104f1e7957978f789
edia/Metadata.java
02ea7d48773210fa0f29299269aca26b3201b1d0 09-Sep-2011 Marco Nelissen <marcone@google.com> Merge "Fix bug 5045498 Unhide Remote Control Client API"
ebf6478f557c20fc1c23f9537fcdc3f3c66decb4 09-Sep-2011 Eric Laurent <elaurent@google.com> Merge "Fix issue 4673378: switching from VoIP to GSM call"
9f103de83f2d5d472960dcf1401e95b2ab57a477 09-Sep-2011 Eric Laurent <elaurent@google.com> Fix issue 4673378: switching from VoIP to GSM call

The problem is that any app can change the audio mode and override
a mode previously set by another app. If two apps (gTalk and Phone) compete
for audio mode ownership, there is no mechanism to maintain coherency
in the actual audio mode selected.

Added a mechanism in AudioService to manage an audio mode request stack.
Any app requesting a mode different from NORMAL enters at the top of the stack
and the requested mode is applied. When an app sets mode back to NORMAL, it exits
the stack and the new mode corresponding to the request at the top of the
stack (if any) is applied.

Change-Id: I68d1755d0922f680df4a19bfc5ab924f5a5d8ccd
edia/AudioService.java
70ad1c378bce097f9f2dbb79cb8d5d225d4c14d7 08-Sep-2011 Chih-Chung Chang <chihchung@google.com> Merge "Fix 5156702: rotate thumbnails"
7d92a22d9dec42a45cd55fd77d0a86b4b9c6e9df 18-Aug-2011 Dongwon Kang <dwkang@google.com> MediaScanner: To query row ids of music files when handling playlists.

Change-Id: I3c2a803618bfdaf4915f2487669952d5e3b4dd32
edia/MediaScanner.java
47a52158d2df0eb818bf7d589d8ff9fd5c0daaa3 07-Sep-2011 Chih-Chung Chang <chihchung@google.com> Fix 5156702: rotate thumbnails

Change-Id: I97b51dadf129172d5b154e9dfd66da254e4559d7
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/VideoEditorImpl.java
671db6f3ba1fdb3c907e0735fe6d0d284f5c34de 07-Sep-2011 Marco Nelissen <marcone@google.com> Fix startBluetoothSco race

Change-Id: I8b711bd3c6b12f2e3e92144c0dadac72261bf914
edia/AudioService.java
2e6f49cc810ea8c4a23d88fdeb24267a18085556 05-Sep-2011 Jamie Gennis <jgennis@google.com> Merge "MediaPlayer: remove the setTexture method"
09bb20b5f6072f3202c4bfd7db9b557e05547c3b 05-Sep-2011 Chih-Chung Chang <chihchung@google.com> Merge "Fix 5240036: Generate a reasonable bitrate for intermediate clips."
dca56b9432e2cc851d1a58920071fed2e1e3d142 02-Sep-2011 Eric Laurent <elaurent@google.com> Fix issue 5252593: any app can restart the runtime

Replace null device address string by empty sting.

Change-Id: I285c35f3345334e6d2190493b1a8a5aca1a361a4
edia/AudioService.java
83fb94d188e18a44458f903ff4baa6e8402a31ce 29-Aug-2011 Jamie Gennis <jgennis@google.com> MediaPlayer: remove the setTexture method

This change removes the MediaPlayer#setTexture method. It has been
replaced with MediaPlayer#setSurface.

Change-Id: Iaecbbac7629d7092883f270694c5c67391f4ed6c
edia/MediaPlayer.java
fc301b0bb5c635c6bb51b48c504a8db5f9010e5c 30-Aug-2011 Dave Burke <daveburke@google.com> Require INTERNET permission for network-based content.
Bug #1870981

Change-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f
edia/MediaPlayer.java
8b1f35099331746599298bda151eac56b041b746 02-Sep-2011 Chih-Chung Chang <chihchung@google.com> Fix 5240036: Generate a reasonable bitrate for intermediate clips.

Change-Id: I96bf9a7d0e2ce78fd19cce7bccbd4ac318748709
edia/videoeditor/MediaArtistNativeHelper.java
466ade5ad66e7bfb1814d5e5ac76a17f8a0bcd3a 01-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 5045498 Unhide Remote Control Client API

The RemoteControlClient API enables media application to have
information such as album art, current song, playback state
be displayed on "remote control displays", as well as be
controlled by "remote controls".
The new API consists in:
- a new class, RemoteControlClient
- new methods in AudioManager to register a RemoteControlClient
- a new class, RemoteControlClient.MetadataEditor to edit and
apply the information associated with a RemoteControlClient,
and which will be displayed on a "remote control display"

Change-Id: I5616085e4ad58ce0bbc1a5953b0a5a28d32f8703
edia/AudioManager.java
edia/RemoteControlClient.java
a6ec356d2f5d2829fd8eff315a37f49501eac842 01-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix 5243349 RemoteControlDisplay incorrectly updated"
b716f0b7b2d8e4b045843fc6a7004910eb344c19 01-Sep-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix 5243349 RemoteControlDisplay incorrectly updated

This fixes a case where the RCD would display transport control
for a RemoteControlClient that didn't have audio focus.
This was happening because registering an RCD was directly calling
the updateRemoteControlDisplay method, without first calling
the checkUpdateRemoteControlDisplay method which verifies the
conditions before updating the display. One of those conditions
is that the audio focus stack shouldn't be empty.

To verify this fix, several functions were also rename to clearly
indicate the lock order and verify we properly synchronize on
the right objects. In doing so, a missing synchronization on
audio focus was found.

Change-Id: If1baaac224ea676aeb83ac0aefcc53f87461c32e
edia/AudioService.java
270bcaa9d1b7e6cef723532692d82bb231ac7137 01-Sep-2011 Rajneesh Chowdury <rajneeshc@google.com> Merge "Fix for 5156702 Rotate video output for thumbnails and export"
16b241a58f1ec4b317647b6fd0ad9b5cc3f7ba3d 31-Aug-2011 Eric Laurent <elaurent@google.com> Merge "Change condition to enter silent mode."
338794576667745b060ac269b2c2b36e0c6964f2 31-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix 5242200 only update RemoteControlDisplay when a client is present

A precondition for updateRemoteControlDisplay_syncRcs() is that
mRCStack is not null. This condition was not verified when
registering a RemoteControlDisplay.

Change-Id: I0b152410e57c590114b387e9ab83f0c4d15d060d
edia/AudioService.java
3d4c06f90726a85e89dab13c41ddc15b9c912a3f 16-Aug-2011 Eric Laurent <elaurent@google.com> Change condition to enter silent mode.

Previously, silent mode was entered if volume was already at 0 and
volume down key was pressed once.

The new volume management policy specifies that silent mode is entered when
volume is at last audible step and volume down key is pressed once.

Change-Id: Id3e75a99c522d8afe276868010b6e73495d23fde
edia/AudioService.java
5ad4b9fb96089e460902ffac9f3649366afd3750 31-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> RemoteControlClient metadata: add method for metadata of long type

Update to the RemoteControlClient.Editor API:
- new method for setting metadata of type long
- methods for setting metadata throw an exception if using
the wrong key with the wrong method.

Note that this change will cause the Music2 application to
throw an exception when it tries to set the duration as a string.

Change-Id: I17cff86467851a0aff313c07653e752ae6b6180f
edia/RemoteControlClient.java
2261c7d6456376ed10a97643fc74a1e4eb2c1c9f 31-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Bug 5045498 Force display update when display registers"
958bba6862c9540c528263686b0de044b4a7a5f6 30-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5045498 Force display update when display registers

When an IRemoteControlDisplay registers, cause the
RemoteControlClient to send all its information to the newly
registered display.
The previous code was only sending a request for update: this
request didn't here cause the client to send the data because
a new client generation had not been synchronized among clients
and displays.
This CL uses the same code path to force an update as when audio
focus changes, or a new client registers, by calling the same
method that is called in those cases,
updateRemoteControlDisplay_syncRcs(flags).
Also in this CL: more method renames to indicate methods that
are called synchronized on mRCStack.

Change-Id: I54102f45ba1cd4812d958ecd883bec7bc45ae88f
edia/AudioService.java
8d102eb6720deccfb8b5872fde531ef6ca580077 30-Aug-2011 Jamie Gennis <jgennis@google.com> Merge changes I33f59705,Ia4c8c822,I2fb695ab,I2e587afc

* changes:
MediaDump: use the MediaPlayer#setSurface method
HTML5VideoView: switch to MediaPlayer#setSurface
MediaPlayer: unhide the setSurface method
Surface: unhide the SurfaceTexture ctor
c847b1a89df94dbff4c2f557f8c042ead5398c3f 30-Aug-2011 Rajneesh Chowdury <rajneeshc@google.com> Fix for 5156702 Rotate video output for thumbnails and export

This is part of a multi project submit.
This is the Java and Jni changes.

Change-Id: I8851f5d865e657b7846bcded38e752f388f95895
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaVideoItem.java
8f7bf025067767313d4d012718ad7f7f8b9822cd 30-Aug-2011 Rajneesh Chowdury <rajneeshc@google.com> 5106773 Can't export a movie - Error returned from OMX API in ducati

Video Editor engine wrongly set the profile in place of level.
So level was always 1 (default value for Profile)

Change-Id: I202f866d32e81869d9692174d59d9d777a772282
edia/videoeditor/VideoEditorProfile.java
b283dc64bc97f53804108cebf5b904eb4fb77155 29-Aug-2011 Jamie Gennis <jgennis@google.com> MediaPlayer: unhide the setSurface method

Change-Id: I2fb695ab918d1099ad7cc51bfd436712a0b640d9
edia/MediaPlayer.java
db8a361629f06f62b9e1c40d4413b3b5099bd124 27-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Update IRemoteControlDisplay when it registers.

When an IRemoteControlDisplay registers, it must receive information
from the current client.

Change-Id: Id845e7a87ac74c2db2c59e0281b28a45f8d20528
edia/AudioService.java
7309c83b95b36eac141680158df70ac1ce02a160 27-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Cannot compare Binder references for RC display to unregister

Cannot trust references to IRemoteControlDisplay to remain the
same when removing a RemoteControlDisplay, compare the
result of .asBinder() instead.

Change-Id: Ib2e82aa24bd4b12804bccff94a6a0090ff83bea8
edia/RemoteControlClient.java
18e7bce52318f00b5023f33933a571c477f2b61c 26-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Address multiple RemoteControlDisplay competing for registration

The RemoteControlClient / Display feature only supports one
display. If multiple displays are registered, this CL implements
the following policy:
- cannot unregister a display that is not the current one,
- registering a display when another is already registered
causes the old one to be unregistered.
This fixes a death handler leak where the previous display was
simply overwritten, without unlinking to its death.

Change-Id: I63f8a38093796e0960761936d7fc58d47b7589b3
edia/AudioService.java
6e679d5a53091b348a2cdc0c76f4e8fa4ac52d4b 26-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Don't try to rescale when no bitmap in RemoteControlClient

If a RemoteControlClient has a null artwork, do no attempt to
rescale the bitmap, it's ok to send a null bitmap to the
IRemoteControlDisplay.

Change-Id: I8332ccfcf18107ea0b41d4e7fa232d7f68798efc
edia/RemoteControlClient.java
3094d955b8321f01e50cb0c448ae1c4c461f41c9 25-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix deadlock in AudioService

Locks related to audio focus and remote control should always be
taken in the following order:
1/ audio focus lock
2/ remote control stack
3/ current remote control client generation

Change-Id: If8be11bfef92849957e692b2bd52adbd67a2ef0b
edia/AudioService.java
4b6df6a3dcbd9990e36438c529fa8c16b2580df9 24-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> More information for RemoteControlDisplay about new client

When the client gets cleared, let the display know the new
client generation ID is for a clear.
When a new client becomes current, let the display know
what the associated media button event receiver is.

Change-Id: I18e37a309b5b30ed361a68918379b60418409f1e
edia/AudioService.java
edia/IRemoteControlDisplay.aidl
44413e5b514a91806a4bb4c7780029ea43be6f81 24-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5045498 Single binder call when metadata and artwork are updated

When metadata gets applied, optimize the artwork and metadata
update by doing it in a single call.

Add missing RemoteControlDisplay-related methods in AudioManager.

Change-Id: I97aa802cc480327bee5592ea8dfdbd414c0f037a
edia/AudioManager.java
edia/IRemoteControlDisplay.aidl
edia/RemoteControlClient.java
4da5eeffc92331b958eeb111aa2f3d938083954e 24-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5045498 Implementation of RemoteControlClient.MetadataEditor

A MetadataEditor contains all the metadata and artwork to be applied
to a RemoteControlClient.
A MetadataEditor can only be applied once.

Change-Id: I3ce9d97f520cd9ab009fb1a92a2b399717511bd8
edia/RemoteControlClient.java
68e37ae87ad9932f2119c1b2fc361c1aed5841e4 23-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Bug 5045498 New implementation of remote control API"
4426e42ac6107bf6b09f7c4cdad39eb161d8b9ca 19-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5045498 New implementation of remote control API

Remote control displays expose an IRemoteControlDisplay interface
which they register through AudioManager.
Remote control clients create a RemoteControlClient object, which
implicitely exposes an IRemoteControlClient interface registered
in AudioService through AudioManager.
AudioService tells all clients and displays when a new client
is the one that should be displayed.
A client's data gets sent to the display when it is valid, or
it sets new data (while being valid).

The implementation for setting metadata and album art is temporary,
and will migrate to the MetadataEditor API in future CLs.

Change-Id: Ibab6ea1d94c68f32482c760c6ae269541f885548
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
edia/IRemoteControlClient.aidl
edia/IRemoteControlClientDispatcher.aidl
edia/IRemoteControlDisplay.aidl
edia/RemoteControlClient.java
cf56f1e7ad7586831faa5bacb537f71cdb227e61 23-Aug-2011 Eric Laurent <elaurent@google.com> Merge "Revert "Change condition to enter silent mode.""
73a56fe47720cc2659da6fc0a01fcc28940e7243 23-Aug-2011 Eric Laurent <elaurent@google.com> Revert "Change condition to enter silent mode."

This reverts commit c11c3ae4dd5d4054e5b44a7bdfe6b203bdb69976.
edia/AudioService.java
f1824a9762a28c1b664360cb1b6c354d937878bc 23-Aug-2011 Chih-Chung Chang <chihchung@google.com> Pass correct indices for thumbnails of MediaImageItem.

Change-Id: I8e52014ab76c63994385bc54106c19b425be8550
edia/videoeditor/MediaImageItem.java
3ced044154945f9d60983032278e00fe28f4ab1b 13-Aug-2011 Rajneesh Chowdury <rajneeshc@google.com> Fix for 4142219 Don't hard code platform-specific limitations (Jni/ Java)

Also fixes 5118207 add other video codec support for video editor export.

Change-Id: If72427173bd8ff684af07ba00f4425c1deef29c6
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/MediaProperties.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/VideoEditor.java
edia/videoeditor/VideoEditorImpl.java
edia/videoeditor/VideoEditorProfile.java
8c60d89b3704164d5a13e80ace6bea4b51af37a3 18-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Bug 5045498 RemoteControlClient interface"
8f6684144a617982763db3d2281e86f2a9d368db 17-Aug-2011 Eric Laurent <elaurent@google.com> Merge "Fix issue 5126270: Holding volume down vibrates"
cc11b1b8bb47aa6be23ff5c4caf683ff90074121 17-Aug-2011 Eric Laurent <elaurent@google.com> Fix issue 5126270: Holding volume down vibrates

Clear AudioManager.FLAG_VIBRATE in adjustStreamVolume() if
already in silent mode.

Change-Id: I8035a8cc713e1880799d9aaf053d8e4d12acad75
edia/AudioService.java
bc91ea6bfffde0dd55e6ed1a1677422da86e7462 17-Aug-2011 Eric Laurent <elaurent@google.com> Merge "Change condition to enter silent mode."
178889eff7fa3361a5cb08d6d43846a1baf5216b 16-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5045498 RemoteControlClient interface

Define a RemoteControlClient interface that applications must
implement and register to be displayed on the lockscreen.

Change-Id: I67276ae653f203e76727432231f1d76535c31942
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
edia/IRemoteControlClient.aidl
edia/IRemoteControlClientDispatcher.aidl
edia/RemoteControlClient.java
c11c3ae4dd5d4054e5b44a7bdfe6b203bdb69976 16-Aug-2011 Eric Laurent <elaurent@google.com> Change condition to enter silent mode.

Previously, silent mode was entered if volume was already at 0 and
volume down key was pressed once.

The new volume management policy specifies that silent mode is entered when
volume is at last audible step and volume down key is pressed once.

Pressing volume down key continuously will decrease volume until
last audible step is reached, not 0.

Change-Id: Ib7b530668473d6a5af1e748f445d6185afed2158
edia/AudioService.java
1f5de3833daddfa1d0ebc7dee1f9e007d4ed36a0 15-Aug-2011 Chih-Chung Chang <chihchung@google.com> Display thumbnails one by one and cache them.

Change-Id: I10808f5bca475aea924817bf532dc5916438563a
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaItem.java
edia/videoeditor/MediaVideoItem.java
931e73946390b43fc08f5ae66770fba0efba5345 16-Aug-2011 Eric Laurent <elaurent@google.com> Merge "Fix issue 5131056: key beeps when screen is locked"
96f218e0b9834b959f1acf34b51d325bb1c33a0d 16-Aug-2011 Eric Laurent <elaurent@google.com> Fix issue 5131056: key beeps when screen is locked

Clear AudioManager.FLAG_PLAY_SOUND in AudioService adjustSuggestedStreamVolume()
if keyguard is locked.

Change-Id: I2effb9cab8d946845e948b28899b17d7f24c1282
edia/AudioService.java
59df720668938be62e6cff6df781c88f23ea42c7 16-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Bug 5045498 javadoc for the remote control client API"
837da7153f8ff144bbb02d68d37833f7dc106a0f 16-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Bug 5045498 Send media button event receiver to remote control"
fcd693a21d862ea765006f8987b8dd4b125b28c5 11-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5045498 javadoc for the remote control client API

Change-Id: I2a8aeffd94c4f9e93a1be459be8e45d595438f38
edia/AudioManager.java
edia/IRemoteControlClient.aidl
152abefccb6925fd1092ac6424d7720b43375fc8 16-Aug-2011 Eric Laurent <elaurent@google.com> Merge "Deprecate use of some audio effects on output mix."
0a9faa8cf934ef38319cd945b600825c6bb88b9c 15-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5045498 Send media button event receiver to remote control

When notifying the remote controls of an update, also pass the
associated media button event receiver.

Change-Id: I9125378653ce21e3bd672b936df638c0c6154edb
edia/AudioManager.java
edia/AudioService.java
62f3617f2f4016ad2f59635d5156d64872989880 14-Aug-2011 Eric Laurent <elaurent@google.com> Deprecate use of some audio effects on output mix.

The possibility for applications to apply insert audio effects
(Equalizer, BassBoost, Virtualizer) on global output mix has brought up
a number of issue.

This change updates the java doc for audio effects indicating that
application should not apply insert effects globaly anymore as this behavior
will soon be deprecated.

The audio framework will still allow global insert effects during an interim
period but will give the priority to effects inserted on particular player by
disabling global effects when both are present.

============

Change-Id: If87f1944a0409d45d8d2eee66ff331f95965ca89
edia/audiofx/AudioEffect.java
edia/audiofx/BassBoost.java
edia/audiofx/Equalizer.java
edia/audiofx/Virtualizer.java
70b5c66a2415cbe9864ad88ae23fb0a151376a18 15-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fail request for audio focus when linkToDeath fails"
baf674eedd5ecff9da0cf8cabe9868f7699b1695 15-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Fail request for audio focus when linkToDeath fails

When requesting audio focus and linkToDeath() threw a
RemoteException, AudioService was only logging a warning, and
was still changing the focus, with a non-null death handler.
The change first check that linkToDeath() didn't fail, and only
then proceeds to change the focus (dispatch focus change
notification, updates the focus stack, and updates the remote
controls).

Change-Id: I0b96dd3c6e924d93f419880349d49f8b360b110b
edia/AudioService.java
52727fc38aaf6821bac6adf33235f154139638d0 14-Aug-2011 Mike Lockwood <lockwood@android.com> Merge "MediaScanner: Clear file path before deleting records to avoid accidental file deletions"
5a586199cea242ea281744e8e35969ac342cbe80 14-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix leak of global references and AudioFocusDeathHandler objects."
061214bb71a4a4211e670001226c68f5e8036b84 14-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix leak of global references and AudioFocusDeathHandler objects.

Need to call unlinkToDeath() for the object to be garbage collected.
Save the object in the FocusStackEntry, unlink to death when we remove it from the stack.
See http://b/issue?id=5048400

Change-Id: I84c5ba46017d0a8744b5e7509a7c7a5c8dd918fb
author: olivier@google.com
edia/AudioService.java
f2e2b523dd333207107b50bc174f152e954dc371 14-Aug-2011 Mike Lockwood <lockwood@android.com> MediaScanner: Clear file path before deleting records to avoid accidental file deletions

Bug: 5140112
See also http://code.google.com/p/android/issues/detail?id=3692

Change-Id: I971eea83a2f3986a0b0ea018b7211f2525b914ab
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
497b3fe7257d5bbee7762455c6988915bde21601 03-Aug-2011 Eric Laurent <elaurent@google.com> Issue 5081351: isWiredHeadsetOn() permission.

AudioManager.isWiredHeadsetOn() should not require permission MODIFY_AUDIO_SETTINGS.
Remove permission checks on all getters in audio policy manager as permission enforcement
is really usefull for setters.
Also deprecate AudioManager.isWiredHeadsetOn() which name and implementation are deceptive.

Change-Id: I38f8df7c26c0d417bf0e2b74e4c11c2d143f2ecd
edia/AudioManager.java
bb049108939043ca78e0390471f155dd7d7a7f8e 12-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Pass flags on remote control client information change in intent"
1ee60119c4fa51ebfa781cf5fdc33f192e8551b8 26-Jul-2011 Ted Bonkenburg <tedbo@google.com> Remove ParcelSurfaceTexture and update MediaPlayer

This removes the ParcelSurfaceTexture class since that functionality has been
folded into Surface.java. The change also updates the MediaPlayer to get rid
of setParcelSurfaceTexture() and modifies setTexture() to use the new Surface
functionality in order to simplify the code.

Change-Id: Iafa75ea3188263928128325d8a726786971b4de4
edia/MediaPlayer.java
bcbddd9342ee5ef48617ce7dcca6c505df3fcf08 11-Aug-2011 Marco Nelissen <marcone@google.com> Only set the ringtones and such if this is the first media scan
b/5126979

Change-Id: Ibef2bd5a3a1a288fc1137694e858d87628d780c0
edia/MediaScanner.java
b5f04d6dbf5106140df367ae07f0e7708e1b650e 10-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Pass flags on remote control client information change in intent

Pass the flags about what information changed in the remote
control client in the intent used by the remote control display.
Also pass the IRemoteControlClient to verify it is still current
before sending the intent.

Marked some logs as to be removed before release.

Change-Id: Ib3aa22d061e5dfaf80a9c4c78774c931a2cf0fbd
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
f1ddd51f9cd2f92b922bc636c307210a8d587c25 10-Aug-2011 Marco Nelissen <marcone@google.com> Check pids instead of IBinders

There can be multiple AudioManagers per process (because each Context has
its own cache of services), so AudioService should protect SCO activation
based on whether the pids match, not whether the IBinders match.

b/5044873

Change-Id: Ibec81365f95fec11f34b47becd0e473762bf06ad
edia/AudioService.java
bdbe6939ff336d97f707c7d85be2eca114d3f6a0 10-Aug-2011 Mike Lockwood <lockwood@android.com> Merge "Use video/webm mime type for WEBM files"
b33e079aca275e2e08fa8e9840f2a9df72eb1933 10-Aug-2011 Mike Lockwood <lockwood@android.com> Merge "MediaScanner: Disable bulk inserts"
cd7f0d7f72b8b9cee2f1c92c11b82164620432c6 10-Aug-2011 Gloria Wang <gwang@google.com> Merge "To support for switching from a non-null surface/ surface texture to a null one, and vice versa. Fix for bug 5137445."
ff535914825f63999648030a02f57767593462f0 10-Aug-2011 Mike Lockwood <lockwood@android.com> Use video/webm mime type for WEBM files

Bug: 5042137

Change-Id: I677af1b4f34c37c78f84229551a8d82f1a7bf245
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaFile.java
3410b4656505673c72da558dcfec94d7b135e760 10-Aug-2011 Mike Lockwood <lockwood@android.com> MediaScanner: Disable bulk inserts

We are still finding bugs related to the bulk insert support,
so lets disable it for now.

Bug: 5026233

Change-Id: I436cd8fc5dbe9fcf220a623f1c070cf901c6d38c
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
17da769e987de40e113c5b2a3b867b25ba7ac0a2 10-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> AudioService: don't use a soft reference on IRemoteControlClient

In the remote control stack, don't use a SoftReference to the
IRemoteControlClient because the client live in a different
process, which causes the reference to become null at the
earliest opportunity.

Change-Id: I7f7733f9a1a043825cd5e8769282b535657dd82d
edia/AudioService.java
91784c996f95483e3041169215c0d6635e27ffcc 10-Aug-2011 Gloria Wang <gwang@google.com> To support for switching from a non-null surface/ surface texture to
a null one, and vice versa.
Fix for bug 5137445.

Change-Id: Ifca2997f8ad27a843abbdaa7e89a56329bc40fde
edia/MediaPlayer.java
8d4ed0d8e1e0e0f4a8ed7fc1407a850dc2190040 08-Aug-2011 Neel Parekh <neel@google.com> Prevent NPE when registering a remote control client

Change-Id: Ia22b456b1cbdd89736118c7e68b7c68dd6e59c64
edia/AudioService.java
7b6198cacc3e7dd31ef91537d809857d826fb7fa 07-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 5045498 API for client to notify remote control info changed

Update to API for a client to notify what type of information
changed (e.g. playstate, metadata) to optimize small updates
without the remote control display having to do expensive
queries such as album art.

When the remote control display retrieves the flags about
what information changed, the flag gets cleared.

Change-Id: I7d3d8d3eecd1da44695d84905ed9e7b70fe38b86
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
5d4967884132647a75d05bcc2ca1f9ce490b372f 07-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Make retrieving remote control client go through binder interface"
43b076bb75e86fbb34cbe36aa0298c7a647121ff 06-Aug-2011 Mike Lockwood <lockwood@android.com> MediaScanner: Fix UnsupportedOperationException when scanning internal media

The media scanner was crashing while tring to insert genre data in the internal
media database, which does not support genres.
This resulted in some or all of the built in ringtones being unavailable

Bug: 5124718

Change-Id: Ib306348dd9808e59477b327b4adcb413957d8d24
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
ced110ec5970c632f523dfc0350b6071461ea9bc 05-Aug-2011 Neel Parekh <neel@google.com> Make retrieving remote control client go through binder interface

The way the old way worked relied on the process retrieving the
current remote control client to be in the exact same process as
the AudioService. This removes that dependency.

Change-Id: I1ba8bf32b61ec1e979ef7eee9661ba801aa19690
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
a30a21cf2ef37b490e3790aad3105cda115124d6 04-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Remove empty remote control client listener methods

Remove non-implemented methods for registering IRemoteControlClient
listeners.

Rename refreshRemoteControlDisplay() method to follow framework
conventions.

Change-Id: I9254e8eeea9020a530c9a32f328f0ef7dbd9dd0c
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
045d179ff6568eaa30f66801e10fd888e2da0f9d 03-Aug-2011 Eric Laurent <elaurent@google.com> Merge "AudioService: ignore NOTIFICATIONS_USE_RING_VOLUME."
4415629112af2a62eb58a4daf1f2533c5089be53 03-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Remote control display API and implementation"
8f619182cb759718f64ab95fd6d61c16138f6952 22-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Remote control display API and implementation

Extend the media button event registration AudioManager API to
enable applications to register as a client of "remote controls"
and let them provide information meant to be displayed
by the remotes.
AudioService sends a AudioManager.REMOTE_CONTROL_CLIENT_CHANGED
intent to let remote controls know when / from whom they can
retrieve the information to display.
Only application that own audio focus, are the currently
registered media button event receiver, and have registered
a remote control client, are eligible to appear on the
remote control.

To address in future CLs:
- change how a remote control client forces a refresh
- rename methods called under lock to ___Locked()
- make API public

Change-Id: Icca30ab05dac2605ee9246f8acb27a03dcea077a
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
edia/IRemoteControlClient.aidl
4eb5a5713877227374d7bac97719873b2c17e92a 03-Aug-2011 Eric Laurent <elaurent@google.com> AudioService: ignore NOTIFICATIONS_USE_RING_VOLUME.

Do not take NOTIFICATIONS_USE_RING_VOLUME setting into account now
that it has been deprecated. STREAM_NOTIFICATION and STREAM_RING
always use the same volume setting.

Change-Id: Ibf6e5f86133d3781fd9e66455be64582318d93e6
edia/AudioService.java
6311d0a079702b29984c0d31937345be105e1a5e 03-Aug-2011 Dianne Hackborn <hackbod@google.com> Clear the bitmap from the canvas in a lot of places.

Change-Id: I6b2071ac7b348c473b9bdd1b972d095aebbb4fb3
edia/ThumbnailUtils.java
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/MediaImageItem.java
edia/videoeditor/OverlayFrame.java
e5d0495d5206167c597efcd81436a0f881f069f9 30-Jul-2011 Mike Lockwood <lockwood@android.com> MediaScanner: Move genre table management to MediaProvider

Fixes problems introduced with bulk insert support

Bug: 5092877

Change-Id: If3c0c9054d5effe0a1d7a75e85635b41ba1591f5
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
6ff9b812abe388478bbaba118a580c3f4a30c863 25-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 4599730 Get audio channel count on MediaPlayer

Related changes:
- Fix bug in get/setParameter* to recycle Parcels when done with them.

Change-Id: Iaff05e91bbd99a14fccb79d816dd873359b6ae65
edia/MediaPlayer.java
85a315b54797b05b4232eda426fdd60e255aa97d 27-Jul-2011 Pannag Sanketi <psanketi@google.com> Merge "Fixing up Mediarecorder for MFF"
833bfd2ba5f875cb98bfbcc85ee3c64068947811 26-Jul-2011 Mike Lockwood <lockwood@android.com> Merge "MediaScanner: Fix problem with duplicate directory entries in the database"
af20eacc2170a0641749bad822926d86161431c7 26-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix bug 4319552 Java to native channel mask translation"
c6eaa713a3f5b9337eca60ba2ab570cf6e80c357 26-Jul-2011 Mike Lockwood <lockwood@android.com> MediaScanner: Fix problem with duplicate directory entries in the database

Bug: 5078643

Change-Id: I8804ff5bbd729f57be7ff0b17a4b134cafe78c18
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
cac873bd4ad6ffc8587e3d77fece5abcf2804f4f 26-Jul-2011 Pannag Sanketi <psanketi@google.com> Fixing up Mediarecorder for MFF

For using the MediaRecorder in MFF (Mobile Filter Framework),
getMediaRecorder method in mediarecorder jni was earlier changed to
a non static method. Changed it back to a static method.

Also, added a new source type to MediaRecorder.VideoSource for recording
GRalloc buffers.

Change-Id: I031fad45c12b0ac9602d9e451d4767e95a86234d
edia/MediaRecorder.java
d9ae1c573e37e245c7f4f0480a8fa925e57bd49d 25-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 4319552 Java to native channel mask translation

When creating a new AudioTrack instance, translate from a Java
channel mask as defined in android.media.AudioFormat to one
as defined in audio.h which matches industry-standard
channel mask definitions.

Change-Id: I7eeece8ec2a437977c31f6e82590f9591158144b
edia/AudioFormat.java
0f7f4ece1b6b73caf608d533d833a8cdc11c8131 24-Jul-2011 Eric Laurent <elaurent@google.com> Added APIs for audio preprocessing

Added APIs to control pre processes applied on captured audio.
Those APIs are still hidden until reviewed by API council.

Three types of standard pre processes are supported:
- Automatic Gain Control (AGC) by AutomaticGainControl class
- Acoustic Echo Cancellation (AEC) by AcousticEchoCanceler class
- Noise Suppression (NS) by NoiseSuppressor class

A method is added to AudioEffect class to query audio pre processings
applied by default by the platform on a given AudioRecord session ID.

Change-Id: I0b9fceeb8c704dd06319c3b52b85c96fe871d51d
edia/audiofx/AcousticEchoCanceler.java
edia/audiofx/AudioEffect.java
edia/audiofx/AutomaticGainControl.java
edia/audiofx/NoiseSuppressor.java
d92eb588974556eff387dceecbaa36c3d3c69c5f 25-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix bug 4211099 channel constants and 7.1 mask"
5518dd92d38edd5902482841413722aa654cc2e7 25-Jul-2011 Ted Bonkenburg <tedbo@google.com> Merge "Add support for creating a Surface from a a SurfaceTexture."
ff7656c9de4e6ca0ec13da2b99593be71dcfd796 25-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 4211099 channel constants and 7.1 mask

Add definitions for the side and elevated channels.

Add new (correct) definition for 7.1 mask which uses
the side channels rather than the front half-pan channels.

Change-Id: I13d93f99f3b453ce2ab5fdc2da66629ed7f337ef
edia/AudioFormat.java
0de171b0d490a5928d54d2fb67c912d140aac643 16-Jul-2011 Ted Bonkenburg <tedbo@google.com> Add support for creating a Surface from a a SurfaceTexture.

The Surface is already using SurfaceTexture internally and it is parcelable. This
is intended to replace and phase out ParcelSurfaceTexture in favor of creating a
new Surface.java object from an existing SurfaceTexture.

Change-Id: I8e2dd86614523da6abed6403e1d705a68fa19fdf
edia/MediaPlayer.java
3ff98beeafd271a65c1f824699431366882b04f6 21-Jul-2011 James Dong <jdong@google.com> Deprecate two methods in MediaRecorder.java class

Change-Id: I98fbe628fe77867b97c04f44458948ede2f49d22
edia/MediaRecorder.java
432fb8ecbed402b06f7f92d829be544b317059be 21-Jul-2011 Hong Teng <hongteng@google.com> Merge "fix for issue 4142219 Don't hard code platform-specific limitations-jni/java part"
0eecc27714d10b640bd8d40af8d1fb20aa3d29a0 21-Jul-2011 Eric Laurent <elaurent@google.com> Merge "AudioRecord JAVA: expose audio session Id"
600acf14ff12eaf139f0ac644fb7e17849af65fa 07-Jul-2011 Hong Teng <hongteng@google.com> fix for issue 4142219
Don't hard code platform-specific limitations-jni/java part

Change-Id: Icde261b1caf29a8cf552884c97f3c9d0b41741a3
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaProperties.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/VideoEditor.java
edia/videoeditor/VideoEditorImpl.java
edia/videoeditor/VideoEditorProfile.java
a331cdbb4082a391bf4f21cf6dffea770e31517f 20-Jul-2011 Mike Lockwood <lockwood@android.com> Merge "MediaScanner: Do separate bulk inserts for different media types"
5531a3a3cfce0fe0dd279cdce2de30cf777f5227 20-Jul-2011 Eric Laurent <elaurent@google.com> Merge "Fix issue 5012047: silent mode mutes music"
e19572ccb5e7963eee9dd1cca150ee752a850e4a 20-Jul-2011 Mike Lockwood <lockwood@android.com> MediaScanner: Do separate bulk inserts for different media types

This should fix a bunch of problems introduced in the original bulk insert implementation

Also reverted two changes that are no longer necessary:

Revert "MediaScanner: Add virtual NO_MEDIA column to fix support for .nomedia files"

This reverts commit 92e1314ad9ddbacfb806405e9aceeea4a8aae19f.

Revert "MediaScanner: fix breakage in updates"

This reverts commit 45aaa2a345292bb6d600822db602f25e261c0e50.

Change-Id: Ibed66393467761c2c1ce48deb09bcac505b7d221
edia/MediaScanner.java
72668b2c040b581b298b069f3b5af5ed7f212d89 20-Jul-2011 Eric Laurent <elaurent@google.com> Fix issue 4499450: Unknown Ringer Mode

Added a validity check on ringer mode values in AudioManager.setRingerMode().

Change-Id: Ie780edc1d347009d90f000018a71520b04e0c4a1
edia/AudioManager.java
edia/AudioService.java
c1d4166289ce016965d1147f7e8d37862ee347ec 19-Jul-2011 Eric Laurent <elaurent@google.com> Fix issue 5012047: silent mode mutes music

Implemented different silent mode behaviors for tablets and phones.
The behavior inherited from Honeycomb was for tablets only and
was muting music in silent mode.

Change-Id: Ib053e7b70ca02190debc87648ab8a163f9d39577
edia/AudioService.java
06e0333c7eb50533cc6e0f7b61812d2840844296 19-Jul-2011 Narayan Kamath <narayan@google.com> Return the play stayed locked.

I believe the the synchronized block is required to allow
other threads to observe changes to mPlayState in a timely
manner.

Change-Id: I502b7401196c42932c9667ef73eb4cae16c3da16
edia/AudioTrack.java
44ff4cd8be50768d5bd471bc6c034acefa0b59ca 18-Jun-2011 Eric Laurent <elaurent@google.com> AudioRecord JAVA: expose audio session Id

Added getAudioSessionId() method to AudioRecord class so that applications can
retrieve the AudioRecord's session ID and attach audio pre processes.

Change-Id: I1914770f0e54d97c9aef6a9eb36fff69b6d31552
edia/AudioRecord.java
92e1314ad9ddbacfb806405e9aceeea4a8aae19f 15-Jul-2011 Mike Lockwood <lockwood@android.com> MediaScanner: Add virtual NO_MEDIA column to fix support for .nomedia files

Bug: 5025615

Change-Id: Ia910cd1c063292599a03b878755edb2e3cdbbb57
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
88bde0ce3799c47530ea42ae3665bfa12ae38d11 14-Jul-2011 Narayan Kamath <narayan@google.com> Minor documentation updates for the AudioTrack class.

Change-Id: I0c3c220aa433d1917d997a7b1bfa54e61acc26b2
edia/AudioTrack.java
45aaa2a345292bb6d600822db602f25e261c0e50 13-Jul-2011 Mike Lockwood <lockwood@android.com> MediaScanner: fix breakage in updates

To facilitate bulk inserts, we changed the media scanner to use the file URI
instead of the audio, video or image media URIs.
However we should still use the media URIs for updating existing records

Bug: 5021925

Change-Id: I6143dc1d00350192170428a5e951b52ef9223734
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
dcc31946f2b78be4bf95b1cace2e2c211f027e72 11-Jul-2011 Mike Lockwood <lockwood@android.com> MTP: Clean up MtpServer initialization and threading:

Move thread from native to Java code
Remove the stop() method (the thread will exit on its own)

Change-Id: Ib897c3630162f82669a4ee8c187e8172da50b29d
tp/MtpServer.java
501c4671e73a484c1f01d94f4f5fff124c05f197 11-Jul-2011 Jeff Brown <jeffbrown@google.com> Merge "Eliminate single-process mode. Bug: 5010576"
a59a1bad8586e79a863442fa5139658e50ce9dd7 11-Jul-2011 Mike Lockwood <lockwood@android.com> Merge "Remove unnecessary locking from MediaScanner JNI code"
af16d0b30e89f31b7617424c8706553ff571d08d 10-Jul-2011 Mike Lockwood <lockwood@android.com> Remove unnecessary locking from MediaScanner JNI code

There is nothing in this file that requires a global lock.
Furthermore, the lock can cause timeouts in native_finalize if one instance
is being garbage collected while another is busy in processDirectory

Bug: 5002520

Change-Id: I8717f8edeb932200d9f76b3d98915cfbe18b6ec6
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
e6d24ab6a96549940cf832fe8c86710f2f07631c 11-Jul-2011 Mike Lockwood <lockwood@android.com> Merge "MTP: Return error if user tries to copy a file >= 4GB to a FAT32 file system"
7a59dd2ce33b46cbc73eef964ddb4272ea1da8d1 11-Jul-2011 Mike Lockwood <lockwood@android.com> MTP: Return error if user tries to copy a file >= 4GB to a FAT32 file system

Bug: 4561836

Change-Id: I2bffb93b032038f6c220c24c752ccd7ca66c23a0
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpPropertyGroup.java
tp/MtpStorage.java
bd682b040833fce9e212c00c395b32bec7050f87 11-Jul-2011 Mike Lockwood <lockwood@android.com> MediaScanner: Use bulk inserts when in batch mode

To do this we need to move the logic for determining media type to MediaProvider
Make some things in MediaFile public so they can be used from MediaProvider

Bug: 4948188

Change-Id: I6ab168b6b4d45b2fc91ea8bd52ca58283b0efc14
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaFile.java
edia/MediaScanner.java
10e89712863f5b91a2982dc1783fbdfe39c1485d 09-Jul-2011 Jeff Brown <jeffbrown@google.com> Eliminate single-process mode.
Bug: 5010576

Change-Id: Id450dc83efed4897d1e4ff451530fed14457aace
edia/MediaScanner.java
2da9eb7175e59a4ad8b9cec185f9cfdf8e075859 06-Jul-2011 Gloria Wang <gwang@google.com> Merge "- Retrieve is_drm in MediaMetadataRetriever. - Add one more column in MediaStore to indicate whether a media file is drm-protected. - Remove old DRM code from Ringtone - Use the new DRM code in RingtoneManager"
7f61f5919d193d8ae158ce8a52ca69c9f2be8777 06-Jul-2011 Vikas Arora <vikasa@google.com> Associate WebP Mime-Type with FILE_TYPE_WEBP.

The last change for adding WEBP Mime-Type
(https://android-git.corp.google.com/g/#change,112919) had this bug.
Fixing the bug in this change.

Change-Id: I084b66de4aabb3892fb0e6fa36062a52d4dcc224
edia/MediaFile.java
82428a862f325238cfb5646bbd65de3f1a11e7cc 27-Jun-2011 Gloria Wang <gwang@google.com> - Retrieve is_drm in MediaMetadataRetriever.
- Add one more column in MediaStore to indicate whether a
media file is drm-protected.
- Remove old DRM code from Ringtone
- Use the new DRM code in RingtoneManager

Change-Id: I1311fd1c04841c2cd47df6c901589966cf55a692
edia/MediaMetadataRetriever.java
edia/MediaScanner.java
edia/RingtoneManager.java
03f9435273df3c8d6f342adfc391844a18535adf 02-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 4571308 Provide correct video frame timestamps"
ff90212a3c00e89b25399eb90cdce471cc8c8cc1 30-Jun-2011 Chih-Chung Chang <chihchung@google.com> Remove curtain effect (it's unused).

Change-Id: I2addf390aaa5aa514238b1f98eea67f27745cbf1
edia/videoeditor/MediaArtistNativeHelper.java
528b084be26ff6f5b5d8cf42007bf964857be8da 29-Jun-2011 Wu-cheng Li <wuchengli@google.com> Unlock the camera if media recorder fails to start recording.

bug:4965716

Change-Id: Icb1f7f18e9ea6c4f0427ade2ed338e7d56be5e01
edia/MediaRecorder.java
5c2faf3dc310b100707eb9e32e1e5ae8ceffd0c6 27-Jun-2011 Glenn Kasten <gkasten@google.com> Bug 4571308 Provide correct video frame timestamps

Change-Id: I0f726817fc02d3e2a4cf82ed801ef977994e6bcc
edia/MediaPlayer.java
42419ce28a09eb63e29a8fef87e6f5534f41902f 01-Jun-2011 Wu-cheng Li <wuchengli@google.com> Add framework support for camcorder zoom.

The purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to
allow applications using the camera during recording.

Camera service allows only one client at a time. Since camcorder application
needs to own the camera to do things like zoom, the media recorder cannot
access the camera directly during recording. So ICameraRecordingProxy is a proxy
of ICamera, which allows the media recorder to start/stop the recording and
release recording frames. ICameraRecordingProxyListener is an interface that
allows the recorder to receive video frames during recording.

ICameraRecordingProxy
startRecording()
stopRecording()
releaseRecordingFrame()

ICameraRecordingProxyListener
dataCallbackTimestamp()

The camcorder app opens the camera and starts the preview. The app passes
ICamera and ICameraRecordingProxy to the media recorder by
MediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in
MediaRecorder::start(). After setup, the recorder disconnects from camera
service. The recorder calls ICameraRecordingProxy::startRecording() and
passes a ICameraRecordingProxyListener to the app. The app connects back to
camera service and starts the recording. The app owns the camera and can do
things like zoom. The media recorder receives the video frames from the
listener and releases them by ICameraRecordingProxy::releaseRecordingFrame.
The recorder calls ICameraRecordingProxy::stopRecording() to stop the
recording.

The call sequences are as follows:
1. The app: Camera.unlock().
2. The app: MediaRecorder.setCamera().
3. Start recording
(1) The app: MediaRecorder.start().
(2) The recorder: ICamera.unlock() and ICamera.disconnect().
(3) The recorder: ICameraRecordingProxy.startRecording().
(4) The app: ICamera.reconnect().
(5) The app: ICamera.startRecording().
4. During recording
(1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()
(2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().
5. Stop recording
(1) The app: MediaRecorder.stop()
(2) The recorder: ICameraRecordingProxy.stopRecording().
(3) The app: ICamera.stopRecording().

bug:2644213

Change-Id: I15269397defc25cbbcae16abc071c8349c123122
edia/MediaRecorder.java
1e1b13e62e38d6efc7cef4b496b3119bd45ee2c2 23-Jun-2011 Gloria Wang <gwang@google.com> - Public part of the Metadata API.
- Modify the media framework test for Metadata.

Change-Id: Ib8fa4991f114e1bb88a17ca662844b9b8e1d0faf
edia/Metadata.java
019caf42c0df10c0ed0a0242ea7a39321a36f483 22-Jun-2011 Gloria Wang <gwang@google.com> Merge "Timed text display format support: 1. Extract 3GPP global format descriptions 2. Extract 3GPP local format descriptions 3. Define data structure (TimedText) for applications to retrieve the format metadata"
eaa5d8f9c0117bdaa20fd0a57921156bb0c06345 01-Jun-2011 Gloria Wang <gwang@google.com> Timed text display format support:
1. Extract 3GPP global format descriptions
2. Extract 3GPP local format descriptions
3. Define data structure (TimedText) for applications to
retrieve the format metadata

Change-Id: I6eac2a78df29ee15beee456656331fdd83b24e8e
edia/MediaPlayer.java
edia/TimedText.java
24a38f1ab9ed3b7b9f8517b22dbf692a898117e3 21-Jun-2011 James Dong <jdong@google.com> Switch to use MediaMetadataRetriever to generate the project thumbnail when the first media item is a MediaVideoItem

o This patch allows us to use the logic from MediaMetadataRetriever to extract a thumbnail instead of extracting
the thumbnail from a fixed position (@500 ms).

Change-Id: I81e8378d9bed80894cc622479679021dce3d52e5
related-to-bug: 3485609
edia/videoeditor/VideoEditorImpl.java
7d40d42a364f520da853b41956b0a18ed172491b 21-Jun-2011 Mike Lockwood <lockwood@android.com> MTP: Add support for PTP variant of GetDeviceInfo result.

Change-Id: I09f86fda768b7697665e401adb9516588859bf59
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpServer.java
6acc90fc216530f0a5bbf7339066af9b415cbb02 17-Jun-2011 Mike Lockwood <lockwood@android.com> MTP: Fix some problems with GetObjectHandles and GetNumObjects commands

These calls did not correctly handle some variants of the arguments,
which showed up when running in PTP mode.

Change-Id: Iedbaefebfa39111c8bcaee7c6cc3820a65d6c98f
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpDatabase.java
05be9531b6faf9313e7577284a547b89950d0d55 15-Jun-2011 James Dong <jdong@google.com> Second attempt to fix the broken build

o due to a link to a hidden method

Change-Id: Ia488743e9bff6854253696cc368facbd50d2d8f4
edia/MediaPlayer.java
d52ad9ca8d36afa76161c61b65a71d70977c0d3f 15-Jun-2011 James Dong <jdong@google.com> Fix broken build

Change-Id: Icf7e33a3a4d9b430cd8cbc97801df24a94f9e079
edia/MediaPlayer.java
9ddb7888b4b8c7b1f9e352347d84ae530e47a77d 14-Jun-2011 James Dong <jdong@google.com> Update MediaPlayer and MediaRecorder javadoc

o Adding some description to the Looper requirement for receiving callbacks

Change-Id: I79e7014c521f2286e6c2ccea1097d7e7467eb9ee
edia/MediaPlayer.java
edia/MediaRecorder.java
cc5278a3e258b30903102b718fb1cd832e79bb2b 10-Jun-2011 tedbo <tedbo@google.com> Support for setting a ParcelSurfaceTexture as the MediaPlayer sink.

This adds support for setting a SurfaceTexture as the MediaPlayer video
sink by using a ParcelSurfaceTexture object. The goal is to enable a
SurfaceTexture to pass through Binder (via ParcelSurfaceTexture) and then
be set on the MediaPlayer.

Change-Id: Ife5689ce673eb4bee1c377019db761685217b71d
edia/MediaPlayer.java
aa48835ce9a84d9d587d7a4b10ee6ea7c00e00ec 08-Jun-2011 Mike Lockwood <lockwood@android.com> MTP: Remove obsolete setPtpMode support

PTP mode will be implemented as a separate USB function instead.

Change-Id: I9304c1936c70604ab2ed9704c6b95e11b61f5ba2
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpServer.java
5ca271efe9c0e81c964ed654337acc93f88e0ed2 06-Jun-2011 Marco Nelissen <marcone@google.com> Merge "Add WebP Mime-Type support in Android Media File"
d0881d95e2d4eceab37288f88f43f771e08eab65 02-Jun-2011 Vikas Arora <vikasa@google.com> Add WebP Mime-Type support in Android Media File

Change-Id: Ifaa64c8fc55d1f1ad14db3057821696b565e0c26
edia/MediaFile.java
22bf7a7ea768c2cdadc5faf643aba70aebafc0d5 26-May-2011 James Dong <jdong@google.com> Add some comment to MediaRecorder.stop() about the stop() failure (-1007)

o The intended failure happens if stop() call comes immediately after start() call
before any media data from the output of the encoder is received.

Change-Id: I62fad123ac67e2f566ba555e84c0c3faf2adfd99
edia/MediaRecorder.java
e8b26dcec7765786bbf063b3ae6b967b8b547ab6 26-May-2011 James Dong <jdong@google.com> Extract embedded cover art (aka poster frame) in mp4 files

Change-Id: Ic9421ee27b9aa3b27df00878b887de20f25d232b
edia/MediaMetadataRetriever.java
98472cced0a66318a89ffe485bbebb80034f12be 26-May-2011 Gloria Wang <gwang@google.com> Merge "For out of band timed text support (timed text in a separate file)."
13bc8cde1c842bea1fa3000a48739a6e22f25a9c 11-May-2011 Gloria Wang <gwang@google.com> For out of band timed text support (timed text in a separate file).

Change-Id: I9e024a63eb9bf6f839deee3c7766a66e63126c96
edia/MediaPlayer.java
b06ac839dd2d0437fc8314f6deb7233af5af521e 26-May-2011 Eric Laurent <elaurent@google.com> Issue 4364098: bluetooth SCO not working

AudioService does not need to unconditionally stop virtual calls
when the audio mode is changed from normal. Only stop virtual calls
that have been started from AudioService.

Change-Id: I75992d3655661e5910536a62dc8a8e0256d835e8
edia/AudioService.java
dc03c61fe3cd8d0805480e48a974986439977a60 01-Apr-2011 Eric Laurent <elaurent@google.com> Bluetooth SCO audio API improvements.

The AudioManager API to control bluetooth SCO did not provide an easy way for
applications to handle SCO connection errors. When a request to activate SCO with
AudioManager.startBluetoothSco() failed, no state change was indicated via
AudioManager.ACTION_SCO_AUDIO_STATE_CHANGED intent. The application had to
implement a timeout to handle connection failures.

The API change consists in defining a new intent AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED
and deprecate AudioManager.ACTION_SCO_AUDIO_STATE_CHANGED. The new intent
will broacast a new state CONNECTING when the SCO connection is initiated.
The application can monitor changes from CONNECTING to either CONNECTED or DISCONNECTED
states to detect connection success or failure.
An extra indicating the previous state is also added to the new intent.

Also improved BluetoothHeadset service management in AudioService. A disconnection
from the service is not considered as a device or SCO link disconnection. Instead, if the
service interface is not present when a request to activate SCO is received, an
attempt is made to reconnect to the service.

Change-Id: I005fda1caaf74bb7de64fece44e9c7e628e828db
edia/AudioManager.java
edia/AudioService.java
817c161ef27b6087c496755768d65fcb4f78f04c 13-Apr-2011 Glenn Kasten <gkasten@google.com> Bug 4184736 unhide MediaPlayer.setTexture

Change-Id: I4c8456465611b717e42c0a11e3ce3b4dc0a34270
edia/MediaPlayer.java
3c707256cf238354524a9cac2b539259328bb035 19-May-2011 James Dong <jdong@google.com> Merge "Publish setLocation() method as a public Java API"
612956c914e4dccf7438c0fa13621798fc9ce4fa 19-May-2011 Gloria Wang <gwang@google.com> Merge "Add one more MIME type (audio/aac-adts) for aac file. Fix for bug 4463059."
f9cf277cda5d7cdf8383331892cca0734a850e19 19-May-2011 Gloria Wang <gwang@google.com> Add one more MIME type (audio/aac-adts) for aac file.
Fix for bug 4463059.

Change-Id: Ie2125349667e65b41871a228d87e4dce6b513398
edia/MediaFile.java
af3131fe2e20c7b5e080d098a3b6847c5414bcae 18-May-2011 James Dong <jdong@google.com> Publish setLocation() method as a public Java API

related-to-bug: 4260295

Change-Id: I91b923af8549127eb08f0d7e535cd53ad229e1f6
edia/MediaRecorder.java
fa1e5561cc65b932067919fcd5d39fda7032793e 18-May-2011 Mike Lockwood <lockwood@android.com> am 53b988ba: am 5a79cfd7: am 27ac64ec: Merge "StorageVolume: Add getStorageId() accessor" into honeycomb-mr2

* commit '53b988ba1842f40e595bb85f2ca055c24787e6dc':
StorageVolume: Add getStorageId() accessor
53b988ba1842f40e595bb85f2ca055c24787e6dc 18-May-2011 Mike Lockwood <lockwood@android.com> am 5a79cfd7: am 27ac64ec: Merge "StorageVolume: Add getStorageId() accessor" into honeycomb-mr2

* commit '5a79cfd7518defdce1911cecbc2441bb0a057e54':
StorageVolume: Add getStorageId() accessor
fbfe55512596fd00c1fb51caa851e17dae60fd43 17-May-2011 Mike Lockwood <lockwood@android.com> StorageVolume: Add getStorageId() accessor

This ID is used for MTP as well as per volume querying in the media provider.

Change-Id: Ic4fc986d972bd477730643f7e9450c390c0b3a4b
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpStorage.java
0f32fb3ecfdfaa03acf880a356629d43da3fe2fe 14-May-2011 James Dong <jdong@google.com> Make track informational event optional, depending on system property

o also add a track informational event to return the encoded data in kilo-bytes

Change-Id: I7c383360d57048c8a3606d0b8141ba53e4f4b224
edia/MediaRecorder.java
e6f3f54e05ac773cacd146a9cc69d758d031271a 16-May-2011 Mike Lockwood <lockwood@android.com> resolved conflicts for merge of b107f4de to master

Change-Id: I0290c8517562bcbba7ac1f6ed358011c8e7e250e
f97ed771979162c4a2a75959c57fb793438a3a8b 16-May-2011 Dianne Hackborn <hackbod@google.com> am d90a2c4d: am 1e662c32: Merge "DO NOT MERGE. Integrate from master: Rework display size access." into honeycomb-mr2

* commit 'd90a2c4d4463085155444efb07eba2d6579b444a':
DO NOT MERGE. Integrate from master: Rework display size access.
1e662c3294b740ff694ad98e4d9a366e1e4b5e62 16-May-2011 Dianne Hackborn <hackbod@google.com> Merge "DO NOT MERGE. Integrate from master: Rework display size access." into honeycomb-mr2
b107f4dec334b4c54584d4af21a7ceefc14947f2 16-May-2011 Mike Lockwood <lockwood@android.com> am e23639e0: am 15afd076: Merge "MTP: Have GetStorageInfo command return correct storage type for removable storage" into honeycomb-mr2

* commit 'e23639e0386735df50ad208078f638c38f662d42':
MTP: Have GetStorageInfo command return correct storage type for removable storage
fc4a3d37ef044b35450800235195401c4a54c712 16-May-2011 Mike Lockwood <lockwood@android.com> am b822d246: am 0a93d875: Merge "StorageManager: Clean up and generalize storage configuration resources" into honeycomb-mr2

* commit 'b822d2464dc59056f736b0c49f0ac514c7cbb9d9':
StorageManager: Clean up and generalize storage configuration resources
ac8dea12c17aa047e03a358110aeb60401d36aa2 21-Apr-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE. Integrate from master: Rework display size access.

Applications now get the display size from the window manager. No
behavior should be changed yet, this is just prep for some real
changes.

Change-Id: I47bf8b55ecd4476c25ed6482494a7bcc5fae45d2
tp/MtpDatabase.java
51690544aaeee82b1c50232cd57d50038b77f0c4 10-May-2011 Mike Lockwood <lockwood@android.com> MTP: Have GetStorageInfo command return correct storage type for removable storage

Change-Id: I09b548483c12080e7d77970babcae2eef379f2f4
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpStorage.java
2f6a3885533a52758c2cd4f81f6123a712be8ae6 10-May-2011 Mike Lockwood <lockwood@android.com> StorageManager: Clean up and generalize storage configuration resources

Replace config_emulateExternalStorage, config_externalStorageRemovable,
config_externalStoragePaths, config_externalStorageDescriptions and
config_mtpReserveSpaceMegabytes resources with an XML resource file
to describe the external storages that are available.

Add android.os.storage.StorageVolume class

StorageManager.getVolumeList() now returns an array of StorageVolume

Change-Id: I06ce1451ebf08b82f0ee825d56d59ebf72eacd3d
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
987ab4833ecbafbdf750eb1b04e43693433c4783 12-May-2011 James Dong <jdong@google.com> Support for storing geo information in the recorded mp4/3gpp file.

o Geo data (latitude and longitude) is stored in udta box

Change-Id: I76e4aeb741c4b339f3753d3d28190151f3ea4919
related-to-bug: 4260295
edia/MediaRecorder.java
f605a5aae5856d0c6114f36659ff9e8c5f3b5c19 12-May-2011 James Dong <jdong@google.com> Merge "Fix setDataSource(Context, Uri, Map<String,String> headers)"
e4e7b48e33fbdfc00f184c18c50e9f3d6335c5ac 12-May-2011 Andreas Huber <andih@google.com> Fix setDataSource(Context, Uri, Map<String,String> headers)

must not throw an exception if headers == null.

Change-Id: Ic8ddac597707129693874222fb2ebc5a84b8fff6
edia/MediaPlayer.java
9e836a7d2e4bb04a9c85dcb6b1f0cef50d5fd2e1 11-May-2011 James Dong <jdong@google.com> Expose the track informational event for testing

Change-Id: I0f12d62d4a36dde76823f7f39e075184c1916504
edia/MediaRecorder.java
158e3582c03ab9e0221718da20fc8854bb9216d0 09-May-2011 The Android Automerger <android-build@android.com> Merge remote branch 'goog/honeycomb-mr1' into honeycomb-mr2
256764c92fbb0d8f2b868307b6c68a75ef4d0481 06-May-2011 Scott Main <smain@google.com> am 9603fdee: am 0d560d45: am 9f7054fe: Merge "docs: add package description for mtp and a little more info to MtpDevice" into honeycomb-mr1

* commit '9603fdeecdf5417041aa68cc61a0373f33b74daa':
docs: add package description for mtp and a little more info to MtpDevice
9603fdeecdf5417041aa68cc61a0373f33b74daa 06-May-2011 Scott Main <smain@google.com> am 0d560d45: am 9f7054fe: Merge "docs: add package description for mtp and a little more info to MtpDevice" into honeycomb-mr1

* commit '0d560d454b88d52a3b48cbc3c3be27e563b7f098':
docs: add package description for mtp and a little more info to MtpDevice
0d560d454b88d52a3b48cbc3c3be27e563b7f098 06-May-2011 Scott Main <smain@google.com> am 9f7054fe: Merge "docs: add package description for mtp and a little more info to MtpDevice" into honeycomb-mr1

* commit '9f7054fea28e65ae1bf8bc1114090306979ba657':
docs: add package description for mtp and a little more info to MtpDevice
0cdd9f7def708a71a0d0722361f52c0416370dc6 06-May-2011 Scott Main <smain@google.com> docs: add package description for mtp and a little more info to MtpDevice

Change-Id: I44b3926c4a286f624de525a7f0cc896879582bf5
tp/MtpDevice.java
tp/package.html
17524dc0d296146c8ffb3f692dc8ab05fee5b1e0 04-May-2011 James Dong <jdong@google.com> Clean up JNI code

o Move the Set/Map/Iterator calls from JNI to Java
o The JNI function receives arrays instead of Maps
o Removed Set/Iterator calls from the Java code as suggested

Change-Id: I34068bf24b61abaf2833dad1f65abc733ed760dd
edia/MediaMetadataRetriever.java
edia/MediaPlayer.java
63de615ddb3cb81bbb5b548693faca971d182a6d 04-May-2011 Mike Lockwood <lockwood@android.com> am 36132a48: DO NOT MERGE MediaScanner: Add special casing of WMP album art files to isNoMediaPath()

* commit '36132a488b2974db9a90da809c2f3eeab99a4427':
DO NOT MERGE MediaScanner: Add special casing of WMP album art files to isNoMediaPath()
f6df5b41e145ee996ca4f94bec014ab3e41f0b21 04-May-2011 Mike Lockwood <lockwood@android.com> am fb623263: DO NOT MERGE MediaScanner: reimplement the ".nomedia" feature for hiding files from the media provider

* commit 'fb6232635d339c83ca100e472b159f103dafb6e2':
DO NOT MERGE MediaScanner: reimplement the ".nomedia" feature for hiding files from the media provider
863ee40964ef2a017a1116abe37c6b8ad466dd5e 04-May-2011 Marco Nelissen <marcone@google.com> am 7dd59229: DO NOT MERGE Fix media scanner uri handling.

* commit '7dd592298aefb7921afb86ced444d46cb30ac466':
DO NOT MERGE Fix media scanner uri handling.
21c0800f71c75d7bc38ca6dbc69fd8d10f175dcb 04-May-2011 Mike Lockwood <lockwood@android.com> am d3e4290c: DO NOT MERGE MTP and media provider support for multiple storage devices:

* commit 'd3e4290c0442b6dcf24bcf642f4fc26d12d8e7aa':
DO NOT MERGE MTP and media provider support for multiple storage devices:
36132a488b2974db9a90da809c2f3eeab99a4427 03-May-2011 Mike Lockwood <lockwood@android.com> DO NOT MERGE MediaScanner: Add special casing of WMP album art files to isNoMediaPath()

This will prevent MediaProvider from adding these files to the images table

Change-Id: Ice4756b64a067f3aceff08ab2c5e91665109dde5
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
fb6232635d339c83ca100e472b159f103dafb6e2 24-Apr-2011 Mike Lockwood <lockwood@android.com> DO NOT MERGE MediaScanner: reimplement the ".nomedia" feature for hiding files from the media provider

Previously we ignored any files and directories that had name started with '.'
and ignored any directories that contained a ".nomedia" file.
Now to support transferring any file via MTP, we now add these previously ignored files
to the media database, but will not mark them as audio, video, image or playlist files.
That way they will be included in the files table but will be hidden from the
audio, video, images and playlist views that are used by apps like Music and Gallery.

Bug: 3405327

Change-Id: Ib707f329be98878501952b6054998518a6eabbbd
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
edia/MediaScannerClient.java
7dd592298aefb7921afb86ced444d46cb30ac466 29-Mar-2011 Marco Nelissen <marcone@google.com> DO NOT MERGE Fix media scanner uri handling.

If a file was originally considered a video file (because it had
a .mp4 extension, for example), but was then discovered to have
only an audio track, it would update the type, but not the URI
for insertion into the media provider.

Change-Id: Ie589c9b52b436d73e295609d21238b2b3e829502
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
d3e4290c0442b6dcf24bcf642f4fc26d12d8e7aa 05-Apr-2011 Mike Lockwood <lockwood@android.com> DO NOT MERGE MTP and media provider support for multiple storage devices:

- MTP support for multiple storage units

- Add storage_id column to media database for MTP storage ID

- Add framework resource for defining mount points and user visible descriptions
for multiple volumes

- Clean up locking in MtpServer JNI code

Change-Id: I53d501fd4891ebe27408135fb598027e06b7e495
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpDatabase.java
tp/MtpPropertyGroup.java
tp/MtpServer.java
tp/MtpStorage.java
c56ad54bd93e34d5e6b90bd4f8090e85896a3bd0 03-May-2011 Mike Lockwood <lockwood@android.com> DO NOT MERGE MediaScanner: Add special casing of WMP album art files to isNoMediaPath()

This will prevent MediaProvider from adding these files to the images table

Change-Id: Ibc4128762f221b370a00e331aca633aafae0ad70
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
9c112a86def2f5e21705b29f906aadcb7fafb067 24-Apr-2011 Mike Lockwood <lockwood@android.com> DO NOT MERGE MediaScanner: reimplement the ".nomedia" feature for hiding files from the media provider

Previously we ignored any files and directories that had name started with '.'
and ignored any directories that contained a ".nomedia" file.
Now to support transferring any file via MTP, we now add these previously ignored files
to the media database, but will not mark them as audio, video, image or playlist files.
That way they will be included in the files table but will be hidden from the
audio, video, images and playlist views that are used by apps like Music and Gallery.

Bug: 3405327

Change-Id: Ibb37bb2856a0684ce9f685ed565ad35347622834
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
edia/MediaScannerClient.java
1cf74fb3c46f107d95a87c7c4ab88c421758f41e 29-Mar-2011 Marco Nelissen <marcone@google.com> DO NOT MERGE Fix media scanner uri handling.

If a file was originally considered a video file (because it had
a .mp4 extension, for example), but was then discovered to have
only an audio track, it would update the type, but not the URI
for insertion into the media provider.

Change-Id: I25652a031b98d2ec2433263dd6f344ba90d2d112
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
7ae938be1b4fb8938f0f438cfd611cd9ed0da513 05-Apr-2011 Mike Lockwood <lockwood@android.com> DO NOT MERGE MTP and media provider support for multiple storage devices:

- MTP support for multiple storage units

- Add storage_id column to media database for MTP storage ID

- Add framework resource for defining mount points and user visible descriptions
for multiple volumes

- Clean up locking in MtpServer JNI code

Change-Id: Ide6d47bd9aa1698ed2a13d695613e03f2a9b29e3
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpDatabase.java
tp/MtpPropertyGroup.java
tp/MtpServer.java
tp/MtpStorage.java
c6091ddd3a22da98b5e83d4b5d864939b451b752 04-May-2011 Gloria Wang <gwang@google.com> Initial CL for the timed text support:
- Add support for MP4 timed text
- Add API for app to turn on/off a text track
- Add timed text metadata(language) in the MediaMetadataRetriever

Change-Id: I0055beba38ac761627dbcc6d581ae9582d68bb94
edia/MediaMetadataRetriever.java
edia/MediaPlayer.java
ade06df0fe3499d66ee5cc29071d41445d1091fa 03-May-2011 Mike Lockwood <lockwood@android.com> MediaScanner: Add special casing of WMP album art files to isNoMediaPath()

This will prevent MediaProvider from adding these files to the images table

Change-Id: I496a108b52a481c78dbf58c4e62996656b1fcbb9
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
d01ec6eab019e46398975202e9e4a198a603ad99 26-Apr-2011 Gloria Wang <gwang@google.com> Add setParameter/getParameter to MediaPlayer API.
for bug 1982947

Change-Id: If3f40e4f18cbba155af29944af38bdc627f8cd53
edia/MediaPlayer.java
997354e4b4a9666cedd62282471e97822affced9 24-Apr-2011 Mike Lockwood <lockwood@android.com> MediaScanner: reimplement the ".nomedia" feature for hiding files from the media provider

Previously we ignored any files and directories that had name started with '.'
and ignored any directories that contained a ".nomedia" file.
Now to support transferring any file via MTP, we now add these previously ignored files
to the media database, but will not mark them as audio, video, image or playlist files.
That way they will be included in the files table but will be hidden from the
audio, video, images and playlist views that are used by apps like Music and Gallery.

Bug: 3405327

Change-Id: I2d7285bd32e06c1a5c4ef6a8a15f8f8b2c33b39b
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
edia/MediaScannerClient.java
4c1f4f7144ad6d73ca2a28eceb5a1c43664799c7 22-Apr-2011 Dianne Hackborn <hackbod@google.com> Merge "Rework display size access."
f50e54e64b2b5a269e1a88c511a57064a14bb51b 22-Apr-2011 Dianne Hackborn <hackbod@google.com> Remove config_caseSensitiveExternalStorage; no longer needed.

Change-Id: Id51c9e05be21d8087359cf918081109ba325569a
edia/MediaScanner.java
44bc17c6b517aef35a390c81b5aa79c4f284f744 21-Apr-2011 Dianne Hackborn <hackbod@google.com> Rework display size access.

Applications now get the display size from the window manager. No
behavior should be changed yet, this is just prep for some real
changes.

Change-Id: I2958a6660895c1cba2b670509600014e55ee9273
tp/MtpDatabase.java
72e738a428d7bb39a371da6105f7e2084e67e39d 20-Apr-2011 Andreas Huber <andih@google.com> Unhide MediaPlayer's setDataSource method that takes optional http headers to be

passed to the server.

Change-Id: I3c7ce140b2d9cd2483cf05c8aff9b374feff2f18
related-to-bug: 4315346
edia/MediaPlayer.java
2c3bf8e93dd658fb5d9d9e348d6caa835571e369 18-Apr-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix bug 2659754 ConcurrentModificationException in audio focus changes"
95814b0268ce3943930156afd3f423af8afed8e9 18-Apr-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix bug 2724503 Persist media button receiver across reboots"
72843377d50a8f95cceaf33d316ab68d9b47f2eb 18-Apr-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2659754 ConcurrentModificationException in audio focus changes

While iterating over the audio focus stack or the media button
receiver stacks, do not modify the stack other than through the
iterator object.

Change-Id: Ice8827e7d29afed72b40c93edf7401cd54ba4b0c
edia/AudioService.java
d589fea865e90859324f00d21765fa7d7759e465 15-Apr-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2724503 Persist media button receiver across reboots

Whenever a new media button receiver is registered, save it
in the settings.

When the system audio settings are reloaded or when the
AudioService is created, the registered media button receiver
is restored.

Whenever a package is removed from the system, remove
any media button receiver from the same package that are in
the media button receiver stack. If this causes the currently
registered receiver to change (i.e. the top of the stack),
this will cause an update of the receiver stored in the
system settings.

Note that unregistering a media button receiver will not
cause the receiver saved in the settings to be updated,
this is ON PURPOSE. This is to prevent well behaved
application who unregister their receiver at the destruction
of their service, to not receive the intent after a reboot,
and to not encourage applications to never unregister
their receiver.

Change-Id: I941b777debaa56e88de93c3b03aec40331ea9ab1
edia/AudioService.java
162ee49e1ce8800de80697fdd0e0e42ad7e9374e 12-Apr-2011 Gloria Wang <gwang@google.com> - Add another parameter in notify() to be able to send timed text sample
through listener during video playback.
- Add OnTimedTextListener in the MediaPlayer
For feature request 800939.

Change-Id: I65072c27acb4c0037109a72be38c73e9f667420f
edia/MediaPlayer.java
43a17654cf4bfe7f1ec22bd8b7b32daccdf27c09 07-Apr-2011 Joe Onorato <joeo@google.com> Remove the deprecated things from Config.java. These haven't been working since before 1.0.

Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
edia/AmrInputStream.java
edia/AudioManager.java
edia/MediaScanner.java
edia/MediaScannerConnection.java
edia/ResampleInputStream.java
d07f6a7934d229e91d7ca23e83c664101f472312 06-Apr-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Bug 4231349 fix error in javadoc for android.media.MediaPlayer"
ea763069b1dca16193d32c6cf3ceab1c23743271 06-Apr-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 4231349 fix error in javadoc for android.media.MediaPlayer

In the javadoc for MediaPlayer.OnBufferingUpdateListener,
the percent parameter for onBufferingUpdate() is described as:
the percentage (0-100) of the buffer that has been filled thus far

This is incorrect. This percentage is the ratio of (current position
+ content buffered) relative to the total duration.
Also buffering updates are only sent for progressive HTTP download.

Change-Id: I9f346a150b39fa1f7b17126119ecc0d7d27fbfbe
edia/MediaPlayer.java
85b65f2008e7eb8ef492a63cba80555f58915769 06-Apr-2011 Glenn Kasten <gkasten@google.com> Merge "Miscellaneous code cleanup in audio framework"
ed0079ddddd4070f3369b13b274222da2e69f4b9 04-Apr-2011 Glenn Kasten <gkasten@google.com> Miscellaneous code cleanup in audio framework

Changes:
- Move declaration of kClassPathName to top of file so it can be used
in more than one place, instead of "android/media/AudioSystem".
- Make private methods static.
- Add comment to stream_type, audio_mode, force_use types that they must match
values in AudioSystem.java.
- Add comment about unused types mp3_sub_format and vorbis_sub_format.
- Fix typos.
- Use @ in javadoc comments.
- Delete dead APIs setMode, getMode, setRouting, getRouting in AudioSystem.java
(they are all hidden, deprecated, and unused by rest of framework)
- Delete unused private log method.
- Fix pathname for android_media_AudioSystem.cpp.
- Improve code formatting for space after == and !=.
- Add logging of delta for changing audio policy manager ref count.

Change-Id: I18037c7beb8ab76d1fda08c11e589f6e591d36e1
edia/AudioSystem.java
b239b683765f63d79e74b8ba2a8cc2855f236536 05-Apr-2011 Mike Lockwood <lockwood@android.com> MTP and media provider support for multiple storage devices:

- MTP support for multiple storage units

- Add storage_id column to media database for MTP storage ID

- Add framework resource for defining mount points and user visible descriptions
for multiple volumes

- Clean up locking in MtpServer JNI code

Change-Id: Iffb66ed156ef5bc80b14228af78fbacee7734360
tp/MtpDatabase.java
tp/MtpPropertyGroup.java
tp/MtpServer.java
tp/MtpStorage.java
853814957293d0a891f374d1dc8950be866909c6 01-Apr-2011 Mike Lockwood <lockwood@android.com> am 1c56976a: am 38f04c0f: am 11dd5ae9: Improve Javadoc for USB Manager and MTP/PTP support.

* commit '1c56976a774434bd279b6181c4fc3c555c4648c2':
Improve Javadoc for USB Manager and MTP/PTP support.
1c56976a774434bd279b6181c4fc3c555c4648c2 01-Apr-2011 Mike Lockwood <lockwood@android.com> am 38f04c0f: am 11dd5ae9: Improve Javadoc for USB Manager and MTP/PTP support.

* commit '38f04c0f28fc59bc7e893ca6a1ffc4d0745ab8c2':
Improve Javadoc for USB Manager and MTP/PTP support.
11dd5ae97b1cd5889bb66862fd12718da62a9c75 01-Apr-2011 Mike Lockwood <lockwood@android.com> Improve Javadoc for USB Manager and MTP/PTP support.

Bug: 4091519

Change-Id: Ida79593d5a984f7ffd0934ae7bded23b8faf9eef
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpDevice.java
tp/MtpStorageInfo.java
36bafb0b7d3bcd1967799a0966eec74610613296 31-Mar-2011 Brad Fitzpatrick <bradfitz@android.com> am 0ddcc8bc: am b618b2ef: am f0dbf00d: Merge "Handle OutOfMemoryError when decoding images in ThumbnailUtils"

* commit '0ddcc8bc60ffa00e103f420f95b7f8a7c77639b6':
Handle OutOfMemoryError when decoding images in ThumbnailUtils
cabb7da7125a80c55233bd23959327424e9646cc 24-Mar-2011 Andreas Huber <andih@google.com> Support for divx files, i.e. mpeg 4 video + mpeg audio layer III in .avi files

Change-Id: I6e1e989c43300ddb0d341e3e9183cdccd69eeae6
related-to-bug: 4192562
edia/MediaFile.java
0ddcc8bc60ffa00e103f420f95b7f8a7c77639b6 30-Mar-2011 Brad Fitzpatrick <bradfitz@android.com> am b618b2ef: am f0dbf00d: Merge "Handle OutOfMemoryError when decoding images in ThumbnailUtils"

* commit 'b618b2ef8722964730d09a86a06a85ca34df6de4':
Handle OutOfMemoryError when decoding images in ThumbnailUtils
5c8eff3308c79f25bfe07d00c214f665581e5d7e 30-Mar-2011 James Dong <jdong@google.com> Merge "Fix missing cross-ref links in the MediaPlayer.java javadoc"
30ec6c2bf587b1525ab4c2de66f31349b574641c 30-Mar-2011 Marco Nelissen <marcone@google.com> Merge "Fix media scanner uri handling."
3e5e8055942ee8179675b8ed11d40ca12dbe42e6 29-Mar-2011 Marco Nelissen <marcone@google.com> Fix media scanner uri handling.

If a file was originally considered a video file (because it had
a .mp4 extension, for example), but was then discovered to have
only an audio track, it would update the type, but not the URI
for insertion into the media provider.

Change-Id: Ifdf3a177750f1e71ca5a058fa534d272e1505653
edia/MediaScanner.java
eecadb9a84f357fb224592cc77603ff3e7c28f08 29-Mar-2011 Andreas Huber <andih@google.com> Adding support for the '.mxmf' MIDI file extension.

Change-Id: Ic73e2f843f8640dd794d090413cf63232f0182b9
related-to-bug: 4186454
edia/MediaFile.java
c36b3c6956479f1a154fe1e08b679ff4657097e1 29-Mar-2011 James Dong <jdong@google.com> Fix missing cross-ref links in the MediaPlayer.java javadoc

Change-Id: Ie5fba234d226ff792661ec346ddf87f43b5a0dc7
edia/MediaPlayer.java
375fb9bfd29ea4480aa9582bf3956b435152c8d9 21-Mar-2011 Christer Fletcher <christer.fletcher@sonyericsson.com> Handle OutOfMemoryError when decoding images in ThumbnailUtils

Added handling of OutOfMemoryError handling to createImageThumbnail
method in ThumbnailUtils.java. During mediascanner run it would run
out of memory when trying to decode very large images. Now it handles
this error and returns null which is handled by the media scanner.

Change-Id: Ie68722dfa1cedd3c0847bf483baa40c4827ad5a8
edia/ThumbnailUtils.java
602b3286ffe7da6e70bf2d9e4861a5d74ff7c473 18-Mar-2011 Eric Laurent <elaurent@google.com> Fix issue 3509396: AudioEffect.getParameter JAVA.

Removed dead/buggy code in AudioEffect.getParameter() and
AudioEffect.command() that was meant to return the actual length of
meaningful data in the returned parameter or command reply.

This is replaced by the method return status indicating this length when
positive (negative return codes still indicate the same errors as before).

Modified automated AudioEffect tests accordingly.

Change-Id: Ie89617f912766b8dee73b81f92af9c48027c982d
edia/audiofx/AudioEffect.java
5b7ced6a4ebcec34a36d0779773bc9e671732dbf 21-Mar-2011 Andreas Huber <andih@google.com> Support passing headers to MediaMetadataRetriever's setDataSource API

Change-Id: Ib1a5c08fc5034cac05034db27007a35c9b660b26
related-to-bug: 3506316
edia/MediaMetadataRetriever.java
ce06ebfda4bd7c511cef3d98aacf7291a743ea46 17-Mar-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Add support for timestamps into SurfaceTexture."
c5f94d8a4779050125145396ca83fbc862c7ed6b 18-Feb-2011 Eino-Ville Talvala <etalvala@google.com> Add support for timestamps into SurfaceTexture.

API addition: The timestamps are represented as nanoseconds from some
arbitrary time point. Like the SurfaceTexture transform matrix, the
timestamp retrieved by getTimestamp is for the last frame sent to the
GL texture using updateTexImage().

Camera HAL change: Expect vendors to set these timestamps using
native_window_set_buffers_timestamp(). For now, they are
autogenerated by SurfaceTextureClient if set_buffers_timestamp() is
never called, but such timing is likely not accurate enough to pass a
CTS test.

bug:3300707

Change-Id: Ife131a0c2a826ac27342e11b8a6c42ff49e1bea7
edia/MediaPlayer.java
630e6d7d26fea26abcaaa8c4dabe1fda5d817a41 17-Mar-2011 Mike Lockwood <lockwood@android.com> am 132b23f8: am c97022e7: am 11473332: Merge "MtpServer: Do not attempt to stop MTP if it has not been started" into honeycomb-mr1

* commit '132b23f84905060163be6a30d718074cd4e1770d':
MtpServer: Do not attempt to stop MTP if it has not been started
a3f8514492cb4bc8fa7c36e2c0f720342796ada7 17-Mar-2011 Mike Lockwood <lockwood@android.com> MtpServer: Do not attempt to stop MTP if it has not been started

Fixes an ANR that occurred if we got a USB disconnected event
before the MTP service had started.

Bug: 4118033

Change-Id: I6cad4281a5911a9926cae923f34d3a6bf98346c5
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpServer.java
0b8fe2012debcc3a274797ff4d405906fd30be8e 17-Mar-2011 Rajneesh Chowdury <rajneeshc@google.com> am ce254e86: am 69d05490: am 0edefea8: Merge "Fix for 4087846 Crash reported by monkey report (Java/Jni)" into honeycomb-mr1

* commit 'ce254e8613ddc4d57a8a5a8a2763b22690f451a4':
Fix for 4087846 Crash reported by monkey report (Java/Jni)
0edefea88e975613bca9f0227614de91434ade11 17-Mar-2011 Rajneesh Chowdury <rajneeshc@google.com> Merge "Fix for 4087846 Crash reported by monkey report (Java/Jni)" into honeycomb-mr1
8e7991a52edb3eb8bd1a44ceb7f6d97108748c8c 16-Mar-2011 Rajneesh Chowdury <rajneeshc@google.com> Fix for 4087846 Crash reported by monkey report (Java/Jni)

Change-Id: I356f975743f5a24e72f33a20ee497a2b12791be6
edia/videoeditor/VideoEditorImpl.java
0660c7d04892f3e84e5a3a3ec42cf4c704b9d689 15-Mar-2011 James Dong <jdong@google.com> Merge "Add a release() method to MediaScanner"
6c256d125e465d651cf7f44323113bd8e93f90d5 15-Mar-2011 Shailendra Yadav <shailendray@google.com> am e987cbaf: am 3fabad87: Merge "Fix for Don\'t allow adding 64-bit files(4086708)" into honeycomb-mr1

* commit 'e987cbafc2a6c19cae1ccf50658fb6320bda084a':
Fix for Don't allow adding 64-bit files(4086708)
3fabad87f6cade6ccf7dc6d716e8b91675982088 15-Mar-2011 Shailendra Yadav <shailendray@google.com> Merge "Fix for Don't allow adding 64-bit files(4086708)" into honeycomb-mr1
4d0ec22aa91428030ae9ef1ead6f1b1d769745ac 12-Mar-2011 Shailendra Yadav <shailendray@google.com> Fix for Don't allow adding 64-bit files(4086708)

Change-Id: I880c89b565dd8172fdf077a514d5b3d03eab7d9e
edia/videoeditor/AudioTrack.java
edia/videoeditor/MediaItem.java
edia/videoeditor/VideoEditor.java
edia/videoeditor/VideoEditorImpl.java
eb30077ee928a3c2b8af7c38670c948079f90640 14-Mar-2011 Eric Laurent <elaurent@google.com> am 733cb79a: am 3cbfd10b: Merge "Partial fix for issue 3515250: video chat and SCO" into honeycomb-mr1

* commit '733cb79a27fa434a1f5548201c953131285b4e81':
Partial fix for issue 3515250: video chat and SCO
3cbfd10bbb869f763880060ebe01dd66da62bbc3 14-Mar-2011 Eric Laurent <elaurent@google.com> Merge "Partial fix for issue 3515250: video chat and SCO" into honeycomb-mr1
fa640154f1f42121d81242b2f1a10f03e52f0014 13-Mar-2011 Eric Laurent <elaurent@google.com> Partial fix for issue 3515250: video chat and SCO

Do not call directly into AudioSystem in setBluetoothScoOn() but
send a message to the AudioService handler instead. As the
procedure to switch audio path to BT SCO can last some time we should
not block the caller which can run in the UI thread.

Change-Id: I6ac4b5a934d69781db3aebe5d0e8137b52a0ada4
edia/AudioService.java
e1976e5c61cdbd22db291ba1698079469bc21955 12-Mar-2011 Mike Lockwood <lockwood@android.com> am 3b473d95: am 9fffd9a8: Merge "USB: minor cleanup work" into honeycomb-mr1

* commit '3b473d958c46ea6511b9599f727b47636e5cbc4a':
USB: minor cleanup work
133cf8b92a07d5be8c64607b9644aa9cef169fb0 12-Mar-2011 James Dong <jdong@google.com> Add a release() method to MediaScanner

bug - 2586042

Change-Id: I08713ac75cbcaf01dff21a24cdefb6e2dacc92cb
edia/MediaScanner.java
62cfeeb821afb2f3d3b78ad93caa13408cd26eac 12-Mar-2011 Mike Lockwood <lockwood@android.com> USB: minor cleanup work

Bug: 4067029

Change-Id: Icd8f912ab8732b5f770a217b9b3731092597ce02
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpConstants.java
tp/MtpDevice.java
b46ecb352617b4c2f2d5f716aa6af6f518d1f579 11-Mar-2011 Mike Lockwood <lockwood@android.com> am 75c95e9a: am 0eb7b697: Merge changes Ib63ab95a,I585b0610,Ia84da0b5 into honeycomb-mr1

* commit '75c95e9a6d5a91b660af62f72b5a3bac0f5c3811':
UsbManager: Hide APIs not needed for USB host or accessory support.
Remove MtpClient class from framework and public API
UsbDevice: Move IO related methods to new UsbDeviceConnection class
c72eb9113a2f3f7886afcecf5c29507e0a3a8266 11-Mar-2011 Mike Lockwood <lockwood@android.com> Remove MtpClient class from framework and public API

After reviewing this class I decided it would be best not to include it in the public API
since it adds no functionality that cannot be done using MtpDevice and other APIs directly.
So I am moving it to the CameraBrowser sample instead.

Also changed CameraBrowser to build against the SDK to ensure all the necessary APIs for
PTP support have been made public.

Bug: 4067029

Change-Id: I585b06104084953176d018ced08bba0cb4607490
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpClient.java
acc29cc91be634070c92a807df412ced97b9b375 11-Mar-2011 Mike Lockwood <lockwood@android.com> UsbDevice: Move IO related methods to new UsbDeviceConnection class

UsbDevice is now just an immutable parcelable object like UsbInterface and
UsbEndpoint.
All IO related functionality is now contained in UsbDeviceConnection
and UsbRequest.

Bug: 4067029

Change-Id: Ia84da0b512a697acc940eee0c3566711c62e1a68
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpClient.java
tp/MtpDevice.java
c0d9d25b8731be61015ebf44c10a2d372d52c893 11-Mar-2011 Rajneesh Chowdury <rajneeshc@google.com> am a4865ec7: am a7118e33: Merge "Fix for 4080402 NPE in Transition.setDuration" into honeycomb-mr1

* commit 'a4865ec73f9faccd6dc442cbc6d78666b1a69b28':
Fix for 4080402 NPE in Transition.setDuration
a7118e33b494b26bfbd37c895a1c412cd5da56ec 11-Mar-2011 Rajneesh Chowdury <rajneeshc@google.com> Merge "Fix for 4080402 NPE in Transition.setDuration" into honeycomb-mr1
e7defc29750e5e201a5041d0fce1ffca9e305229 10-Mar-2011 Rajneesh Chowdury <rajneeshc@google.com> Fix for 4080402 NPE in Transition.setDuration

Change-Id: I1e4499e3191beafdaf9bb4b7fd51798bd1eab300
edia/videoeditor/Transition.java
edia/videoeditor/TransitionAlpha.java
0984ba25dbb6b405a905264b343e8286483368cb 09-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> am 8d0e2b98: am 5fa7aac8: Merge "Fix bug 4064086 Use a death handler on audio focus changes from mode" into honeycomb-mr1

* commit '8d0e2b9857e5f77ced233dc408a7acd9e8ab2e8c':
Fix bug 4064086 Use a death handler on audio focus changes from mode
5fa7aac81b471557cd944f762340281e5fa012f9 09-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix bug 4064086 Use a death handler on audio focus changes from mode" into honeycomb-mr1
77e1a4c57e1d5a75a09c514ef5b7d358a9150bbf 09-Mar-2011 Mike Lockwood <lockwood@android.com> am 093cf07f: am 9e8e4ea0: Merge changes Ib517e5e4,I93be7695,I49bf22a4 into honeycomb-mr1

* commit '093cf07f3c58a6553c415d750edba1a75b269f05':
Close USB dialogs if their corresponding accessory or device has disconnected
USB: Add API and dialog for apps to request permissions for USB devices and accessories
UsbService: Automatically use system apps by default if it is the only choice
3a68b8338b431eb15d28e92f06452efbbda9493e 08-Mar-2011 Mike Lockwood <lockwood@android.com> USB: Add API and dialog for apps to request permissions for USB devices and accessories

New APIs:

UsbManager.hasPermission returns true if the caller has permission
for the given device or accessory

UsbManager.requestPermission poses a dialog to allow the user to give the caller
permission for the device or accessory.
Result is returned via a PendingIntent.
No dialog is displayed if the caller already has permission.

Also moved UsbResolverActivity to SystemUI package

BUG: 4069037

Change-Id: I93be769501a8776b49ac26e468af19f8fa2114c9
tp/MtpClient.java
382f4e6ea4dcf39105b36364582ed01642daa93c 08-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 4064086 Use a death handler on audio focus changes from mode

Use a death handler when audio focus changes are caused by audio
mode changes.

The bug comes from the fact that audio focus clients that use the
audio mode for automatic focus handling didn't register a death
handler, which was set to null. When such a client died, this
handler was compared against the one to remove from the
audio focus stack, which resulted in an NPE.
The fix consists in registering a valid IBinder object in the
audio focus stack, even for clients whose focus requests originate
from a change in audio mode, as implemented in the
handleFocusForCalls() method.

Change-Id: Id9e1d3d10afcd99969285f6d60fc4d7dde1e4a10
edia/AudioService.java
8b4a4207f6683ee3d9aaf9510a64c2f3589a5d69 08-Mar-2011 Mike Lockwood <lockwood@android.com> am bd3d019c: am 823f5bf3: Merge "MTP: Use SharedPreferences for MTP device properties rather than sqlite3" into honeycomb-mr1

* commit 'bd3d019cc66237c23ab0658ff80aa7923e84b239':
MTP: Use SharedPreferences for MTP device properties rather than sqlite3
823f5bf3db8b2f588ae917aaff5d27a65c87f132 08-Mar-2011 Mike Lockwood <lockwood@android.com> Merge "MTP: Use SharedPreferences for MTP device properties rather than sqlite3" into honeycomb-mr1
165c77b9e4b0e3e204cf529b1fcbfbbe25f0d9b1 08-Mar-2011 Santosh Madhava <smadhava@google.com> am 5893b453: am 0e8dc72d: Merge "Fix for issue 3453519: (Java/JNI) do not allow editing of DRM protected contents" into honeycomb-mr1

* commit '5893b453fc762d18e759a391a442600be4924489':
Fix for issue 3453519: (Java/JNI) do not allow editing of DRM protected contents
0e8dc72db34c0a4eb92763de4e048abc4d20f47f 08-Mar-2011 Santosh Madhava <smadhava@google.com> Merge "Fix for issue 3453519: (Java/JNI) do not allow editing of DRM protected contents" into honeycomb-mr1
2d5bb293a47326bb615362315aa919376d0fcf98 07-Mar-2011 Mike Lockwood <lockwood@android.com> am 1cdb2929: am 11cb5cb9: Merge "MtpClient: Fix problem with getDeviceList() returning empty result in some cases" into honeycomb-mr1

* commit '1cdb2929f368a1ab1c30e89200e585fcb1278492':
MtpClient: Fix problem with getDeviceList() returning empty result in some cases
2b8a1ee0578e81b6600d5b2b03db9446d63e4616 07-Mar-2011 Mike Lockwood <lockwood@android.com> MtpClient: Fix problem with getDeviceList() returning empty result in some cases

BUG: 3503128

Change-Id: I2263437d6018848e316ae4096eb07305fc4dc486
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpClient.java
775de951a8d4f4fe58c849efd9ef7b92c4ade907 05-Mar-2011 Mike Lockwood <lockwood@android.com> MTP: Use SharedPreferences for MTP device properties rather than sqlite3

sqlite3 is overkill for what we are doing here, and more fragile.

BUG: 3512856

Change-Id: I83d86127949d894a3887db3456d91b013060e852
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpDatabase.java
895a28e14e6c88b4ff3b1f1cdf02d22f7b3b52ca 05-Mar-2011 Santosh Madhava <smadhava@google.com> Fix for issue 3453519: (Java/JNI) do not allow editing of DRM protected contents

Change-Id: I376483c42b5bed8d2a1765804c2261c18d720a0c
edia/videoeditor/AudioTrack.java
edia/videoeditor/MediaVideoItem.java
c4c38fc1ea06086ea3c7ba12f59ecfacd5fa716b 04-Mar-2011 Andreas Huber <andih@google.com> Added more metadata published by the MediaMetaDataRetriever

- presence of audio/video content
- video dimensions
- avg. bitrate

Change-Id: Ie6d478a3c2d0bb6bebaea99ac0a20a4c17808934
related-to-bug: 3506316
edia/MediaMetadataRetriever.java
a2c322f599b5a44ca153922b994a05a4311331cb 22-Feb-2011 Ray Chen <raychen@google.com> 3406494 Gallery photos in nonsensical order

Change-Id: Ic992465a6683179bff280753dcaf9aa6372424e6
edia/MediaScanner.java
37b05d7d61cb7e7313736e14ca46c1287c5d1089 03-Mar-2011 Mike Lockwood <lockwood@android.com> Merge "MtpClient: remove finalize override to avoid multiple calls to unregisterReceiver"
1bdeef34efc4245c8ec47799e2bd0bfa4408ef2b 03-Mar-2011 Mike Lockwood <lockwood@android.com> MtpClient: remove finalize override to avoid multiple calls to unregisterReceiver

BUG: 3497801

Change-Id: I4ed0166efcc509a18361287c5816bc4844089025
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpClient.java
06b3afe2bdea5a00a2221ca1f3381def1c431ab7 02-Mar-2011 Santosh Madhava <smadhava@google.com> Merge "Fix for issue 3495914: (In Java) Video clip switches between start and end"
7256a7c525e079442fd733db692936f5f070b996 02-Mar-2011 Santosh Madhava <smadhava@google.com> Fix for issue 3495914: (In Java) Video clip switches between start and end

Change-Id: Ie5ea83c61c6c008162abea76e15d745a901a1e23
edia/videoeditor/MediaArtistNativeHelper.java
c4308f01c965571dc2354107c3574df113e397ee 01-Mar-2011 Mike Lockwood <lockwood@android.com> Move USB framework support from android.hardware to android.hardware.usb package

Change-Id: I00fd4f0caaa4aebe48f71c576bb211b5f38bf88d
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpClient.java
tp/MtpDevice.java
9e69035598914f1c92dd0f58b3e40f9eb29a82f8 28-Feb-2011 Santosh Madhava <smadhava@google.com> Merge "Fix for issue 3466385: Low quality video properties are applied to all"
65260be5d4e9793b466d84ca5f59b20a8605126c 28-Feb-2011 Eric Laurent <elaurent@google.com> Merge "Fix issue 3388354."
854938a72d968c1bc0de4e2b0ea87777cfebc045 22-Feb-2011 Eric Laurent <elaurent@google.com> Fix issue 3388354.

Release all sco audio clients when the intent indicating
STATE_AUDIO_DISCONNECTED state is received.
Also clear mScoClients array when clients are released.

Change-Id: I63ec9d70fe72a102e09a4a473a367fb2e550b171
edia/AudioService.java
f67441eb370f764710b5697885d1a1549d41e819 25-Feb-2011 Rajneesh Chowdury <rajneeshc@google.com> Instrumentation code to enable/disable memory leak check using setprop

The heap memory dump is enabled when libc.debug.malloc property is 1.
Two .dump files are created in predefined path.

Memory leak report can be generated using nativeheapdump tool.

Change-Id: Ie03928b5a05993e72d4700a158657c514478ecd3
edia/videoeditor/VideoEditorImpl.java
bcbf68583e38eeb79266f9f3a8c3d1b17f75a8c2 28-Feb-2011 Santosh Madhava <smadhava@google.com> Fix for issue 3466385: Low quality video properties are applied to all

Change-Id: Idcae85d88de65bae549263f9c43a6f3020dd63a1
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/MediaProperties.java
edia/videoeditor/VideoEditorImpl.java
89782f501343fdbbe3bd6ab36e65474d49cd4b89 25-Feb-2011 Santosh Madhava <smadhava@google.com> Fix for issue 3485010: The project thumbnail is not regenerated

Change-Id: I2c882bdf2e82b95b1ad19ab50ec636a78b1c1561
edia/videoeditor/VideoEditorImpl.java
b607b884bd94d4f75fb4b2ead7457f2027ceb850 24-Feb-2011 Mike Lockwood <lockwood@android.com> Merge "UsbManager: Remove redundant Intent extras from USB device and accessory broadcasts"
cc562a3576a6a8096626387472e05e8bee03352a 09-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3438258 Add SurfaceTexture as MediaPlayer sink

This change enables the use of a SurfaceTexture in place of a Surface
as the video sink for an android.media.MediaPlayer. The new API
MediaPlayer.setTexture is currently hidden.

This includes:
- New Java and C++ interfaces
- C++ plumbing and implementation (JNI, Binder)
- Stagefright AwesomePlayer and NuPlayer use ANativeWindow
(either Surface or SurfaceTextureClient)

Change-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51
edia/MediaPlayer.java
188d00b07ef0b8968868b3489e80dd9f53d3bafa 23-Feb-2011 Mike Lockwood <lockwood@android.com> UsbManager: Remove redundant Intent extras from USB device and accessory broadcasts

These extras are also accessable via the UsbDevice and UsbAccessory classes,
which are also included as extras.
Since you can't filter Intents based on extras there is no point in duplicating
this information as separate extras.

Change-Id: I4c8d1e70d66023a1800b3f8f06118898da6b37af
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpClient.java
bba9529d796654b0ac7a966261daf53706dfabc9 23-Feb-2011 Santosh Madhava <smadhava@google.com> Merge "Cleanup for issue 3471160 : video editor calls System.gc"
87e639bc151551c9618641a6765837b44eb90b9b 23-Feb-2011 Gloria Wang <gwang@google.com> Merge "- Add method in MediaPlayerService to collect and pull codec usage (duration) for the battery app - Collect MediaPlayer decoding usage data"
d211f41f764fe81fe00b10a99b4b44cb84479cbe 20-Feb-2011 Gloria Wang <gwang@google.com> - Add method in MediaPlayerService to collect and pull
codec usage (duration) for the battery app
- Collect MediaPlayer decoding usage data

Change-Id: I0ef4e32b6a041ba1fe73c19f9c67185c61d03965
edia/MediaPlayer.java
9a146d9d6592cc527c3ca0beeb721cb7e7720805 23-Feb-2011 James Dong <jdong@google.com> am d97c598f: am 6c9b500f: Merge "Added more warnings in javadoc for failure to call MediaPlayer.release() immediately if a MediaPlayer is not needed" into honeycomb

* commit 'd97c598ff4d902583f9083960b088b31350d0018':
Added more warnings in javadoc for failure to call MediaPlayer.release() immediately if a MediaPlayer is not needed
d97c598ff4d902583f9083960b088b31350d0018 23-Feb-2011 James Dong <jdong@google.com> am 6c9b500f: Merge "Added more warnings in javadoc for failure to call MediaPlayer.release() immediately if a MediaPlayer is not needed" into honeycomb

* commit '6c9b500fc59edd8cb3b5a9ac4a0ddadf54bdf525':
Added more warnings in javadoc for failure to call MediaPlayer.release() immediately if a MediaPlayer is not needed
3f48207ea4592ec0897f2043b2042a7114f8487d 23-Feb-2011 Santosh Madhava <smadhava@google.com> Cleanup for issue 3471160 : video editor calls System.gc

Change-Id: I8cdebde25a45767a1c1b9b6c2c59b7e65cacc0bd
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/MediaImageItem.java
16dc3073a2f06a77d9873e536f633a4adf575fce 18-Feb-2011 Mike Lockwood <lockwood@android.com> Don't treat WMV and ASF files as video files unless WMV is supported

Change-Id: I512d1db67e06273d9c23d10fa30d2d62f9f75a75
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaFile.java
66e57f6aa9d206552e9b154bf00a17d6efae7fb0 18-Feb-2011 Mike Lockwood <lockwood@android.com> MTP: Disable MTP when the keyguard is locked and secure

BUG: 3402847

Change-Id: I6c77efe18f525cd0af37911c8b6aac4f17352552
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpServer.java
14460b9564ab700a8d426855003064568bff31e3 22-Feb-2011 James Dong <jdong@google.com> Added more warnings in javadoc for failure to call MediaPlayer.release() immediately if a MediaPlayer is not needed

bug - 3040402

Change-Id: I455d2a664851c73212711e8c4b88e97b50ee5b62
edia/MediaPlayer.java
dab9689491c615f605d503807b93e319048dd2a7 22-Feb-2011 Rajneesh Chowdury <rajneeshc@google.com> Merge "Fix for 3458686 Play button is enabled before loading the transition. Play results in Native Crash"
06a087a52b35f6cc9096a9a60c924bb765a5a746 22-Feb-2011 Rajneesh Chowdury <rajneeshc@google.com> Fix for 3458686 Play button is enabled before loading the transition. Play results in Native Crash

Change-Id: Ib257484ff8646b8e6a0a6a4bb9b937d5338c060c
edia/videoeditor/Transition.java
df4723ef3c43b3a0b2548908a4461db29b5649d2 17-Feb-2011 Santosh Madhava <smadhava@google.com> Fix for issue 3439595 : Java/JNI - Movide studio playback picks previous frames

Change-Id: I0f9257a1bfb96c00acfdffa0f4f7f8188646c713
edia/videoeditor/MediaArtistNativeHelper.java
699587da4bf10c6e6872063a7fdbe53f05e6b83d 12-Feb-2011 Basavapatna Dattaguru <dattaguru@google.com> VideoEditor:Inconsistance defines:Issue ID:3419090

Assigned with MediaProperties array values

Change-Id: I97efa98954eb1be3b21a9e42b989def6bb657d77
edia/videoeditor/MediaArtistNativeHelper.java
b27a1ca53e43c97d206d19c2b219f53690b324eb 12-Feb-2011 Basavapatna Dattaguru <dattaguru@google.com> Merge "VideoEditor: Fixes Issue ID:3448077"
4eb7a983427e3bff17f9b3492d33e6983588fb0f 12-Feb-2011 Basavapatna Dattaguru <dattaguru@google.com> VideoEditor: Fixes Issue ID:3448077

Updated with review comments. checks width & height

Change-Id: I79bd28862f511e7653e7e7a63c88772834ee6559
edia/videoeditor/EffectKenBurns.java
2b06e56031ef8bd1b5155ec3225f37248d4833b4 11-Feb-2011 Basavapatna Dattaguru <dattaguru@google.com> VideoEditor: Populate profile&level: Issue:3419090

Updated with new values for Profiles and levels

Change-Id: Ib0abcab1be741c151ce44b54eb1deff64828af00
edia/videoeditor/MediaProperties.java
edia/videoeditor/MediaVideoItem.java
540380fb0a45b12af3970f9ea1ed041607451f46 10-Feb-2011 Mike Lockwood <lockwood@android.com> Add MTP/PTP host support to the public API

Needed for unbundling the Gallery app

Change-Id: I57e6b76ee5c9e57cb8c055329ac13251879baafd
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpClient.java
tp/MtpConstants.java
tp/MtpDevice.java
tp/MtpDeviceInfo.java
tp/MtpObjectInfo.java
tp/MtpStorageInfo.java
8132a8caf36f6c13d679f7275be8e2fd5afd52ba 11-Feb-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 3352047 Wrong message when adjusting volume"
8b4b97a14ad9b5b982d8fe92755efabec8ad0076 04-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3352047 Wrong message when adjusting volume

Add hidden AudioManager.getDevicesForStream and output device codes.

Change-Id: I4d1c1d3b6a077cd117720817d1f733dda557b947
edia/AudioManager.java
edia/AudioSystem.java
04f7861cfa37cbde14be5a0a0ed6bd99841693c6 10-Feb-2011 Eric Laurent <elaurent@google.com> Merge "Fix issue 3435692"
a25c5d88d17f251262307ce31e799c9cf361d145 10-Feb-2011 Eric Laurent <elaurent@google.com> Fix issue 3435692

The problem is that the AudioService is not notified of the death of
IAudioFlinger binder interface because no methods was called on AudioFlinger
from system_server since the device booted. Therefore, AudioSystem did not created any
IAudioFlinger interface in the system_server process.
The root cause was always present but more likely to happen on a tablet than on a phone
as for instance no beeps are played when volume is adjusted.

The fix consists in having AudioSystem explicitly call a method on AudioFlinger when a
callback is installed to make sure that an IAudioFlinger binder interface is created
regardless of any other activity in the client process.

Change-Id: I9df34a36825af0b25cd0246dd02edbd712263f41
edia/AudioService.java
edia/AudioSystem.java
cb613a04c16915f6374c6436b5b37355bce3ed1c 10-Feb-2011 Marco Nelissen <marcone@google.com> Better genre support.

Expand the list of genres, and support genres that look like "(192)CustomGenre".
b/3349415

Change-Id: I617ea7dfeace708bbd0d9c00ff04de72fa2d383e
edia/MediaScanner.java
fd22edc66818e0336597e23dafc9db4dcfb6878e 09-Feb-2011 Mike Lockwood <lockwood@android.com> MTP: Fix NPE in MtpPropertyGroup

Change-Id: I65fbd3f2f62724434136c6ae310e6647884902d2
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpPropertyGroup.java
3ec816ba616298facfb1965672c487348d3e4c87 07-Feb-2011 Dharmaray Kundargi <dharmaray@google.com> am 284f3128: am f7f24996: Merge "Fix issue 3426489 Overlay background changed when exported" into honeycomb

* commit '284f3128fa959c8c2aa901d0af359f1f1b4d8bc4':
Fix issue 3426489 Overlay background changed when exported
88928ffc1c0b57fc8bf220332034231348678d96 07-Feb-2011 Dharmaray Kundargi <dharmaray@google.com> am 73edcfe8: am b894f895: Merge "Fix issue 3426200 Movie Studio crashes when a media item is deleted" into honeycomb

* commit '73edcfe8f4678c4d5e91c8018e00a72ea325da71':
Fix issue 3426200 Movie Studio crashes when a media item is deleted
b82d4570d91681aa00b6b703024cd68fdf0d374e 07-Feb-2011 Eric Laurent <elaurent@google.com> am 5f3e9e69: am d4b88c88: Merge "Issue 3395734: fix media server restart detection" into honeycomb

* commit '5f3e9e69a16f5a7bc70f3f010c8aae91f287e941':
Issue 3395734: fix media server restart detection
3da2538aa18da2d457b54380c81aba1d992b60b2 07-Feb-2011 Eric Laurent <elaurent@google.com> am bdb23c26: am 2e96f15d: Merge "Fix issues 3425035 and 3423785." into honeycomb

* commit 'bdb23c26759089e29eb2f379e296bd006bc32b97':
Fix issues 3425035 and 3423785.
23dea9a13991cabdd81baf255e1099c79d6ba45d 07-Feb-2011 Danny Fernandes <dannyfernandes@google.com> am 1734e835: am 5e1f3e41: Merge "Fixed 3419090 Throwing exception for unsupported video codec profiles and level" into honeycomb

* commit '1734e8350f1aadbebf8234e3c470a9d4d0c96e8f':
Fixed 3419090 Throwing exception for unsupported video codec profiles and level
7da5fd29dae13fc40129bd7599604763b966f2d6 07-Feb-2011 Mike Lockwood <lockwood@android.com> Merge "MTP: Add support for querying all objects in GetObjectPropList"
9d967a5530bab57611492e478586aa33e08c1413 07-Feb-2011 Gil Dobjanschi <virgild@google.com> am 99ec3e7f: am 7dd5763d: Merge "Bug fix: 3421011 ANR during delete video clip" into honeycomb

* commit '99ec3e7f27ec7767d1f1a2c596ff2bddb7907a9c':
Bug fix: 3421011 ANR during delete video clip
4356d81b34a57a4046d9fa2287c2d85b51c7ca24 07-Feb-2011 Mike Lockwood <lockwood@android.com> MTP: Add support for querying all objects in GetObjectPropList

Change-Id: I1f31971c4c777462f485e52fac016dc0fff48ad9
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpPropertyGroup.java
284f3128fa959c8c2aa901d0af359f1f1b4d8bc4 05-Feb-2011 Dharmaray Kundargi <dharmaray@google.com> am f7f24996: Merge "Fix issue 3426489 Overlay background changed when exported" into honeycomb

* commit 'f7f2499638624392ce7665faba5246c46c5e5634':
Fix issue 3426489 Overlay background changed when exported
ab280b8db6743b826f7412ec1de70e203b91c23d 05-Feb-2011 Dharmaray Kundargi <dharmaray@google.com> Fix issue 3426489 Overlay background changed when exported

Change-Id: I53d05732f6de6363cfb64fc84b2539e957adfcd6
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/Transition.java
73edcfe8f4678c4d5e91c8018e00a72ea325da71 05-Feb-2011 Dharmaray Kundargi <dharmaray@google.com> am b894f895: Merge "Fix issue 3426200 Movie Studio crashes when a media item is deleted" into honeycomb

* commit 'b894f8959c6be2de5a0c89fedb9824012783dd14':
Fix issue 3426200 Movie Studio crashes when a media item is deleted
b894f8959c6be2de5a0c89fedb9824012783dd14 05-Feb-2011 Dharmaray Kundargi <dharmaray@google.com> Merge "Fix issue 3426200 Movie Studio crashes when a media item is deleted" into honeycomb
5f3e9e69a16f5a7bc70f3f010c8aae91f287e941 05-Feb-2011 Eric Laurent <elaurent@google.com> am d4b88c88: Merge "Issue 3395734: fix media server restart detection" into honeycomb

* commit 'd4b88c8829cdababbf16aaf903ba25a1669310e7':
Issue 3395734: fix media server restart detection
d4b88c8829cdababbf16aaf903ba25a1669310e7 05-Feb-2011 Eric Laurent <elaurent@google.com> Merge "Issue 3395734: fix media server restart detection" into honeycomb
086396a92408b47ee32f7fedaae9af533608ff6d 05-Feb-2011 Eric Laurent <elaurent@google.com> Issue 3395734: fix media server restart detection

Commit 25101b0b in AudioSystem for issue 3395734 broke the mechanism
in AudioService to poll and detect the restarting of media server
process after a crash.

The fix consists in changing the method used to poll AudioSystem and
trigger a callback indicating success when media server is responding
(the method must be on IAudioFlinger and not IAudioService to trigger the callback).

Change-Id: I843c0194de9cbf82c779cabbf2f3cbf8064603c8
edia/AudioService.java
0d99f5a95ccf45ad45824875f3c4b56510a421d1 05-Feb-2011 Dharmaray Kundargi <dharmaray@google.com> Fix issue 3426200 Movie Studio crashes when a media item is deleted

Change-Id: I1149fbfd22b44b388897bbcc6970da74c1f6ac4f
edia/videoeditor/MediaArtistNativeHelper.java
bdb23c26759089e29eb2f379e296bd006bc32b97 04-Feb-2011 Eric Laurent <elaurent@google.com> am 2e96f15d: Merge "Fix issues 3425035 and 3423785." into honeycomb

* commit '2e96f15d8c6608c6bcb49c73fe13078a57245b28':
Fix issues 3425035 and 3423785.
2e96f15d8c6608c6bcb49c73fe13078a57245b28 04-Feb-2011 Eric Laurent <elaurent@google.com> Merge "Fix issues 3425035 and 3423785." into honeycomb
1734e8350f1aadbebf8234e3c470a9d4d0c96e8f 04-Feb-2011 Danny Fernandes <dannyfernandes@google.com> am 5e1f3e41: Merge "Fixed 3419090 Throwing exception for unsupported video codec profiles and level" into honeycomb

* commit '5e1f3e4112f77bdb99bfef8c3ba185f0cb89e5ef':
Fixed 3419090 Throwing exception for unsupported video codec profiles and level
7b3f26328bb2555a1728db38780a4cb3be00a893 04-Feb-2011 Danny Fernandes <dannyfernandes@google.com> Fixed 3419090 Throwing exception for unsupported video codec profiles and level

Change-Id: I89e8723a6b89338ecedcfabf8b0c63ed2f7e9468
edia/videoeditor/MediaProperties.java
edia/videoeditor/MediaVideoItem.java
402f7f29634a9f68e7929be828a927a3e2f5efe9 04-Feb-2011 Eric Laurent <elaurent@google.com> Fix issues 3425035 and 3423785.

- Make sure that STREAM_MUSIC is affected by ringer mode on non voice capable
devices whatever the saved settings say.

- Added a hidden method to AudioManager for VolumePanel to override
the stream selection logic while the panel is showing.

Change-Id: Ib2ff2a7af63decb4e29c45700c41e5058f79d877
edia/AudioManager.java
edia/AudioService.java
99ec3e7f27ec7767d1f1a2c596ff2bddb7907a9c 04-Feb-2011 Gil Dobjanschi <virgild@google.com> am 7dd5763d: Merge "Bug fix: 3421011 ANR during delete video clip" into honeycomb

* commit '7dd5763d0e6f96ff2a7bb48b816664b1ec7d645d':
Bug fix: 3421011 ANR during delete video clip
2e8fbebff4e12581ed58e25fc98134e1124d6482 04-Feb-2011 Eric Laurent <elaurent@google.com> am 6f1bd261: am 9c0a1003: Merge "Fix issue 3371080" into honeycomb

* commit '6f1bd261b7fd86ac7817ca061dfb55b95150b836':
Fix issue 3371080
3f1c57394091de7204d218898696baeb20c04f25 03-Feb-2011 Gil Dobjanschi <virgild@google.com> Bug fix: 3421011 ANR during delete video clip

Change-Id: I9ba027619d611d76f41d9430a4ad3c9ee5211711
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/VideoEditorImpl.java
7ee76cfeead74b4d3b46abb244b63e638c25d1c5 04-Feb-2011 Dheeraj Sharma <dheerajs@google.com> am d13f987f: am 36b685ff: Merge "Fix for issue : 3419353 Crash during transition generation" into honeycomb

* commit 'd13f987f73df03b06c70c631452f6cafbdc254e1':
Fix for issue : 3419353 Crash during transition generation
223f2696bb51b3be1af0c606f72c35e2c88c8a49 04-Feb-2011 Gil Dobjanschi <virgild@google.com> am 3f9a851e: am ed2c5133: Merge "Bug fix: 3419287 Deleted images and video clips invalidate the entire project" into honeycomb

* commit '3f9a851e07f0fbe0f5440afd82f26b52ca79428e':
Bug fix: 3419287 Deleted images and video clips invalidate the entire project
f9f223edb408cdc9fd946dc099a86857079a639f 13-Jan-2011 Glenn Kasten <gkasten@google.com> Bug 1804058 FLAC extractor

Note: dependent on external/flac for libFLAC

Implemented and tested:
* FLAC container
* mono and stereo
* standard sample rates
* standard bit depths
* sniffer
* media scanner
* Vorbis comment metadata including album art
* random access seeking with "torture test"
* web browser integration for audio/flac (not audio/x-flac), but
note that most web servers don't correctly report the MIME type

Not implemented:
* 24-bit to 16-bit dither or noise shaping in AudioFlinger
* 96 kHz to 44.1 or 48 kHz downsampling low pass filter in AudioFlinger
* replay gain is better done in AudioFlinger
* multi-channel, would need AudioFlinger support
* Ogg container, does not seem to be very popular yet

Change-Id: I300873e8c0cfc2e95403d9adb5064d16a2923f17
edia/MediaFile.java
tp/MtpDatabase.java
6f1bd261b7fd86ac7817ca061dfb55b95150b836 03-Feb-2011 Eric Laurent <elaurent@google.com> am 9c0a1003: Merge "Fix issue 3371080" into honeycomb

* commit '9c0a1003bd676121cf9b1c942ecebd5b486290d5':
Fix issue 3371080
9c0a1003bd676121cf9b1c942ecebd5b486290d5 03-Feb-2011 Eric Laurent <elaurent@google.com> Merge "Fix issue 3371080" into honeycomb
d13f987f73df03b06c70c631452f6cafbdc254e1 03-Feb-2011 Dheeraj Sharma <dheerajs@google.com> am 36b685ff: Merge "Fix for issue : 3419353 Crash during transition generation" into honeycomb

* commit '36b685ffb0e3c1848bc8085757da3e673d19028a':
Fix for issue : 3419353 Crash during transition generation
25101b0b9a84571ead15b26e9f4cd9c4298d7823 02-Feb-2011 Eric Laurent <elaurent@google.com> Fix issue 3371080

Modified default volume control logic in AudioService:
1 IN_CALL volume if in video/audio chat
2 NOTIFICATION if notification is playing or was playing less than 5s ago.
3 MUSIC

Modified silent mode:
- now also affect MUSIC stream type
- entering silent mode when VOL- hard key is pressed once while selected
stream volume is already at 0 (except for VOICE_CALL stream).
- exiting silent mode when pressing VOL+ hard key while in silent mode

Play sound FX (audible selections, keyboard clicks) at a fixed volume.

Modified audio framework:
- isStreamActive() method now implemented in AudioPolicyManagerBase (previously AudioFlinger)
- iStreamActive() now specifies a time window during which the stream is considered
active after it actually stopped.

Change-Id: I7e5a0724099450b9fc90825224180ac97322785f
edia/AudioManager.java
edia/AudioService.java
edia/AudioSystem.java
edia/IAudioService.aidl
13984592b1b63a14c8401cf314865daf633e85ec 03-Feb-2011 Dheeraj Sharma <dheerajs@google.com> Fix for issue : 3419353 Crash during transition generation

Change-Id: I1f15f05c87bdc1ad8acdb6fc5db3c350e5b28947
edia/videoeditor/VideoEditorImpl.java
3f9a851e07f0fbe0f5440afd82f26b52ca79428e 03-Feb-2011 Gil Dobjanschi <virgild@google.com> am ed2c5133: Merge "Bug fix: 3419287 Deleted images and video clips invalidate the entire project" into honeycomb

* commit 'ed2c513337ae7581ef73b88424da91ef2d862a78':
Bug fix: 3419287 Deleted images and video clips invalidate the entire project
29206e917574688a6270233f92b734a2d7231faa 03-Feb-2011 Gil Dobjanschi <virgild@google.com> Bug fix: 3419287 Deleted images and video clips invalidate the entire project

Change-Id: I9dcc3b9fa0574fefe688c1616e69ba37811bde51
edia/videoeditor/VideoEditorImpl.java
2d0010674aa5fc30ba48b83e8a9c035fdf38cfaf 03-Feb-2011 Dharmaray Kundargi <dharmaray@google.com> am 3d3621f0: am 54b0a7f3: Merge "Fix issue 3412777 ANR on adding effects." into honeycomb

* commit '3d3621f08b02ae559036c7d085c02276ae0a24d9':
Fix issue 3412777 ANR on adding effects.
3d3621f08b02ae559036c7d085c02276ae0a24d9 03-Feb-2011 Dharmaray Kundargi <dharmaray@google.com> am 54b0a7f3: Merge "Fix issue 3412777 ANR on adding effects." into honeycomb

* commit '54b0a7f3ff0411a215e7e23f1041d414a32147b5':
Fix issue 3412777 ANR on adding effects.
a3f87f855b9abe2d086658eba8a92e04b69dd078 02-Feb-2011 Dharmaray Kundargi <dharmaray@google.com> Fix issue 3412777 ANR on adding effects.

Change-Id: Id3c480a8261423412a99375f71cf6ee585b6c22b
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/VideoEditorImpl.java
bf1e5cefe24f19d570426ef3ed1739902ea07631 02-Feb-2011 Nemmara Venkateswaran <vekateswar@google.com> am e00d44ce: am 47b8c96b: Merge "Fix for issue 3370023 : Wrong aspect ratio in overlay" into honeycomb

* commit 'e00d44ced228dc523f4492edd66d4eeb5dabd305':
Fix for issue 3370023 : Wrong aspect ratio in overlay
e00d44ced228dc523f4492edd66d4eeb5dabd305 02-Feb-2011 Nemmara Venkateswaran <vekateswar@google.com> am 47b8c96b: Merge "Fix for issue 3370023 : Wrong aspect ratio in overlay" into honeycomb

* commit '47b8c96b253ab24d0df089c87ce0798d4981400a':
Fix for issue 3370023 : Wrong aspect ratio in overlay
63298a980930c81754ab4fb7849a4ff61088d864 01-Feb-2011 Santosh Madhava <smadhava@google.com> Fix for issue 3370023 : Wrong aspect ratio in overlay

Change-Id: I65bdfb2b5c9edc26de94052e21b8f55ec8671f6a
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/MediaItem.java
edia/videoeditor/OverlayFrame.java
edia/videoeditor/VideoEditorImpl.java
9cd6a8e2cf11de51832ba00fe7cc90c2174b2977 01-Feb-2011 Dheeraj Sharma <dheerajs@google.com> am dacacb50: am 22ad6243: Merge "Fix for issue 3410895 Transition regeneration not happening after changing aspect ratio of project" into honeycomb

* commit 'dacacb50ed616bc52c092d9716252ec49a94457d':
Fix for issue 3410895 Transition regeneration not happening after changing aspect ratio of project
b5f497b40439edef892b6fac96f44692f43c1f06 01-Feb-2011 Dheeraj Sharma <dheerajs@google.com> am 537cc3b1: am ba2ee617: Merge "Fix for issue 3409874:Crash during addition of pan and zoom effect if start and end rect are unchanged" into honeycomb

* commit '537cc3b19d84e5b0c8d3631c051bb36a4c8cf784':
Fix for issue 3409874:Crash during addition of pan and zoom effect if start and end rect are unchanged
4fd9eaf5a96a47c2b5fffe5d28873a00c3d3a053 01-Feb-2011 Dharmaray Kundargi <dharmaray@google.com> am 8ceccbed: am 327549f9: Merge "Fix issue 3408285. Fix issue in Thread safe in Java." into honeycomb

* commit '8ceccbed7177234f219f2aa39f71554f9141d084':
Fix issue 3408285. Fix issue in Thread safe in Java.
dacacb50ed616bc52c092d9716252ec49a94457d 01-Feb-2011 Dheeraj Sharma <dheerajs@google.com> am 22ad6243: Merge "Fix for issue 3410895 Transition regeneration not happening after changing aspect ratio of project" into honeycomb

* commit '22ad6243d7c9081e4f1a13097cfa4638cf42c3fe':
Fix for issue 3410895 Transition regeneration not happening after changing aspect ratio of project
8afee6694b9584e7efcbf48c977780893bda4870 01-Feb-2011 Dheeraj Sharma <dheerajs@google.com> Fix for issue 3410895 Transition regeneration not happening after changing aspect ratio of project

Change-Id: Ice53fb284e029b1d22093048e8343f9ce8d853dd
edia/videoeditor/VideoEditorImpl.java
537cc3b19d84e5b0c8d3631c051bb36a4c8cf784 01-Feb-2011 Dheeraj Sharma <dheerajs@google.com> am ba2ee617: Merge "Fix for issue 3409874:Crash during addition of pan and zoom effect if start and end rect are unchanged" into honeycomb

* commit 'ba2ee6178ec386e838434cef902fb7de34ec6585':
Fix for issue 3409874:Crash during addition of pan and zoom effect if start and end rect are unchanged
178d4f41119614b9064720a5bffeaebf3affe941 01-Feb-2011 Dheeraj Sharma <dheerajs@google.com> Fix for issue 3409874:Crash during addition of pan and zoom effect if start and end rect are unchanged

Change-Id: Iddd1b9b2c430439c4bef4f1cf20fb166ac572d60
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/VideoEditorImpl.java
8ceccbed7177234f219f2aa39f71554f9141d084 01-Feb-2011 Dharmaray Kundargi <dharmaray@google.com> am 327549f9: Merge "Fix issue 3408285. Fix issue in Thread safe in Java." into honeycomb

* commit '327549f9961b8cd562d1a92c1455005672aa2b95':
Fix issue 3408285. Fix issue in Thread safe in Java.
a573b563b3c6a3edc60393543dc9adb7ade4f188 01-Feb-2011 Dharmaray Kundargi <dharmaray@google.com> Fix issue 3408285. Fix issue in Thread safe in Java.

Change-Id: Ifddcecfc2d7b1bd3e8a91c4850c169e1fb7c65ae
edia/videoeditor/AudioTrack.java
edia/videoeditor/Effect.java
edia/videoeditor/EffectKenBurns.java
edia/videoeditor/MediaItem.java
edia/videoeditor/VideoEditor.java
edia/videoeditor/VideoEditorImpl.java
045815985288d37d3be598379621bdfac060d730 31-Jan-2011 Gil Dobjanschi <virgild@google.com> am 1aa865aa: am 2bb13573: Bug fix: 3405930 Crash editing overlay text

* commit '1aa865aae054de0f5f2cb6ee58a6b93ad4d0f673':
Bug fix: 3405930 Crash editing overlay text
1aa865aae054de0f5f2cb6ee58a6b93ad4d0f673 31-Jan-2011 Gil Dobjanschi <virgild@google.com> am 2bb13573: Bug fix: 3405930 Crash editing overlay text

* commit '2bb13573d619e3371d06847d36db78a20b17dfab':
Bug fix: 3405930 Crash editing overlay text
2bb13573d619e3371d06847d36db78a20b17dfab 31-Jan-2011 Gil Dobjanschi <virgild@google.com> Bug fix: 3405930 Crash editing overlay text

Change-Id: Icd304ef8dde2b41812b14857dc3c112cc22d578e
edia/videoeditor/AudioTrack.java
edia/videoeditor/Effect.java
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaItem.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/Overlay.java
edia/videoeditor/OverlayFrame.java
edia/videoeditor/VideoEditorImpl.java
8e6c69b092a4370c4ed10c3263f3580e8b960095 31-Jan-2011 Dharmaray Kundargi <dharmaray@google.com> am 75aa290d: am ff843254: Merge "Merging the same files on top of tree." into honeycomb

* commit '75aa290d5d23a9bb862e409f9b5de23a0ffda579':
Merging the same files on top of tree.
75aa290d5d23a9bb862e409f9b5de23a0ffda579 31-Jan-2011 Dharmaray Kundargi <dharmaray@google.com> am ff843254: Merge "Merging the same files on top of tree." into honeycomb

* commit 'ff8432548eb96655190486ee0f0fa08de5451e66':
Merging the same files on top of tree.
4e7032052137345450bfd2b7a4a9a05ecde17076 30-Jan-2011 Dharmaray Kundargi <dharmaray@google.com> Merging the same files on top of tree.

Add support for .m4v Issue 3395600

Change-Id: Idca673859afb3398d4b91aba9c20c37396c4f757
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/MediaProperties.java
edia/videoeditor/MediaVideoItem.java
407a558af5556a9e198c6e0be255f6829c4e81ba 31-Jan-2011 Dheeraj Sharma <dheerajs@google.com> am 471ebbca: am 45911e19: Merge "Fix for issue 3400229 Pan and Zoom effect is not accurate in JAVA and JNI" into honeycomb

* commit '471ebbca5f404062bed232aa27da9c1f1ebf0a1d':
Fix for issue 3400229 Pan and Zoom effect is not accurate in JAVA and JNI
471ebbca5f404062bed232aa27da9c1f1ebf0a1d 31-Jan-2011 Dheeraj Sharma <dheerajs@google.com> am 45911e19: Merge "Fix for issue 3400229 Pan and Zoom effect is not accurate in JAVA and JNI" into honeycomb

* commit '45911e1969fd1843bac5806e06f351123b67f596':
Fix for issue 3400229 Pan and Zoom effect is not accurate in JAVA and JNI
45911e1969fd1843bac5806e06f351123b67f596 31-Jan-2011 Dheeraj Sharma <dheerajs@google.com> Merge "Fix for issue 3400229 Pan and Zoom effect is not accurate in JAVA and JNI" into honeycomb
085787a4029fe76ea3ad8012853e647f18699057 31-Jan-2011 Dheeraj Sharma <dheerajs@google.com> am bd633b72: am 167e7488: Merge "3404665 Preview window is blank after returning from playing exported movie" into honeycomb

* commit 'bd633b7297c60771223f0e8799c418cdbce3017c':
3404665 Preview window is blank after returning from playing exported movie
bd633b7297c60771223f0e8799c418cdbce3017c 31-Jan-2011 Dheeraj Sharma <dheerajs@google.com> am 167e7488: Merge "3404665 Preview window is blank after returning from playing exported movie" into honeycomb

* commit '167e7488af4d53673ff2fcc0723ae2a1584f5194':
3404665 Preview window is blank after returning from playing exported movie
c1a2f40005acef8d05c622e8934b84d5d0575f23 30-Jan-2011 Dheeraj Sharma <dheerajs@google.com> 3404665 Preview window is blank after returning from playing exported movie

Change-Id: Idf2719953cbaf41e09eaf86de37e3459a1ea4aed
edia/videoeditor/MediaArtistNativeHelper.java
9803b8435e973d7e44360b91fa6935d0e3981a76 30-Jan-2011 Dheeraj Sharma <dheerajs@google.com> Fix for issue 3400229 Pan and Zoom effect is not accurate in JAVA and JNI

Change-Id: I6216e7e66be4bf0d7cfc74ee3bda7e22969a229a
edia/videoeditor/MediaImageItem.java
28817de4d73f3b3054bdd405c13a92e6a5f0a4ba 28-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> am 965f22ba: am 3b5d9515: Merge "Fix bug 3395289 Use MODE_IN_COMMUNICATION to evaluate stream vol changes" into honeycomb

* commit '965f22ba325ea488034174bf76194470a6f0ee52':
Fix bug 3395289 Use MODE_IN_COMMUNICATION to evaluate stream vol changes
965f22ba325ea488034174bf76194470a6f0ee52 28-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> am 3b5d9515: Merge "Fix bug 3395289 Use MODE_IN_COMMUNICATION to evaluate stream vol changes" into honeycomb

* commit '3b5d9515f208d28ae168c3f3d3cd442ff6e6e45a':
Fix bug 3395289 Use MODE_IN_COMMUNICATION to evaluate stream vol changes
834662d4224ebbb95527cb43eaf9dcea548d7b19 28-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 3395289 Use MODE_IN_COMMUNICATION to evaluate stream vol changes

When the user is in a phone or VoIP call, the volume keys should
control the STREAM_VOICE_CALL volume. Before MODE_IN_COMMUNICATION
was introduced to cover VoIP use cases, having an active VoIP call
was determined by checking whether there was any track used the
output stream STREAM_VOICE_CALL, which can give false positives.
This CL checks instead against the audio mode to see if
MODE_IN_COMMUNICATION is selected to determine if a VoIP call
is in progress.

This implies that applications that play on STREAM_VOICE_CALL
shouldn't rely on that fact alone to expect the volume keys
to control the STREAM_VOICE_CALL volume, and should instead,
rely on the official mechanism for that:
android.app.Activity.setVolumeControlStream(int)

Change-Id: Ia487951ea1684477aa3d522c9031fad484d8a40d
edia/AudioService.java
05b536e671b60740a47c37e8be6adbfff6fad3eb 28-Jan-2011 Santosh Madhava <smadhava@google.com> am c4f5b712: am 270cbcc1: Merge "Fix for issue 3370007 Overlay transparency in Java" into honeycomb

* commit 'c4f5b712049a5891bc2d1a87031134f3fe0acb03':
Fix for issue 3370007 Overlay transparency in Java
c4f5b712049a5891bc2d1a87031134f3fe0acb03 28-Jan-2011 Santosh Madhava <smadhava@google.com> am 270cbcc1: Merge "Fix for issue 3370007 Overlay transparency in Java" into honeycomb

* commit '270cbcc16a72f982d84afeb5e3fd3f166936394a':
Fix for issue 3370007 Overlay transparency in Java
270cbcc16a72f982d84afeb5e3fd3f166936394a 28-Jan-2011 Santosh Madhava <smadhava@google.com> Merge "Fix for issue 3370007 Overlay transparency in Java" into honeycomb
4f54da9629a1fd67e9ab41a66137be3e78eb0fdf 28-Jan-2011 Basavapatna Dattaguru <dattaguru@google.com> am b408c3e9: am 64a2c359: Merge "Fix Issue: 3373525: reduces app. 100mS in create" into honeycomb

* commit 'b408c3e984dbc3af43befc6fd16ff74dd24457a9':
Fix Issue: 3373525: reduces app. 100mS in create
b408c3e984dbc3af43befc6fd16ff74dd24457a9 28-Jan-2011 Basavapatna Dattaguru <dattaguru@google.com> am 64a2c359: Merge "Fix Issue: 3373525: reduces app. 100mS in create" into honeycomb

* commit '64a2c359aeda59e4bc43d48f31ade919e918ea26':
Fix Issue: 3373525: reduces app. 100mS in create
73f376cf6446c607b6f0355ad8282dd47608346d 27-Jan-2011 Santosh Madhava <smadhava@google.com> Fix for issue 3370007 Overlay transparency in Java

Change-Id: I68be6f56ad58672a771485a028fc0cd8a0514e8a
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/OverlayFrame.java
64a2c359aeda59e4bc43d48f31ade919e918ea26 27-Jan-2011 Basavapatna Dattaguru <dattaguru@google.com> Merge "Fix Issue: 3373525: reduces app. 100mS in create" into honeycomb
737bd08db020802f1c60941be09e13c3c587f2aa 27-Jan-2011 Basavapatna Dattaguru <dattaguru@google.com> Fix Issue: 3373525: reduces app. 100mS in create

Updated by removing code duplication

Updated with review comments

Change-Id: I57a596ed09d4d543964059e18a86e143108305ec
edia/videoeditor/MediaImageItem.java
6adcce8a5751b0afba86a55f600aa1f14a56d03c 27-Jan-2011 Gil Dobjanschi <virgild@google.com> am 0966fb9e: am eea200a9: Bug fix: 3398192 NPE at android.media.videoeditor.VideoEditorImpl.clearSurface

* commit '0966fb9e73345b1e5ea9464e77beed07378edd6a':
Bug fix: 3398192 NPE at android.media.videoeditor.VideoEditorImpl.clearSurface
0966fb9e73345b1e5ea9464e77beed07378edd6a 27-Jan-2011 Gil Dobjanschi <virgild@google.com> am eea200a9: Bug fix: 3398192 NPE at android.media.videoeditor.VideoEditorImpl.clearSurface

* commit 'eea200a96a561d8eb9e26831aa6aaf7ddf6ad5a5':
Bug fix: 3398192 NPE at android.media.videoeditor.VideoEditorImpl.clearSurface
eea200a96a561d8eb9e26831aa6aaf7ddf6ad5a5 27-Jan-2011 Gil Dobjanschi <virgild@google.com> Bug fix: 3398192 NPE at android.media.videoeditor.VideoEditorImpl.clearSurface

Change-Id: Ib7cb994e995d934cf896b856da462c9240fcb5f0
edia/videoeditor/VideoEditorImpl.java
d4d138a064e7c4e364fed5162630368c4d6475d1 27-Jan-2011 James Dong <jdong@google.com> am f1e687b6: am 3b1fd35c: Merge "Eliminate duplicated code in export method" into honeycomb

* commit 'f1e687b6e31ba4597558de94c40a73a074ba7703':
Eliminate duplicated code in export method
f1e687b6e31ba4597558de94c40a73a074ba7703 27-Jan-2011 James Dong <jdong@google.com> am 3b1fd35c: Merge "Eliminate duplicated code in export method" into honeycomb

* commit '3b1fd35c6876f7eb1d15db3095c3e57969783302':
Eliminate duplicated code in export method
20586a128c1faa0bcca27537f006a2cbcd17206d 26-Jan-2011 James Dong <jdong@google.com> Eliminate duplicated code in export method

bug - 3385135

Change-Id: I26b8113b457bf08bf8a89cef25cf45cdba79c08d
edia/videoeditor/VideoEditorImpl.java
1155efdc715413cd7a881e5226b5f5f0b2db8f71 26-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> am 2ba92c71: do not merge bug 3370834 Cherrypick from master

* commit '2ba92c71b5684dce700cf848bf157153c156df1d':
do not merge bug 3370834 Cherrypick from master
7a58635e84dc27329e4061c12b186fa4c7f36dd7 26-Jan-2011 Dharmaray Kundargi <dharmaray@google.com> am 666b9eb3: am 45e3d123: Merge "Overlay java files Issue 3370836" into honeycomb

* commit '666b9eb3a260034c85e2a6eaa5e8f4ceea968f33':
Overlay java files Issue 3370836
666b9eb3a260034c85e2a6eaa5e8f4ceea968f33 26-Jan-2011 Dharmaray Kundargi <dharmaray@google.com> am 45e3d123: Merge "Overlay java files Issue 3370836" into honeycomb

* commit '45e3d123bce32a8b1f469d366ebb1d3f9ccb2bfc':
Overlay java files Issue 3370836
9c077e44c05f6829dd12067947a387c132dc6eaa 26-Jan-2011 Dharmaray Kundargi <dharmaray@google.com> Overlay java files Issue 3370836

Change-Id: If062ad12dc2f5faf58936436527234ce80dffad9
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/Transition.java
edia/videoeditor/VideoEditor.java
edia/videoeditor/VideoEditorImpl.java
2ba92c71b5684dce700cf848bf157153c156df1d 15-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> do not merge bug 3370834 Cherrypick from master

Cherripick from master CL 79833, 79417, 78864, 80332, 87500

Add new audio mode and recording source for audio communications
other than telelphony.

The audio mode MODE_IN_CALL signals the system the device a phone
call is currently underway. There was no way for audio video
chat or VoIP applications to signal a call is underway, but not
using the telephony resources. This change introduces a new mode
to address this. Changes in other parts of the system (java
and native) are required to take this new mode into account.
The generic AudioPolicyManager is updated to not use its phone
state variable directly, but to use two new convenience methods,
isInCall() and isStateInCall(int) instead.

Add a recording source used to designate a recording stream for
voice communications such as VoIP.

Update the platform-independent audio policy manager to pass the
nature of the audio recording source to the audio policy client
interface through the AudioPolicyClientInterface::setParameters()
method.

SIP calls should set the audio mode to MODE_IN_COMMUNICATION,
Audio mode MODE_IN_CALL is reserved for telephony.

SIP: Enable built-in echo canceler if available.
1. Always initialize AudioRecord with VOICE_COMMUNICATION.
2. If echo canceler is available, disable our echo suppressor.

Note that this CL is intentionally not correcting the
getAudioSourceMax() return value in MediaRecorder.java as the
new source is hidden here.

Change-Id: Ie68cd03c50553101aa2ad838fe9459b2cf151bc8
edia/AudioManager.java
edia/AudioRecord.java
edia/AudioService.java
edia/AudioSystem.java
edia/MediaRecorder.java
ae27549f834bd0acedbc7cdb5654b8e789a1bce6 26-Jan-2011 Santosh Madhava <smadhava@google.com> am c4132eb2: am 4991a00b: Merge "Review rework for issue 3385068 : Play gets out of sync" into honeycomb

* commit 'c4132eb299d52575c3a5f4a9361f62f1737ad64e':
Review rework for issue 3385068 : Play gets out of sync
c4132eb299d52575c3a5f4a9361f62f1737ad64e 26-Jan-2011 Santosh Madhava <smadhava@google.com> am 4991a00b: Merge "Review rework for issue 3385068 : Play gets out of sync" into honeycomb

* commit '4991a00b28ea17941681396ec5dfc62a53408158':
Review rework for issue 3385068 : Play gets out of sync
4991a00b28ea17941681396ec5dfc62a53408158 26-Jan-2011 Santosh Madhava <smadhava@google.com> Merge "Review rework for issue 3385068 : Play gets out of sync" into honeycomb
3cf1554b764e9d25db1850c9837a7cf1ec10213c 26-Jan-2011 Santosh Madhava <smadhava@google.com> am 7196a266: am b38ed1af: Merge "Fix for issue 3366265 : Native crash exporting movie" into honeycomb

* commit '7196a266c5967f64a858519c5fe71f0964035390':
Fix for issue 3366265 : Native crash exporting movie
7196a266c5967f64a858519c5fe71f0964035390 26-Jan-2011 Santosh Madhava <smadhava@google.com> am b38ed1af: Merge "Fix for issue 3366265 : Native crash exporting movie" into honeycomb

* commit 'b38ed1af92c6af03249a50fed0530d20de5cd14d':
Fix for issue 3366265 : Native crash exporting movie
1abe0050fa82ada9dbc14f7371e8b4ef0e093936 26-Jan-2011 Santosh Madhava <smadhava@google.com> Fix for issue 3366265 : Native crash exporting movie

Change-Id: I04195198031eeb7d34d4249b49a1092321a2eb0a
edia/videoeditor/VideoEditorImpl.java
de412d277ce9e5dc3918401fc399ace98d4f1d31 26-Jan-2011 Santosh Madhava <smadhava@google.com> Review rework for issue 3385068 : Play gets out of sync

Change-Id: I7f7435bd898a72302500cdc15874e469922cbebe
edia/videoeditor/MediaArtistNativeHelper.java
501e52f09d555cc27c637846a897b4903a116678 26-Jan-2011 Mike Lockwood <lockwood@android.com> am 7fadb5e7: am 2b3da7ab: Merge "MTP: Fix race conditions in MtpServer JNI code" into honeycomb

* commit '7fadb5e77fd079c3a6c5eeae1ae81a487864b129':
MTP: Fix race conditions in MtpServer JNI code
4a39e8ad70163d5f0faa4963e9787ad8b2d5cbd2 26-Jan-2011 Santosh Madhava <smadhava@google.com> am d6451721: am 1c9ac916: Merge "Fix for issue 3385068 : Play gets out of sync" into honeycomb

* commit 'd645172123f6aac530986ede22fae13f647ccb9f':
Fix for issue 3385068 : Play gets out of sync
7fadb5e77fd079c3a6c5eeae1ae81a487864b129 26-Jan-2011 Mike Lockwood <lockwood@android.com> am 2b3da7ab: Merge "MTP: Fix race conditions in MtpServer JNI code" into honeycomb

* commit '2b3da7ab61ac920881f35bbf66234c073d79ba24':
MTP: Fix race conditions in MtpServer JNI code
2b3da7ab61ac920881f35bbf66234c073d79ba24 26-Jan-2011 Mike Lockwood <lockwood@android.com> Merge "MTP: Fix race conditions in MtpServer JNI code" into honeycomb
071b2b6739c83d3de806cda5d7be2aba33fde1af 25-Jan-2011 Mike Lockwood <lockwood@android.com> MTP: Fix race conditions in MtpServer JNI code

Make sure previous MtpThread has exited before starting another to avoid
EBUSY opening MTP kernel driver.

BUG: 3317803

Change-Id: I81dcbac42bcf5f680ed1b1469839bc0b0e49d53d
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpPropertyGroup.java
tp/MtpServer.java
d645172123f6aac530986ede22fae13f647ccb9f 25-Jan-2011 Santosh Madhava <smadhava@google.com> am 1c9ac916: Merge "Fix for issue 3385068 : Play gets out of sync" into honeycomb

* commit '1c9ac91634f7663b7a199f6eacc5a363f888e4d4':
Fix for issue 3385068 : Play gets out of sync
1c9ac91634f7663b7a199f6eacc5a363f888e4d4 25-Jan-2011 Santosh Madhava <smadhava@google.com> Merge "Fix for issue 3385068 : Play gets out of sync" into honeycomb
da6e64a6b49931da472bf13f198d842d16b12ba0 25-Jan-2011 Jaikumar Ganesh <jaikumar@google.com> am e4d494b4: am 5cbb1622: Merge "Rename virtual call API to ScoUsingVirtualCall." into honeycomb

* commit 'e4d494b49548eca62bf665fd5954c90731fd18e3':
Rename virtual call API to ScoUsingVirtualCall.
e4d494b49548eca62bf665fd5954c90731fd18e3 25-Jan-2011 Jaikumar Ganesh <jaikumar@google.com> am 5cbb1622: Merge "Rename virtual call API to ScoUsingVirtualCall." into honeycomb

* commit '5cbb162262cf2dc1a5763ddbdeb4f8ec50c33dba':
Rename virtual call API to ScoUsingVirtualCall.
5cbb162262cf2dc1a5763ddbdeb4f8ec50c33dba 25-Jan-2011 Jaikumar Ganesh <jaikumar@google.com> Merge "Rename virtual call API to ScoUsingVirtualCall." into honeycomb
dde68c64fd8e97a592633ec4c09283ec928e5697 24-Jan-2011 Jaikumar Ganesh <jaikumar@google.com> Rename virtual call API to ScoUsingVirtualCall.

This API makes more sense with regard to headset profile.
Bug: 3381532

Change-Id: Ife07d101a3b04bcddb31e7ae86712e1d97a660c5
edia/AudioService.java
a6714ce2bbb593efdfb53e071607df2a5117a643 25-Jan-2011 Santosh Madhava <smadhava@google.com> Fix for issue 3385068 : Play gets out of sync

Change-Id: Iaf5e2f246b9cbfc5c8093d34ed085fe255ae500b
edia/videoeditor/MediaArtistNativeHelper.java
23b802f65b76c3af251fd5bf61985ec7e910b729 25-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 28ae70ce: am 23a813e1: am 996de2dd: Merge "Avoid using String.format in MediaRecorder"

* commit '28ae70ceac7d8295c3ba0dbd644c5cef56dc72b3':
Avoid using String.format in MediaRecorder
28ae70ceac7d8295c3ba0dbd644c5cef56dc72b3 25-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 23a813e1: am 996de2dd: Merge "Avoid using String.format in MediaRecorder"

* commit '23a813e17d94083c24a34559864722c809b4e0f7':
Avoid using String.format in MediaRecorder
244d6d3c8b260da0434befce40a85bb35baf9743 25-Jan-2011 Dheeraj Sharma <dheerajs@google.com> am 08902803: am a2edecfe: Merge "Issue no : 3370622" into honeycomb

* commit '08902803458faa74fd9aeaec2d9de35046912ed0':
Issue no : 3370622
1ac760afabeb19ced48a788c7b675baba47d4db3 24-Jan-2011 Dheeraj Sharma <dheerajs@google.com> Issue no : 3370622

VideoEditor: Fix for Clear Surface API

Change-Id: I8d4ad90dd2a0d37bd5363c36582a16f08b161bee
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/VideoEditorImpl.java
5386fd807716835e41ca9475a6fde7560dc4fcd0 25-Jan-2011 Santosh Madhava <smadhava@google.com> am a1ec9893: am 9c0bd864: Merge "Review rework on Patch Set 2 for issue 3372849" into honeycomb

* commit 'a1ec9893b8fd2aa0e499261323d9fe7ad115d915':
Review rework on Patch Set 2 for issue 3372849
9c0bd864a302ac2a8cb826c3c8d2f0d0ce6f2406 25-Jan-2011 Santosh Madhava <smadhava@google.com> Merge "Review rework on Patch Set 2 for issue 3372849" into honeycomb
6bcbb3bd095daf2c630454f2ac0c26f48b6edf60 22-Jan-2011 Santosh Madhava <smadhava@google.com> Review rework on Patch Set 2 for issue 3372849

Change-Id: I3c077f3318e44035e8ea6eb160d0024e77aaa710
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/MediaImageItem.java
d5369d8a6871ae06aad81d1cd5121a040bf2d9e1 25-Jan-2011 Wu-cheng Li <wuchengli@google.com> am 1ab0ac3f: am c8de291e: Merge "Improved conversion accuracy of exif geotag data" into honeycomb

* commit '1ab0ac3f17e52d6cf4f23598f76a8fa8af2310d8':
Improved conversion accuracy of exif geotag data
c8de291ee58665010f80cdedc1bccc57c1d675fb 25-Jan-2011 Wu-cheng Li <wuchengli@google.com> Merge "Improved conversion accuracy of exif geotag data" into honeycomb
33bdc6789201c44197841321fabee029fb60f1a8 25-Jan-2011 James Dong <jdong@google.com> am 73b38938: am 9807a7b2: Merge "Reduce the JNI native method visibility" into honeycomb

* commit '73b38938a5397c1f89702d4dac00e2f52dc264a8':
Reduce the JNI native method visibility
98dcca909a44e527ca3a187b13cd1e49a328cbfb 25-Jan-2011 James Dong <jdong@google.com> Reduce the JNI native method visibility

bug -3385135

Change-Id: I568b53d2279622b44ca5b8a23a8691ca3395f9a5
edia/videoeditor/MediaArtistNativeHelper.java
23a813e17d94083c24a34559864722c809b4e0f7 24-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 996de2dd: Merge "Avoid using String.format in MediaRecorder"

* commit '996de2dd41498a48be6821cfa0a81b16c0b3975c':
Avoid using String.format in MediaRecorder
01a9c0289e20827dc26c2fd0705244933d151ec6 24-Jan-2011 Santosh Madhava <smadhava@google.com> am 47254778: am 36486912: Merge "Resubmit of \'Fix for isssue 3369932 : stopPreview returns 0\'" into honeycomb

* commit '47254778584db8d7a8b9ff17e3704fbdf18fa348':
Resubmit of 'Fix for isssue 3369932 : stopPreview returns 0'
dc5b1762da470d6b1f26a28fb8abe0b7ee27df45 24-Jan-2011 Gil Dobjanschi <virgild@google.com> am 6c170ecc: am 9c265fcc: Merge "VideoEditor:Clear Surface API addition" into honeycomb

* commit '6c170eccf2864e526a145c91102b204cb787c860':
VideoEditor:Clear Surface API addition
4ff8a0b410a48a24a94e7d0c608b9b03e7928f71 24-Jan-2011 Santosh Madhava <smadhava@google.com> Resubmit of 'Fix for isssue 3369932 : stopPreview returns 0'

Change-Id: Id2e4598f29191c506ab99a112bd7743f6a794cd6
edia/videoeditor/MediaArtistNativeHelper.java
2450830c0c41a45d333838f4dcf3ba1e4a2409a2 24-Jan-2011 Henrik Backlund <henrik.backlund@sonyericsson.com> Avoid using String.format in MediaRecorder

String.format was used instead of a simple string concatenation.
This is a problem when language is set to Arabic since simple
integers will be converted into Arabic numbers.

Change-Id: I2cbd4c5cd2d09117202e6ae191845fd5fc9154ec
edia/MediaRecorder.java
05d9f81bd638a749669192b50e680b166529d5f3 24-Jan-2011 Dheeraj Sharma <dheerajs@google.com> VideoEditor:Clear Surface API addition

Change-Id: I824c4a9d7f0a11ad60f8045eccc8b6139b66af22
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/VideoEditor.java
edia/videoeditor/VideoEditorImpl.java
a113a075ca9afa14361806ea592c8f078b1636c5 14-Jan-2011 Oscar Rydhe <oscar.rydhe@sonyericsson.com> Improved conversion accuracy of exif geotag data

Changed degrees and minutes of geotag data into double to avoid
data loss during cast.

Also improved error handling if geotag data can't be parsed.

bug:3381761
Change-Id: I864843c7fc699fe81e6acba801fe46d10a01925b
edia/ExifInterface.java
47063a859ada034d9181b58ffb9875902a4e2531 23-Jan-2011 Mike Lockwood <lockwood@android.com> Merge "New APIs for MTP and PTP host support"
8182e72479a8b0d832df9c392890b25bfa6f97b5 30-Dec-2010 Mike Lockwood <lockwood@android.com> New APIs for MTP and PTP host support

This replaces the previous ContentProvider based interface

Change-Id: I4cea2544854adb9fdcc04345e4d73d8ef05380f3
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpClient.java
tp/MtpDevice.java
tp/MtpDeviceInfo.java
tp/MtpObjectInfo.java
tp/MtpStorageInfo.java
f26a586c86b097f975e26fe526ead564ad011bd0 22-Jan-2011 Mike Lockwood <lockwood@android.com> Remove MTP related log spam

Change-Id: I9de1792cbeec07fa5ab42ff9a10813f0c3d30fc1
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpDatabase.java
tp/MtpServer.java
9d5ca4a14cca0985957eb4e23fd09068f2fd2215 21-Jan-2011 Santosh Madhava <smadhava@google.com> Fix for issue 3370052 : Export progress percentage is incorrect

Change-Id: If1a39ab4c34e44b84dc6ada7b4d7b634ac347099
edia/videoeditor/MediaArtistNativeHelper.java
bdb2e79a410681ae2be8070b1897e78b4c44ded0 20-Jan-2011 Santosh Madhava <smadhava@google.com> Fix for PR 3369866 : Project thumbnail should have the same aspect ratio

Change-Id: I028f0c74f71c8b5497a6c904b93a3f09dde559e0
edia/videoeditor/VideoEditorImpl.java
c4edeb5a60a45af874474ae7244c921a268430f1 19-Jan-2011 Gil Dobjanschi <virgild@google.com> Bug fix: 368813 Transition is regenerated when overlay duration changes outside the transition

Change-Id: I8217e7fe00392455427e117dc54c3461301f95c5
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaVideoItem.java
2bc6971dd82d37273b0baafeeebf3ba90d15837f 19-Jan-2011 Mike Lockwood <lockwood@android.com> Merge changes I7df1ff78,Ibc2e8adf into honeycomb

* changes:
MediaScanner: Make sure name field is set for file based playlists
MTP: Fix problem with MTP starting up on the first try.
242d0cdc1ad6c48faca403ea352bde73138443b5 19-Jan-2011 Mike Lockwood <lockwood@android.com> MediaScanner: Make sure name field is set for file based playlists

Change-Id: I7df1ff783d815d6021ec2432467ba56cb3f3ad1b
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
74ff70d2f2e90c591c58723121bc26ab44a3adcc 18-Jan-2011 Eric Laurent <elaurent@google.com> Merge "Fix typo" into honeycomb
ed6eae420fd60dcb7d90f54c3116959b75bd6276 18-Jan-2011 Glenn Kasten <gkasten@google.com> Fix typo

Change-Id: I73e7c5cf13c5ed82398006af61308665eb1d3ad0
edia/audiofx/AudioEffect.java
edia/audiofx/Visualizer.java
8ed67acf38ccdfdb89553ed58620a135f2100e10 18-Jan-2011 Mike Lockwood <lockwood@android.com> MTP: Set modification date for abstract playlists

BUG: 3224269

Change-Id: I96ae8e6d2f7e28860e9217ceb911331b333e1391
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpDatabase.java
8cc6eb1e4c708fb4398292ba30aa80ad5770d7ce 18-Jan-2011 Mike Lockwood <lockwood@android.com> MTP: Strip ".pla" file extension from name field for WMP playlists

BUG: 3309324

Change-Id: Ia136f94406496f971819f4f805f742f2a6829007
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/MtpDatabase.java
7a0bd17bceaf3efc3732e30c538fae420d3b742c 18-Jan-2011 Mike Lockwood <lockwood@android.com> MTP: Fix problems with modification dates for folders and non-media files

Also removed an unnecessary parameter to MtpDatabase.endSendobject()

BUG: 3352142

Change-Id: I6fd812dcba4814956bc8bc1cbd6bd5c868197790
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
tp/MtpDatabase.java
9ed99405ae8cdd9038071a872e7d92cf256f2165 17-Jan-2011 Dharmaray Kundargi <dharmaray@google.com> Merge "Video editor API update - rework for Patch Set 3" into honeycomb
117b7bb5b5a4457711f59bde3dcc83d8f111c524 17-Jan-2011 Eric Laurent <elaurent@google.com> Fix issue 3354692.

The problem is that SoundPool never calls the onLoadComplete() callback
when load() method fails because the file cannot be opened.
AudioService loadSoundEffects() was blocked waiting for a callback
that never came.
In this particular case, this happened on a specific build where sound
effects assets were not included.

The fix consists in waiting for the callback only if at least one sample is
accepted by SoundPool load().

Also moved the initial loading of sound effect samples from the boot completed
broadcast receiver to the audio service message handler to avoid waiting in the
main system server thread.

Change-Id: I902e5988f8b644a81d8e585c52eed1df4ca0ec05
edia/AudioService.java
9bcedf7cf3e9c981837f2d8ec98cd118efad3f01 18-Dec-2010 Santosh Madhava <smadhava@google.com> Video editor API update - rework for Patch Set 3

Change-Id: I75bfa17fe98bec13f672ff9a4edf623bb85020c8
edia/videoeditor/AudioTrack.java
edia/videoeditor/Effect.java
edia/videoeditor/EffectColor.java
edia/videoeditor/EffectKenBurns.java
edia/videoeditor/ExtractAudioWaveformProgressListener.java
edia/videoeditor/MediaArtistNativeHelper.java
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaItem.java
edia/videoeditor/MediaProperties.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/Overlay.java
edia/videoeditor/OverlayFrame.java
edia/videoeditor/Transition.java
edia/videoeditor/TransitionAlpha.java
edia/videoeditor/TransitionCrossfade.java
edia/videoeditor/TransitionFadeBlack.java
edia/videoeditor/TransitionSliding.java
edia/videoeditor/VideoEditor.java
edia/videoeditor/VideoEditorFactory.java
edia/videoeditor/VideoEditorImpl.java
edia/videoeditor/WaveformData.java
9286cfe5017363d95798d85163ec4f28aeb0c675 15-Jan-2011 Jean-Baptiste Queru <jbq@google.com> merge 83fdc69e from gingerbread - do not merge

Change-Id: Ib1e9e12244a44f75a93d66142e71915de6386680
c14b10c3068359b717b3f35b7218ce0e6dcdd08c 13-Jan-2011 James Dong <jdong@google.com> Merge "Add audio encoding parameters check" into honeycomb
f679ba7d944a403fbdc77926c44978ffd5161f2d 07-Jan-2011 Marco Nelissen <marcone@google.com> Cherrypick from GB. Do Not Merge.

Send "compilation" tag when inserting into the database.
It's not actually inserted into the database, but the media provider uses it
for disambiguating albums.
b/3311831

Change-Id: I67deb044800a6cb626c69bf3d54d51df4bf830f2
edia/MediaScanner.java
54815a78aff9bd453a8f0ac3c02f3a35c4b04146 13-Jan-2011 James Dong <jdong@google.com> Add audio encoding parameters check

bug - 3345296

Change-Id: If3f33955f5473b0c5ad9c9b85f8b5cb21ddd7e65
edia/MediaRecorder.java
9efe47374b61afd0ce84afa64e9fa5b41dfaef22 03-Dec-2010 James Dong <jdong@google.com> Squash commits of the following patches, cherry-picked from other branch - do not merge.

o Prepare for publishing MediaMetadataRetriever as public API
step one:
o replaced captureFrame with getFrameAtTime
o removed getMode

o Replace MediaMetadataRetriever.captureFrame() with MediaMetadataRetriever.getFrameAtTime()
as part of the preparation for publishing MediaMetadataRetriever as public Java API

o Remove captureFrame from MediaMetadataRetriever.java class
It has been replaced by getFrameAtTime() method

o Replace extractAlbumArt() with getEmbeddedPicture() in MediaMetadataRetriever.java

o Publish MediaMetadataRetriever.java as public API
o Removed setMode() methods and related mode constants
o Removed some of the unused the metadata keys
o Updated the javadoc
o part of a multi-project change.

bug - 3309041

Change-Id: I2efb6e8b8d52897186b016cb4efda6862f5584c4
edia/MediaMetadataRetriever.java
edia/ThumbnailUtils.java
a8a656b0c595fa876a387a91f8813f88a2d3abe7 12-Jan-2011 Marco Nelissen <marcone@google.com> Fix scanning of modified files.

When a media file, particularly a music file, is updated, the media
scanner should use the correct Uri to update it, and not the generic
files Uri. Otherwise, things like artist and album name will not
be properly updated.

Change-Id: I576629c51282bfbeb61c23f1e43b072700084a6c
edia/MediaScanner.java
068b41d5d41a4a78c96586b85ea89d464d302548 12-Jan-2011 James Dong <jdong@google.com> Merge "Publish MediaMetadataRetriever.java as public API" into honeycomb
0dd9f4de3ed681e83bd79ddcd4fd463093d11ed3 12-Jan-2011 Mike Lockwood <lockwood@android.com> MediaScanner: Do not update the file path when updating records already in the database

The path should never change (media scanner treats renames as a delete and an insert)
and we want to preserve the mixed case paths in the database to avoid exposing the
lowercase squashing to MTP.

Change-Id: I79ef37e143c607242d438a4a0643d40191965b6a
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
11eab056dd0133a390169d3581edf3eef26d6a54 06-Jan-2011 James Dong <jdong@google.com> Publish MediaMetadataRetriever.java as public API

o Removed setMode() methods and related mode constants
o Removed some of the unused the metadata keys
o Updated the javadoc

o part of a multi-project change.

bug - 2433195

Change-Id: I5ed167f1fd6a53cb143b7dc385b149431d434438
edia/MediaMetadataRetriever.java
edia/ThumbnailUtils.java
1c4e88d0b0a8deede0415183739478b5ebc12bfd 12-Jan-2011 Mike Lockwood <lockwood@android.com> Media Provider and MTP now use emulated /mnt/sdcard instead of /data/media

This rips out some complicated code that was added since gingerbread
that is no longer necessary.

Change-Id: Iab5ecb7314c06221475ce01ef483f34f17003b06
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
tp/MtpDatabase.java
52c7832e35b6f0c7d6197eb09346cea7dc5bea6b 12-Jan-2011 Andreas Huber <andih@google.com> Increase cache size and low-watermark threshold, also

MediaPlayer now sends out MEDIA_INFO,MEDIA_INFO_VIDEO_TRACK_LAGGING messages
to the JAVA client informing it how much (if at all) the video lags behind
audio (arg2 is the media delay in ms).

Change-Id: I6933f573d8597a35112e4b5ee0fcb826a7f6ddd1
related-to-bug: 3335220
edia/MediaPlayer.java
a60e212d0dda7d2a748180ce77405f2463c9cf53 29-Dec-2010 Eric Laurent <elaurent@google.com> Fix issue 3261656.

The problem can occur if a sample is started at the same time as the last AudioTrack callback
for a playing sample is called. At this time, allocateChannel() can be called concurrently with moveToFront()
which can cause an entry in mChannels being used by moveToFront() to be erased temporarily by allocateChannel().

The fix consists in making sure that the SoundPool mutex is held whenever play(), stop() or done() are called.

In addition, other potential weaknesses have been removed by making sure that the channel mutex is held while
starting, stopping and processing the AudioTrack call back.

To that purpose, a mechanism similar to the channel restart method is implemented to avoid stopping channels
from the AudioTrack call back but do it from the restart thread instead.

The sound effects SounPool management in AudioService has also been improved to make sure that the samples have
been loaded when a playback request is received and also to immediately release the SoundPool when the effects are
unloaded without waiting for the GC to occur.
The SoundPool.java class was modified to allow the use of a looper attached to the thread in which the sample
loaded listener is running and not to the thread in which the SoundPool is created.

The maximum number of samples that can be loaded in a SoundPool lifetime as been increased from 255 to 65535.

Change-Id: I368a3bdfda4239f807f857c3e97b70f6b31b0af3
edia/AudioService.java
edia/SoundPool.java
ee35aff74494e6c0b718e219427af6a6c573b928 06-Jan-2011 Marco Nelissen <marcone@google.com> Add support for the "compilation" tag in mp3, mp4 and ogg, and also add
support for two common ways of specifying album artist in ogg files.
b/3311831

(cherry-picked from GB because of weird automerger failure)

Change-Id: Ibf12a3d6bc8bbc2ac5ea815de6b33414b8f53f0f
edia/MediaMetadataRetriever.java
2888208b0bb38ac93bb6b500992869c8a6bf244c 07-Jan-2011 Marco Nelissen <marcone@google.com> am f13d4501: Send "compilation" tag when inserting into the database. It\'s not actually inserted into the database, but the media provider uses it for disambiguating albums. b/3311831

* commit 'f13d4501396aa1679004ad07d440f65ced3ecc2b':
Send "compilation" tag when inserting into the database. It's not actually inserted into the database, but the media provider uses it for disambiguating albums. b/3311831
d1da80a4b3d50c1be120b0e873363da711428a81 07-Jan-2011 Marco Nelissen <marcone@google.com> am ba77a3f9: Add support for the "compilation" tag in mp3, mp4 and ogg, and also add support for two common ways of specifying album artist in ogg files. b/3311831

* commit 'ba77a3f9cb1d68b2ed4813aaae856444578e3a75':
Add support for the "compilation" tag in mp3, mp4 and ogg, and also add support for two common ways of specifying album artist in ogg files. b/3311831
f13d4501396aa1679004ad07d440f65ced3ecc2b 07-Jan-2011 Marco Nelissen <marcone@google.com> Send "compilation" tag when inserting into the database.
It's not actually inserted into the database, but the media provider uses it
for disambiguating albums.
b/3311831

Change-Id: Idb630866e960338ce2795dcc128cafaf6c9c27f2
edia/MediaScanner.java
ba77a3f9cb1d68b2ed4813aaae856444578e3a75 06-Jan-2011 Marco Nelissen <marcone@google.com> Add support for the "compilation" tag in mp3, mp4 and ogg, and also add
support for two common ways of specifying album artist in ogg files.
b/3311831

Change-Id: Iba1152013b7577168af71f947d7249560419fa05
edia/MediaMetadataRetriever.java
27480cd49470af667dc8985f45b5ba43ab9ed4cd 06-Jan-2011 Mike Lockwood <lockwood@android.com> Remove support for obsolete PTP content provider

This will be replaced by a new PTP host API in an upcoming commit.

Change-Id: Ib914194e332b5c090cb8e34ed35bd691bc9f85d1
Signed-off-by: Mike Lockwood <lockwood@android.com>
tp/PtpClient.java
tp/PtpCursor.java
c7fcba4b7bd3d78e7cfe975a3f8e4dde2f6738b7 06-Jan-2011 Joe Onorato <joeo@google.com> Make the volume keys adjust the media volume by default if the device is not "voice capable."

Change-Id: Ide396f8940a075c0b00b7c983c1769c1cc0f17bf
edia/AudioService.java
df9b349b960fff95dff4fcf8b2661899e33059da 05-Jan-2011 James Dong <jdong@google.com> Replace extractAlbumArt() with getEmbeddedPicture() in MediaMetadataRetriever.java

Change-Id: I34dfc1daa3bed1f334f3f266cbe70d1e3d7924f6
edia/MediaMetadataRetriever.java
6e77de71ac6d23b6591028d04e1f2a4b5fc14d94 04-Jan-2011 James Dong <jdong@google.com> Remove captureFrame from MediaMetadataRetriever.java class
It has been replaced by getFrameAtTime() method

Change-Id: I9ed762e10e61dbc188e2a740e489a3e2ef9a6bb2
edia/MediaMetadataRetriever.java
0cd0136d440cf6ad9d5fab430269116786e671ec 30-Dec-2010 Mike Lockwood <lockwood@android.com> Move MTP Java classes to android.mtp.* package.

Change-Id: Ib18bcaabf314241a95e517d0b93be5845d988e2c
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaFile.java
edia/MediaScanner.java
edia/MtpConstants.java
edia/MtpDatabase.java
edia/MtpPropertyGroup.java
edia/MtpPropertyList.java
edia/MtpServer.java
edia/PtpClient.java
edia/PtpCursor.java
tp/MtpConstants.java
tp/MtpDatabase.java
tp/MtpPropertyGroup.java
tp/MtpPropertyList.java
tp/MtpServer.java
tp/PtpClient.java
tp/PtpCursor.java
2116dc91e96f7153f65468ed40a0b57e437679f7 22-Dec-2010 James Dong <jdong@google.com> Expose AMRNB/WB and AAC encoder and related file output formats
Cherry-picked from GB

bug - 3305667

Change-Id: I116ba908666d712495a1bd2bcc47c35f274c7fae
edia/MediaRecorder.java
27d4ad2a5771ad025fa69f64b093d7429d94bfd3 22-Dec-2010 James Dong <jdong@google.com> am 2bf89b21: Merge "Expose AMRNB/WB and AAC encoder and related file output formats - do not merge" into gingerbread

* commit '2bf89b2197674ccc414ea60a61199562df9dc52b':
Expose AMRNB/WB and AAC encoder and related file output formats - do not merge
d609ca7f6a48f32dcd6671f877a96e8bf1b898ed 22-Dec-2010 James Dong <jdong@google.com> Expose AMRNB/WB and AAC encoder and related file output formats - do not merge

bug - 3305667

Change-Id: I8f137af7f87cb010f75cae1777b9ec6b6af8214f
edia/MediaRecorder.java
fbc4939d2b51d511858846363bf02c7c9f851ed2 17-Dec-2010 Mike Lockwood <lockwood@android.com> MediaScanner: Fix handling of .nomedia files in directories

In particular, fix the code that prevents the database triggers from deleting
files when a .nomedia file is added to a directory

Change-Id: Ie913223f3b1bbf9122842a675b96d4baac3b1c6f
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
076e05b488e40fdd946f0d35137fe66a576efe09 16-Dec-2010 Mike Lockwood <lockwood@android.com> MediaScanner: Add support for scanning empty directories

Currently the media scanner does not create database entries for directories
unless they contain a file that is scanned.
Fixing this so we provide a consistent view of the world to MTP.

Change-Id: Ia776acfeae23192183e7192d63cdc34d830ea889
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
edia/MediaScannerClient.java
c32dd5f2d12107f3f1eff26dfd55a42d49c337de 16-Dec-2010 Chih-Chung Chang <chihchung@google.com> Fix 3274309: Returns correctly sized thumbnails for MINI_KIND video thumbnails.

Change-Id: I88b293e44430eebe780dfb9eb06d80f8ce89483f
edia/ThumbnailUtils.java
2c61bee2b05a6f4cf06a0048b3c0a81f248a48cd 15-Dec-2010 Eric Laurent <elaurent@google.com> Change audio routing policy for HDMI

HDMI device should have a higher priority than analog dock audio but a lower priority
than wired headsets.
Also modified AudioService so that HDMI is mapped to DEVICE_OUT_AUX_DIGITAL device and not
DEVICE_OUT_DGTL_DOCK_HEADSET as before to enable discrimination between SPDIF going to
digital dock and SPIDF going to HDMI.

Change-Id: I887d0c73479784dd2edaf41ce1a7d8d0bdcbb4bd
edia/AudioService.java
55f808cff9913a00164120a422af6ca45db5072b 14-Dec-2010 Mike Lockwood <lockwood@android.com> MTP: Make recursive delete more efficient

Change-Id: Iec9df8ac910f5257236b59c95b0ee3d7d05f367c
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
bafca214eaf326441e5157d645b2ee7fe8c7d1ab 14-Dec-2010 Mike Lockwood <lockwood@android.com> MTP: check for replacing existing files via the database instead of the file system

Change-Id: I283dab48f24d2836e48fab8e49764a9cdf13de55
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
eb46d0601e94533e50260e6fb7c807966e4ae097 13-Dec-2010 Mike Lockwood <lockwood@android.com> MediaScanner: No longer delete playlist files that have no valid entries

When copying files from MTP we must keep the file in the database, even
if we cannot find any of the playlist entries (or even if it is not a valid playlist file)

BUG: 3260341

Change-Id: I4b39027ee25ffae6778224cf74830a4b1ca3fecb
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
b6a0dfb0f19492f9d685541033b47922a817eb34 13-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix bug 3275151 Request and abandon audio focus with audio mode changes"
7f36b19b6b78c83f1c52edd153d64295ee3840ce 12-Dec-2010 Mike Lockwood <lockwood@android.com> MTP: Add support for reserve storage setting to avoid low storage situations.

Set resource config_mtpReserveSpaceMegabytes to number of megabytes to reserve.
If MTP has dedicated storage this value should be zero, but if MTP is
sharing storage with the rest of the system, set this to a positive value
to ensure that MTP activity does not result in the storage being
too close to full.

BUG: 3250924

Change-Id: I881c87240da268bad1ea1b99ad03673ab85ffdbf
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpServer.java
2ade576148fe33c5ff6098d30ccfbcf28df70e8e 11-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 3275151 Request and abandon audio focus with audio mode changes

Before the introduction of the MODE_IN_COMMUNICATION audio mode,
"calls" were only made through telephony and the PhoneStateListener
was used to request and abandon audio focus as calls where started
and ended. VoIP applications do not cause phone state events to
be broadcast, and set the audio mode to MODE_IN_COMMUNICATION
directly. This change monitors mode changes to automatically
grab and abandon audio focus.

Change-Id: Ie9a4193e35ba8447764fac66a988959a93c4909f
edia/AudioService.java
51f56cbd30c3d243934f75812e5d83d8b72b93d9 09-Dec-2010 Mike Lockwood <lockwood@android.com> Merge "MTP: Improve argument checking in SendObjectInfo"
365e03e4943b2d2f4d1e602409ab0e770ea77d1d 09-Dec-2010 Mike Lockwood <lockwood@android.com> MTP: Improve argument checking in SendObjectInfo

In particular, make sure the parent is a folder and make sure file
does not already exist.

Change-Id: Ifa870faba3285f03a92025d9e82f93fed78a761c
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
7b2029be0b77702e51fff367a2bf4f7fcb5d2456 08-Dec-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 3159946."
62ef767b15a712bab31cc0d5508a330906f535c2 24-Nov-2010 Eric Laurent <elaurent@google.com> Fix issue 3159946.

AudioService now uses SCO virtual calls instead of voice recognition to
implement startBluetoothSco() method.
Also make sure that a virtual call is not started when SCO audio is active
due to in call audio or voice recognition.

Change-Id: I93ed119afbc57250a4433201156714e35f70fea4
edia/AudioService.java
ea93fa16b166ff477e9cf6bd3ac67c8fb259fb57 07-Dec-2010 Mike Lockwood <lockwood@android.com> MTP: Implement MTP_DEVICE_PROPERTY_IMAGE_SIZE device property.

Return screen size as preferred maximum image size.

Change-Id: I8dc4afb0e49fe45f6925a35aa443d3fc30211453
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
f6bd1ea0c79516a5ef3c0c463761deec1a80e419 04-Dec-2010 James Dong <jdong@google.com> Replace MediaMetadataRetriever.captureFrame() with MediaMetadataRetriever.getFrameAtTime()

as part of the preparation for publishing MediaMetadataRetriever as public Java API

bug - 2433195

Change-Id: I6e8a771347e3d89bfe359ae403ebfe3205ea6313
edia/ThumbnailUtils.java
faf09ba9405ff019b5ca7e2317debe4ff269d4f8 03-Dec-2010 James Dong <jdong@google.com> Prepare for publishing MediaMetadataRetriever as public API

step one:
o replaced captureFrame with getFrameAtTime
o removed getMode

bug - 2433195

Change-Id: I38a8cecef29014692f0b08b8818326e3ebb40a12
edia/MediaMetadataRetriever.java
f3332a1d874649dacc048e0e1fe3a2a034bb154c 02-Dec-2010 Gil Dobjanschi <virgild@google.com> Merge "Remove the VideoEditorTestImpl"
0a218eab61c1f0775c8155ce6509564613274ab5 02-Dec-2010 Andreas Huber <andih@google.com> Merge "Squashed commit of the following:"
731e46575aeffa26b41d7590a0a4de637d792258 02-Dec-2010 Gil Dobjanschi <virgild@google.com> Remove the VideoEditorTestImpl

Change-Id: I16302716f4aa32f69f48c9f4cc5732b421c1a675
edia/videoeditor/VideoEditorFactory.java
edia/videoeditor/VideoEditorImpl.java
edia/videoeditor/VideoEditorTestImpl.java
cd023f98fab0f01603f006c3029a73cd820b4678 02-Dec-2010 Gil Dobjanschi <virgild@google.com> Merge "Added a callback interface to the generatePreview method."
b5c6afc208bd70eba386dbb2c0fb29b34e44e4d4 02-Dec-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit de99ae4a523ff5ec40b47071f22fdde1a4b2a0bf
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 2 13:18:40 2010 -0800

Scan for sync words to find H.264 frame/AAC frame boundaries if PES packets do not start with them.

Change-Id: If2861982ecb3006fac806105dbfcd1d43c2a4205

commit be23791ff0d037aa7073589cdc8bfc362e1c281d
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 2 13:12:39 2010 -0800

Properly expand relative key URLs and strip surrounding quotes in the M3UParser.

Change-Id: I013a6d83a64f095d090e5c7730298bdac7d03ab4

commit 0f1d8f65effe0cc42a265dd91d8b91dce6534325
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 2 13:11:27 2010 -0800

Ugly hack that assumes that any http url containing "m3u8" refers to an httplive stream.

Change-Id: I05d7bbc5dab0f9822558122b5b9dc2a109ed8518

commit 255f0d5cdb1072ecd66b47ee614bf574f1388e5a
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 2 13:10:56 2010 -0800

Add one more mimetype "application/x-mpegurl" to identify httplive playlists.

Change-Id: I63fd3b8c2539c9ee23c077df533157af78b10863

Change-Id: I135687383009dbe32d690c9ba8dea60159adc616
edia/MediaFile.java
786ecf849c57de5400a0d594d3b133758a17a1a0 02-Dec-2010 Gil Dobjanschi <virgild@google.com> Added a callback interface to the generatePreview method.

Change-Id: I7ba678aba47f232e1c320bb36decf59f80f3755d
edia/videoeditor/VideoEditor.java
edia/videoeditor/VideoEditorFactory.java
edia/videoeditor/VideoEditorTestImpl.java
f45853af5051df4abaa33cdca7fa986104811d1a 02-Dec-2010 Mike Lockwood <lockwood@android.com> MediaScanner: Fix path mismatch in code that check for missing files in postScan()

BUG: 3213640

Change-Id: I102d6c9ae95adadb855e2199380117808ccaa1ee
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
7d7fb63071ca370f77ed69055ac30341b8388d15 02-Dec-2010 Mike Lockwood <lockwood@android.com> MTP: Add support for multiple properties in GetObjectPropList command

Change-Id: Ib469a6c8141937aaa3e811345056195117abb4b2
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
edia/MtpPropertyGroup.java
edia/MtpPropertyList.java
938f2577e6d5166407c9483509e013c72f094b45 01-Dec-2010 Eric Laurent <elaurent@google.com> am 371ed722: am 688f4c58: Merge "Update java doc for visualizer FFT capture." into gingerbread

* commit '371ed72216789505acadfac3f2e905dafb04f6e0':
Update java doc for visualizer FFT capture.
371ed72216789505acadfac3f2e905dafb04f6e0 30-Nov-2010 Eric Laurent <elaurent@google.com> am 688f4c58: Merge "Update java doc for visualizer FFT capture." into gingerbread

* commit '688f4c58d4a7590ad47c219af3a5b8479d3a084d':
Update java doc for visualizer FFT capture.
688f4c58d4a7590ad47c219af3a5b8479d3a084d 30-Nov-2010 Eric Laurent <elaurent@google.com> Merge "Update java doc for visualizer FFT capture." into gingerbread
84e3916720e430e0d6debfaf5343b8a14fdf1ce4 30-Nov-2010 Mike Lockwood <lockwood@android.com> Merge "MTP: Don't fail in playlist transfer if not all playlist items can be found."
7adfd1896c17d734440962c9f8dbe4aad48bcb49 30-Nov-2010 Mike Lockwood <lockwood@android.com> MTP: Don't fail in playlist transfer if not all playlist items can be found.

Change-Id: I8275c4e5eca34e193a3cedcba16442bf388e74eb
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
ca3c639cc4803b89a8a45aa7ab2a6de1c470f456 24-Nov-2010 Shyam Pallapothu <shyamp@google.com> Merge "Added new bitrate values"
83cd9dcf988b02366e095348883eca992bdbb0ed 24-Nov-2010 Gil Dobjanschi <virgild@google.com> Added new bitrate values

Change-Id: I2e6ab51d9a845beca02f84cefc66663fbf89aabf
edia/videoeditor/MediaProperties.java
c0b8b321d5428e4fc425713e3889ef745af3af2d 20-Nov-2010 Mike Lockwood <lockwood@android.com> Rename MtpClient and MtpCursor to PtpClient and PtpCursor

Change-Id: I26fce3bf32c8e9c8d592106af7ab4c35b19e0996
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpClient.java
edia/MtpCursor.java
edia/PtpClient.java
edia/PtpCursor.java
a31560598af25d5116effc2a6af0d9be12a0628d 20-Nov-2010 Mike Lockwood <lockwood@android.com> Rename android.provider.Mtp to android.provider.Ptp

We are only supporting the PTP subset of MTP in host mode and have
no plans for full MTP, so calling it Mtp was misleading.

Also moved ACTION_MTP_SESSION_END Intent name to android.provider.MediaStore
and added it to the public API.

Change-Id: Ie35d15864d5972e65a39b982aa51316ecca3725a
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpCursor.java
edia/MtpDatabase.java
e45674e284f690ca9c395811ae0703c276514f2b 23-Nov-2010 Gil Dobjanschi <virgild@google.com> Merge "Begin transition was invalidated when the image duration was changed."
37f7e0c7bfcfa6684a2012e1f22d1a926ab3d8a3 23-Nov-2010 Gil Dobjanschi <virgild@google.com> Begin transition was invalidated when the image duration was changed.

Change-Id: I0118813a66c65d8b3746fc2c689cf9d8da651aa3
edia/videoeditor/MediaImageItem.java
8aa798b244e32e227bad97d40ddfd7d3557030a3 18-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Unhide android.media.AudioManager.MODE_IN_COMMUNICATION

Unhide new constant for an audio mode for a system state when
the device has a VoIP (as opposed to telephony) call established.
Update the setMode and getMode javadoc to link to the mode constants
that can be set or retrieved.

Change-Id: I90c4417679f215eb66e5305086fd077beddaa59c
edia/AudioManager.java
954c267725d64a37655d6f3a00de6a5aa00ddaf8 19-Nov-2010 Mike Lockwood <lockwood@android.com> PTP: Improve performance and reliability of file importing

Now the file copy is done completely within the media process
rather than pushing data to the client via ContProvider.openFile().

File system writes are now interleaved with USB reads, which allows us
to copy the data faster and prevents the camera from timing out during transfer.

File is automatically inserted in the media provider after a successful import
and a Uri is returned to the client.

BUG: 2994234

Change-Id: Ie75c63da76f623343d3d966c6a707aa1ae871972
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpClient.java
edia/MtpCursor.java
a0dfa2cdd8c84db4732c9ac8344c5e8d1480bc1f 18-Nov-2010 Gil Dobjanschi <virgild@google.com> AudioTrack getTimelineDuration clarification.

Change-Id: I276316e851918df227b7246766916fa8572f1b89
edia/videoeditor/AudioTrack.java
b1fcb2abd3ec1847208cef048b06ff5be65add3a 18-Nov-2010 Gil Dobjanschi <virgild@google.com> Added IOException to WaveformData constructor

Change-Id: Ic00b582beaa2701ffa72e99194693fd7cfa45a6d
edia/videoeditor/AudioTrack.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/TransitionAlpha.java
edia/videoeditor/WaveformData.java
91823e3b25a135a23fdea8bea3d835660b2f3479 18-Nov-2010 Gil Dobjanschi <virgild@google.com> Merge "Disable ducking by default. Changed ducking threshold parameter range."
ffd0eb0f1106b0229694a1a86ce7d6356efcf50d 17-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 3183484 unhide MediaRecorder.AudioSource.VOICE_COMMUNICATION

Change-Id: I26cd88b1bb05de546415b1f92fbb9430e63b4eab
edia/MediaRecorder.java
0f76d9b1c2d93a19b436dcbfef9fc46a2712d195 18-Nov-2010 Gil Dobjanschi <virgild@google.com> Disable ducking by default. Changed ducking threshold parameter range.

Change-Id: I66a73b270466ced2ace9e3b10f82cfab1a1306bb
edia/videoeditor/AudioTrack.java
413577d8600413bb1dca3730d4ccf20892b929b4 16-Nov-2010 Mike Lockwood <lockwood@android.com> MTP: Fixes to allow file transfers > 4 gigabytes

BUG: 3198248

Change-Id: I6f11c79a19d7bdd63718a7370939124b1262d221
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
558cf799293df19aab99b30d5a1579b989e0465a 17-Nov-2010 Mike Lockwood <lockwood@android.com> Merge "MTP: Set correct format for abstract audio playlists"
0b58c19840c577c8d8fd8aa5315676d61b78ba0f 17-Nov-2010 Mike Lockwood <lockwood@android.com> MTP: Set correct format for abstract audio playlists

Fixes a bad interaction with the media scanner that could result in
playlists getting duplicated or deleted after rebooting.

BUG: 3175649

Change-Id: I970234e86b24ac17d069aca085683d988abc7881
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
05b07fd204cc9cc340dc579db17008bf9e8161fd 17-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add new audio mode for audio communications other than telelphony."
3ee66f7b34b6216efb84ca6cb1cce63079561b99 17-Nov-2010 Gil Dobjanschi <virgild@google.com> Merge "Invalidate transitions when the start time or duration of an effect or overlay changes."
f1d8f2a140bf5c03c8e3b0a4baab8a3a68fb9f1d 16-Nov-2010 Gil Dobjanschi <virgild@google.com> Invalidate transitions when the start time or duration of an effect or overlay changes.

Change-Id: Ibc4d80e92ff46b4ecabed5b998f5b0f2c9ca3473
edia/videoeditor/Effect.java
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaItem.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/Overlay.java
edia/videoeditor/WaveformData.java
8f677d66d9c3ba34c97e69b2bb9e161f129af0ee 15-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Add new audio mode for audio communications other than telelphony.

The audio mode MODE_IN_CALL signals the system the device a phone
call is currently underway. There was no way for audio video
chat or VoIP applications to signal a call is underway, but not
using the telephony resources. This change introduces a new mode
to address this. Changes in other parts of the system (java
and native) are required to take this new mode into account.
The generic AudioPolicyManager is updated to not use its phone
state variable directly, but to use two new convenience methods,
isInCall() and isStateInCall(int) instead.

Change-Id: Id744cd26520ea1d1a4795eabe6a1f0c58789af76
edia/AudioManager.java
edia/AudioService.java
edia/AudioSystem.java
858caeaaa1db4076565e6df06b2b2721ec453c4e 16-Nov-2010 Mike Lockwood <lockwood@android.com> MediaScanner: Always use mime type provided to the media scanner

BUG: 3179926

Change-Id: Ib94aea43b83658e3ab31c5eacf7a5135cd14822a
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
160b977c81ce1b3edc7c310a661c31e3d5183768 15-Nov-2010 Mike Lockwood <lockwood@android.com> Merge "MTP: Fix time values returned via GetObjectPropValue and GetObjectPropList"
3159991e586f9e243f60d65a9554828328b00521 15-Nov-2010 Mike Lockwood <lockwood@android.com> MTP: Fix time values returned via GetObjectPropValue and GetObjectPropList

Change-Id: If9bb8b4b19ed6c8d57736e5d1af948fcc946af0e
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
81a602958ffc78d591700229e19acd653b7dd4de 15-Nov-2010 Andreas Huber <andih@google.com> Merge "Add http live mime types to MediaFile, add support for playlist mime types to browser."
5dffd0e3af502acdc2e45425139ef8081fa4f0a8 15-Nov-2010 Andreas Huber <andih@google.com> Add http live mime types to MediaFile, add support for playlist mime types to browser.

Change-Id: I1f0b31dd2f4e6cfa33a61ff8505e8396aca3c20f
related-to-bug: 2368598
edia/MediaFile.java
e2ad6ec1718ef0c0e8230f8f62e7cfefcf598b6a 15-Oct-2010 Mike Lockwood <lockwood@google.com> MTP: Partial implementation of the GetObjectPropList command

In this initial implementation we only support fetching one property at a time.
Support depth = 0 (single object) or depth = 1 (all objects in a directory)
Reimplemented GetObjectPropValue on top of GetObjectPropList, since the former
is a special case of the latter.

Change-Id: Ia76ee61741d6ee3902b5c5d9fc094cf86dfaf650
Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/MtpConstants.java
edia/MtpDatabase.java
edia/MtpPropertyList.java
44d47ad56502a1ccb308a9ec2cd05120a53fac3d 15-Nov-2010 Mike Lockwood <lockwood@android.com> Merge "MediaScanner: Add support for importing file based playlists copied over MTP"
75159247d81943ba99935fe02c38383c7c380304 13-Nov-2010 Gil Dobjanschi <virgild@google.com> Transition invalidation bug fix.

Change-Id: I2ca901a805e377fb7d3374281a986b82bcf02590
edia/videoeditor/MediaImageItem.java
caf7e43a40245520fc26b19bce408da24c050e01 13-Nov-2010 Mike Lockwood <lockwood@android.com> MediaScanner: Add support for importing file based playlists copied over MTP

Change-Id: I53a9f204297ff29d4df994d2174bd6d6288f2c97
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
0bf307524157a355667e1c05fbac864dc117af81 12-Nov-2010 Gil Dobjanschi <virgild@google.com> Merge "Invalidate transitions when an image media item duration changes."
5c7d5ae094ab90f1d0f0b1d3dbc5696bea87749e 11-Nov-2010 Mike Lockwood <lockwood@android.com> Merge "MediaFile: Recognize MPG file extension as MPEG video"
28d1a4aaf3c338f42d7b71d4653be707f06948a6 11-Nov-2010 Mike Lockwood <lockwood@android.com> MediaFile: Recognize MPG file extension as MPEG video

Change-Id: Ief7308e5f562754a27f07e4fda970ffd7b1eb98e
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaFile.java
34fad156999e69f8700ba2a693805ec83ebebcb6 11-Nov-2010 Gil Dobjanschi <virgild@google.com> Invalidate transitions when an image media item duration changes.

Change-Id: I3cff920ef629df49dcfcb63065afeeb47a649287
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaItem.java
1fbeece669ac2ee1eec7dc45dc5a2a1bd5c36574 10-Nov-2010 Gil Dobjanschi <virgild@google.com> Close the file input stream if the XML file parsing fails.

Change-Id: I254633a173d61ff8be3f2f399a2d41305076ed78
edia/videoeditor/VideoEditorTestImpl.java
820b9e0d3b6f94fe0b524aebf756ce25df273e6a 09-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Add recording source for voice communication

Add a recording source used to designate a recording stream for
voice communications such as VoIP.

Change-Id: I4091d67069b1a0170c1a5ca5e6acd51eb0aa08f9
edia/MediaRecorder.java
482083c57fc21516099d4f9987512f649e362960 09-Nov-2010 Wu-cheng Li <wuchengli@google.com> am f6bd761f: Use back-facing camera as default in camera/camcorder profile.do not merge

* commit 'f6bd761f9407a35cc1c4a4b9e199e6a0dc8e4943':
Use back-facing camera as default in camera/camcorder profile.do not merge
5680635f39b3098539cbfd120f95fdc4479bab0f 09-Nov-2010 Wu-cheng Li <wuchengli@google.com> Use back-facing camera as default in camera/camcorder profile.

bug:3173302
Change-Id: Iae9565eb58949a1c9c2f2a1f5251b2df097ec167
edia/CamcorderProfile.java
edia/CameraProfile.java
f6bd761f9407a35cc1c4a4b9e199e6a0dc8e4943 09-Nov-2010 Wu-cheng Li <wuchengli@google.com> Use back-facing camera as default in camera/camcorder profile.do not merge

bug:3173302
Change-Id: I11eaed32bb393206b560834d52c412f3e5a1a7d9
edia/CamcorderProfile.java
edia/CameraProfile.java
d1604c731330a74d1c8f160f045246a10e675899 09-Nov-2010 James Dong <jdong@google.com> am 9cebb86c: am 1b2efbca: Merge "Update a comment about when setOrientationHint() should be called" into gingerbread

* commit '9cebb86c95ad4846ecc771e4b40d2dbd5cf1494b':
Update a comment about when setOrientationHint() should be called
9cebb86c95ad4846ecc771e4b40d2dbd5cf1494b 09-Nov-2010 James Dong <jdong@google.com> am 1b2efbca: Merge "Update a comment about when setOrientationHint() should be called" into gingerbread

* commit '1b2efbca7120cf799d1242d277af354df7b0a9bb':
Update a comment about when setOrientationHint() should be called
8346ad0a8f20aa65082af569ac09723db989ad8b 09-Nov-2010 Gil Dobjanschi <virgild@google.com> Merge "Fix invalidateTransition method"
549a65b5a40e6377e2311ba5efb09ae4c94092f0 09-Nov-2010 Gil Dobjanschi <virgild@google.com> Fix invalidateTransition method

Change-Id: I12d5b7256d2956007b65c8304053717dd7b9b7ef
edia/videoeditor/Effect.java
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaItem.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/Overlay.java
edia/videoeditor/OverlayFrame.java
edia/videoeditor/VideoEditorTestImpl.java
51387974f0914a12dcf758938bbd4ffe120bdab4 08-Nov-2010 Joe Onorato <joeo@google.com> Merge "Move the volume, media, call, camera and search key handling from PhoneWindow to a new PhoneFallbackEventHandler class that is used for all windows, not just ones with decors."
5aa95dd36cd0708d25accd8d745ae8ebc255758f 08-Nov-2010 James Dong <jdong@google.com> Update a comment about when setOrientationHint() should be called

Change-Id: I389089390a552ee7a86823c050048dcec0a0eb2a
edia/MediaRecorder.java
76f15bcb8bd37085bb5494633976e81d1087fb4e 08-Nov-2010 Wu-cheng Li <wuchengli@google.com> Do not use CAMERA_ID_DEFAULT because it is removed.

bug:3173302
Change-Id: I360e55f2665b2e121c8cf017e17c4cb4dd181e88
edia/CamcorderProfile.java
08caf9e84f730837999e26753cb87f2aea0500c5 07-Nov-2010 James Dong <jdong@google.com> am bb97d7bb: am 0467b0ab: Merge "Add a new public API to support recording rotated videos" into gingerbread

* commit 'bb97d7bbf33393af842de1d8fd8512a24c73b6b3':
Add a new public API to support recording rotated videos
bb97d7bbf33393af842de1d8fd8512a24c73b6b3 06-Nov-2010 James Dong <jdong@google.com> am 0467b0ab: Merge "Add a new public API to support recording rotated videos" into gingerbread

* commit '0467b0abfc94f959163d84eadedf6941e41c1882':
Add a new public API to support recording rotated videos
a726e12fb71705f8629a1b0041821db15b1b95fc 06-Nov-2010 Owen Lin <owenlin@android.com> Merge "Add more EXIF tags."
86f6786032b1a0380cf089aeeceef7e9d8982ef8 06-Nov-2010 Joe Onorato <joeo@google.com> Move the volume, media, call, camera and search key handling from
PhoneWindow to a new PhoneFallbackEventHandler class that is used
for all windows, not just ones with decors.

Bug: 3155146
Change-Id: Ib070fa3e523e3564b225bca576c08012fef4f416
edia/AudioManager.java
d141305f93364810b4e2324fe41285b65a6b6c82 06-Nov-2010 Gil Dobjanschi <virgild@google.com> Fix: FileInputStream not closed after parsing XML file

Change-Id: I8ea69738d5ba1e91c9c759f76c49a8a324c24b88
edia/videoeditor/VideoEditorTestImpl.java
c7481cd56f2fdcf713bc6fa9a82810345e88f63e 06-Nov-2010 Gil Dobjanschi <virgild@google.com> Merge "Added an export method without codec parameters."
ad8f19c6b3167cadc90a35f4d795b07aa2f04ffa 05-Nov-2010 James Dong <jdong@google.com> Add a new public API to support recording rotated videos

o changed a comment about the rotation orientation from counter-clockwise
to clockwise.

Change-Id: I16ad73ce1a55cc627d9a516e23d1325753b3037e
edia/MediaRecorder.java
250528e5b2362cb7b6749afb331acd8226f67744 05-Nov-2010 Mike Lockwood <lockwood@android.com> MediaScanner: Fix mismatch between internal and external file paths.

Change-Id: If2fac90a466c4d63fc90f96e91733c9e9ca14680
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
c006e8ef64bbfd47a9ecd4cfd708362e40b0d337 05-Nov-2010 Gil Dobjanschi <virgild@google.com> Added an export method without codec parameters.

Change-Id: If0a1c34f2266c441cd16c46da5c07ab1a509314b
edia/videoeditor/VideoEditor.java
edia/videoeditor/VideoEditorTestImpl.java
4414eb4b2955be9eb62d1ddf379d1a7ae1822887 05-Nov-2010 Ray Chen <raychen@google.com> Add more EXIF tags.

Change-Id: I77a02a6de6bb4c364bb9718f7bed15468a38a279
edia/ExifInterface.java
a7ccd130832c2d5d9151236da2b75fa76086bc7b 04-Nov-2010 Gil Dobjanschi <virgild@google.com> Merge "Added audio and video codec parameters to the export method."
289f08990ca1f0de33c9939a00958739969dff7e 04-Nov-2010 Gil Dobjanschi <virgild@google.com> Added audio and video codec parameters to the export method.

Change-Id: I1badd08ce7148da540bf91df0e19c3da59287756
edia/videoeditor/VideoEditor.java
edia/videoeditor/VideoEditorTestImpl.java
c25c28a496012f64da57f5beb3b99f7424abb602 04-Nov-2010 James Dong <jdong@google.com> am c0fa1d47: Merge "Revert "Support rotation in media recorder"" into gingerbread

* commit 'c0fa1d4791667ee8d1a9685749e42426fe8bd38b':
Revert "Support rotation in media recorder"
c80c28801d683dcf37131b024300058d8df58f4a 04-Nov-2010 James Dong <jdong@google.com> Revert "Support rotation in media recorder"

This reverts commit f1febe470ac30f8992066cb263c10f58493c4c34.
edia/MediaRecorder.java
0ce42c9d315ea6bf0e4f81b14b9e1a38f8979897 04-Nov-2010 Hiroshi Lockheimer <hiroshi@google.com> am c181a082: Merge "Support rotation in media recorder" into gingerbread

* commit 'c181a08209dc85c80e4da5d20cd3980998def40d':
Support rotation in media recorder
f1febe470ac30f8992066cb263c10f58493c4c34 04-Nov-2010 James Dong <jdong@google.com> Support rotation in media recorder

o needs to be tested with camera hal and camcorder application

Change-Id: Ie343185c8ad3ec55da8850efbdcf19cf98993232
edia/MediaRecorder.java
26e37349831476d3225570af2dfbf1e459374c6b 03-Nov-2010 Praveen Bharathi <pbharathi@motorola.com> frameworks/base: switch audio to hdmi when cable is plugged in

Change-Id: I01c4ee968bc0ffbb6ce75370935571cc1ff6f8c7
Signed-off-by: Iliyan Malchev <malchev@google.com>
edia/AudioService.java
de04e5242ad7d95c392070e1a4f7acdf3809b91a 03-Nov-2010 Jaikumar Ganesh <jaikumar@google.com> Merge "Add STATE_AUDIO_CONNECTING state."
30d181690e48b26cdfae3b144d23f1e16c75da37 01-Nov-2010 Jaikumar Ganesh <jaikumar@google.com> Add STATE_AUDIO_CONNECTING state.

Why is it needed: SCO audio connections can fail.
Currently no indication is given to clients which are waiting
for SCO connections. This was working fine before because
SCO connections where blocking calls, which was wrong in itself.

Change-Id: Ic449b2db8506a7a5ae6be6c68715f1a7343f9e40
edia/AudioService.java
82415bed3478a3a2200386691f05d671b46568f5 03-Nov-2010 Gil Dobjanschi <virgild@google.com> Merge "Use SoftReference for WaveformData"
db963e9c64cc88bd912dc92ebace6a62b752c2a4 03-Nov-2010 Gil Dobjanschi <virgild@google.com> Use SoftReference for WaveformData

Change-Id: I801a4eb4f55e0c6244f868bf8b474a2a79d81642
edia/videoeditor/AudioTrack.java
edia/videoeditor/MediaVideoItem.java
1f89c4f9f8df5d7125221250993ba1e853ed9fed 03-Nov-2010 Gloria Wang <gwang@google.com> Use SystemProperties.get() instead of System.getProperty()

Change-Id: I92571fa217e6623345bbd84cf87ab939fbe63b0a
edia/MediaScanner.java
e4eb4d9de37a8e9ed6f43a5f7deccf88f28bfc8b 02-Nov-2010 Marco Nelissen <marcone@google.com> In java, System.getProperty returns null when the property doesn't exist,
rather than an empty string like it does in native code.
b/3157546

Change-Id: I7985a405e4d2d1f20be0a151aa2cf2e5a83b380b
edia/MediaScanner.java
21e941bf43362ddc6639a9f2d0828053360f53d7 06-Oct-2010 Praveen Bharathi <pbharathi@motorola.com> Added support for dock headset observer

Change-Id: I06b2e65e3bfa10735e6c7fd3349afa9ae7d45292
Signed-off-by: Praveen Bharathi <pbharathi@motorola.com>
edia/AudioService.java
edia/AudioSystem.java
2b5f9ad1eaf0d6daaca5cf3761434a09309902bb 30-Oct-2010 Mike Lockwood <lockwood@android.com> MTP: Changes to support /mnt/sdcard paths from MediaProvider.

Change-Id: I337f0514c20ed31738c73e1f7ab6fb71cc744057
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
5d143ad4a8f8c90f44e185a494ff3ff638e6c103 01-Nov-2010 Gloria Wang <gwang@google.com> Media scanner support for FL(Forward Lock) DRM file types

Change-Id: Id85edbfc2851d9054a7433d24bb5cf33a457a4e5
edia/MediaFile.java
edia/MediaScanner.java
69b8d69aadbf0e795f1a1e1adc82c78cf0b9959f 29-Oct-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 0d5694ba2d399dd0869532a4d6256448185a1be0
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:59:23 2010 -0700

suspend() and resume() methods on VideoView are back but don't do anything.

They need to be back because they were public before.

Change-Id: Iddfd1021ffcf341f26e8d55ba761fd33701e2425

commit 16192891ed7d349ee97e47d1729d20a2d0d247b8
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:47:05 2010 -0700

Revert "New API on VideoView widget to suspend/resume a session. Do not release the MediaPlayer client for video suspending/resuming."

This reverts commit 2e1818a4d16c3309660f27286c77d8d1eee95a25.

Conflicts:

api/current.xml

Change-Id: I68dd1d05871044faf3f832d0838aa40bc7f890e5

commit 8f934dc1a3ae4e60f0790fcf97671e063fa20fad
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:44:16 2010 -0700

Revert "Release mediaplayer if the current state is not suspending. Fix for bug 2480093."

This reverts commit efb882cf75eef39ecaf9f8920ed302a019fa629f.

commit f2ed03550887986f39d36b5dabcd9e919949c7cf
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:44:08 2010 -0700

Revert "Release MediaPlayer if suspend() returns false."

This reverts commit 047212fd4ea360675e94d3ce83c7f5544f65b268.

commit 441ecce678bd24e9660a72c8627b5bd94433ff8b
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:40:46 2010 -0700

manually.

Change-Id: I4fdd43c9f7c8b3eedddb31a196da4984e1c58e87

Change-Id: I60d4b10e7a9e4ed8d9a796f1711618f557eb6e89
edia/MediaPlayer.java
6ea92ecabbb53a2997eb5835c11945fecc177b91 29-Oct-2010 Gil Dobjanschi <virgild@google.com> Bug fix: Use getDuration vs. getTimelineDuration in Effect and Overlay limits calculations.

Change-Id: I5f619807435dc75c285446bfd60327bc1c1ecacd
edia/videoeditor/Effect.java
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaItem.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/Overlay.java
03a4090b4d5965ff01cbb03dcf6d96b30d634fa3 28-Oct-2010 Eric Laurent <elaurent@google.com> Update java doc for visualizer FFT capture.

The java doc for visualizer FFT capture was not describing
correctly the layout of the data returned by getFft() method.

Change-Id: Idec09538490ea73b211db253b1b8b733ca4d4a72
edia/audiofx/Visualizer.java
6f3c808b4f134eba1dfb57e13853addc351ca76f 27-Oct-2010 Gil Dobjanschi <virgild@google.com> Waveform member variables must be private

Change-Id: I8e61dbe5ad51b455377e39a0918ac82d138d8228
edia/videoeditor/WaveformData.java
4545f73530d995860f0c12fbb1fdb722b3e82c18 27-Oct-2010 Gil Dobjanschi <virgild@google.com> Added waveform data support

Change-Id: I28e922e0d6588ffe13da7e814dae61f17446b1e9
edia/videoeditor/AudioTrack.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/WaveformData.java
c7415b7800d80bcac140da7a635cc05e09724bfb 27-Oct-2010 Gil Dobjanschi <virgild@google.com> Merge "Removed the start and end transition types."
8aebc966d27081bcd75c3a4eaca05bc575f5fa16 27-Oct-2010 Vasu Nori <vnori@google.com> Merge "add method in MediaFile to determine if a file is a mediatype of not"
45b43622e329c25c6070a3f2f2fc2ba5a14533bb 27-Oct-2010 Vasu Nori <vnori@google.com> add method in MediaFile to determine if a file is a mediatype of not

this helps DownloadService to avoid invoking MediaScanner on
pdf or other non-mediatype files.

Change-Id: I92514e1a11f5119229c0c7292e410e352a9dbcdd
edia/MediaFile.java
ee1dc6221fc9193fb135386244e61e557a07260d 26-Oct-2010 James Dong <jdong@google.com> Merge "Remove unused and hidden setVideoEncoderLevel() from MediaRecorder.java"
fa3d263131ba775bf62c406ff0f85abb8366d70f 26-Oct-2010 Gil Dobjanschi <virgild@google.com> Removed the start and end transition types.

Change-Id: I0c3f9f82a90e0835f550b11c5f1ea8a1147535a4
edia/videoeditor/TransitionEndCurtainClosing.java
edia/videoeditor/TransitionEndFadeToBlack.java
edia/videoeditor/TransitionFadeBlack.java
edia/videoeditor/TransitionFadeToBlack.java
edia/videoeditor/TransitionStartCurtainOpening.java
edia/videoeditor/TransitionStartFadeFromBlack.java
edia/videoeditor/VideoEditorTestImpl.java
a0cab99dd281c0d180b3dbecaae91682e5d245b2 26-Oct-2010 James Dong <jdong@google.com> Remove unused and hidden setVideoEncoderLevel() from MediaRecorder.java

Change-Id: Ia464d79d65e43c84937624c5a6fa77c7155cffaa
edia/MediaRecorder.java
ce03445c320042ca144bd4efd8c0356bb7775f9d 26-Oct-2010 Gil Dobjanschi <virgild@google.com> Effects and overlays are not modified when a video clip is trimmed.

Change-Id: Ib9a54ecab4ea253caa6c64204493fc3f40a6aa53
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaItem.java
edia/videoeditor/MediaVideoItem.java
70bfc087d95ab7b1bf782c3d579e1a3e48d9ddb2 26-Oct-2010 Gil Dobjanschi <virgild@google.com> Check before and after media item reference

Change-Id: I9abc017896ed82f069479a468e1b0b9d3303e3a6
edia/videoeditor/VideoEditorTestImpl.java
36b7cc5e0b00f7dbf40492817ddc86d7ef3fb5c8 26-Oct-2010 Gil Dobjanschi <virgild@google.com> Transition bug fix

Change-Id: I0999aca3b341e4d6a4303ef84da8f5e541310bf0
edia/videoeditor/VideoEditorTestImpl.java
5a1e4cf83f5be1b5d79e2643fa791aa269b6a4bc 19-Oct-2010 Jaikumar Ganesh <jaikumar@google.com> Update BT APIs return type from Set to List.

Change-Id: Ia27220dd26cde13007f6938c830517ee7f6968ce
edia/AudioService.java
7bfcabbb9e5425985b2f2ffe095949e290a8a4ae 19-Oct-2010 Gil Dobjanschi <virgild@google.com> Finalized the audio track ducking API

Change-Id: I12b966c1898eaae76e9de71a6d745678dc489092
edia/videoeditor/AudioTrack.java
edia/videoeditor/VideoEditorTestImpl.java
f958f0fe9d7765600232ad3a25894376205d5f69 15-Oct-2010 Gil Dobjanschi <virgild@google.com> Save the color for gradient effects

Change-Id: I21e14344aa7410b5c99102ab41b4ec94db2fbe61
edia/videoeditor/VideoEditorTestImpl.java
4a90f93781622e5cbca52b962cfe5325a29ec28e 15-Oct-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of a127c07c to master

Change-Id: Ifdfc6681cba00f36456eaf7a97f34a75b9d0c086
a127c07c42b8961881f460eb8e6a6b722139e3b9 13-Oct-2010 Andreas Huber <andih@google.com> am 312644cd: Merge "Support for writing to MPEG2 transport stream files." into gingerbread

Merge commit '312644cdbb39522fe9cac028b15b907ce0e8e0f7' into gingerbread-plus-aosp

* commit '312644cdbb39522fe9cac028b15b907ce0e8e0f7':
Support for writing to MPEG2 transport stream files.
2fd0c94a118c829a78f47ec26d04ce9d7961ec8b 13-Oct-2010 Gil Dobjanschi <virgild@google.com> Merge "Test implementation bug fix."
9adf466021d37a5062d7d3361e14bfd9e7ffeba6 12-Oct-2010 Andreas Huber <andih@google.com> Support for writing to MPEG2 transport stream files.

Change-Id: If3b7a807bc224a4b1cb2236537c3ebdc5aee0d97
edia/MediaRecorder.java
e2c28468a5aa196f939474232f578b0fbf66a1f2 13-Oct-2010 Gil Dobjanschi <virgild@google.com> Test implementation bug fix.

Change-Id: I1448d06662e2538f01d9c462d4a86fcbf57d7125
edia/videoeditor/VideoEditorTestImpl.java
6a6a3aff17e057eeb1457ac4d04ab4b5e8f53abe 12-Oct-2010 Mike Lockwood <lockwood@android.com> MTP: allow renaming directories

Change-Id: I90849e7924f33a2f39dae400968f2eda64710beb
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
5ebac83e20dadf10bd4a0cee4ddf69d0ec049f98 12-Oct-2010 Mike Lockwood <lockwood@android.com> MTP: Add support for renaming files

Change-Id: I679d674eb4dae88f60165ab2850cc20eec7ceee3
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
c5d322998325aa03c9716413295b8da3efbc165a 11-Oct-2010 Gil Dobjanschi <virgild@google.com> Merge "Color effect comments and method name changes."
0ce122e38b46ce3dc5d37c7b0719c0b9325e9cc0 11-Oct-2010 Gil Dobjanschi <virgild@google.com> Color effect comments and method name changes.

Change-Id: I58a9535e2bc4f61532f980f31bba4140797bf483
edia/videoeditor/EffectColor.java
edia/videoeditor/VideoEditorTestImpl.java
01788562f26f213f63c14483fd3977e23b8314ab 11-Oct-2010 Mike Lockwood <lockwood@android.com> MTP: Fix copying files to root of storage using parent handle = 0

Change-Id: Ie732c5778e9424512b2ddecd87779f8c55668deb
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
37de60c179449a706ea41fea8384063723b0cb63 11-Oct-2010 Andreas Huber <andih@google.com> am 2b4f1f4c: am f72dd019: Merge "Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality." into gingerbread

Merge commit '2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7'

* commit '2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7':
Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.
bced934da06a5f431982191e66d8e7b153f5141f 08-Oct-2010 Gil Dobjanschi <virgild@google.com> Merge "Hide project media by creating the .nomedia file"
ce52d1ff76015413787371378a2f64ee716154a3 08-Oct-2010 Gil Dobjanschi <virgild@google.com> Hide project media by creating the .nomedia file

Change-Id: I4ef1f16ceaa211b7f614cb3dfffa5beb4ae3e8de
edia/videoeditor/VideoEditorFactory.java
069ead3adc1b83fdc906d81fa2f1b82b0f71f91a 08-Oct-2010 Mike Lockwood <lockwood@google.com> MTP: Throw a NullPointerException if client is null in MtpCursor constructor

Change-Id: Ia2a19ddcc5cacb54d9fcbe55bce1de1aed515424
Signed-off-by: Mike Lockwood <lockwood@google.com>
edia/MtpCursor.java
2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7 08-Oct-2010 Andreas Huber <andih@google.com> am f72dd019: Merge "Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality." into gingerbread

Merge commit 'f72dd0190ee64914161d361be1213eda8cab7b90' into gingerbread-plus-aosp

* commit 'f72dd0190ee64914161d361be1213eda8cab7b90':
Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.
10b9b3f3fe47cea0833fe2c7d5ed08a1185f9006 08-Oct-2010 Andreas Huber <andih@google.com> Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.

Change-Id: I016e79b688774f8ee91ac53216197b5fb9cb41b2
related-to-bug: 3073955
edia/Metadata.java
170bf59c7ccf894ec14f4f6230d25a0ce15e9e8a 08-Oct-2010 Mike Lockwood <lockwood@android.com> Merge "MediaScanner: don't call pruneDeadThumbnailFiles unless the images table is empty"
6458935331ccfacb4cccc50d6b893947febae687 07-Oct-2010 Mike Lockwood <lockwood@android.com> MediaScanner: don't call pruneDeadThumbnailFiles unless the images table is empty

BUG: 3063257

Change-Id: I648ff8c4d4026e3d2a97853257865c9b5f712712
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
b27f2d3126d68796925f96078fd5ab3eb466e98a 07-Oct-2010 Gil Dobjanschi <virgild@google.com> Remove MediaVideoItem and AudioTrack playback APIs.

Change-Id: If3e5f341af7f581c90f04c91afb3681f9e8d5f82
edia/videoeditor/AudioTrack.java
edia/videoeditor/MediaVideoItem.java
0ca0a12c6b49032065bf64e9f1cdebf765a0df9d 06-Oct-2010 Gil Dobjanschi <virgild@google.com> Added VideoEditor reference to protected AudioTrack constructor

Change-Id: Icfac392f8060d424b27105c6ae718e35b2d6c705
edia/videoeditor/AudioTrack.java
edia/videoeditor/VideoEditorTestImpl.java
53f89e12306cec109022477fc699bc6323ab5087 06-Oct-2010 Gil Dobjanschi <virgild@google.com> Added the video editor to the media items and audio track constructors.

Change-Id: I5db229d28c28e17b487257a9c4ed8c5fb7570a8d
edia/videoeditor/AudioTrack.java
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaItem.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/VideoEditorTestImpl.java
e5867ef3f096521c4a7a289d83e75904b3a977c5 06-Oct-2010 Gil Dobjanschi <virgild@google.com> Adjust start time and duration for overlays and effects.

Change-Id: Ia5030d15a7c98f37307a0e78821052f05fec9fe6
edia/videoeditor/Effect.java
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaItem.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/Overlay.java
61f9184547a3b9ad4c06846b87f1b1cbd4787230 05-Oct-2010 Gil Dobjanschi <virgild@google.com> Added mute APIs for MediaVideoItem and AudioTrack

Change-Id: I2e4e8b213a5d19f895d9e3431b7d4f1acad70762
edia/videoeditor/AudioTrack.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/VideoEditorTestImpl.java
3398abafca25ff8c58feedd4d2b82857a3322061 05-Oct-2010 Gil Dobjanschi <virgild@google.com> Save AudioTrack to XML

Change-Id: Ie9afe8c620e21e160b56c36f489870db0a3987cc
edia/videoeditor/AudioTrack.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/VideoEditorFactory.java
edia/videoeditor/VideoEditorTestImpl.java
52ac301ee15abd14cdb84053a5de4f1528c4b16c 04-Oct-2010 Gil Dobjanschi <virgild@google.com> Added audio track playback API

Change-Id: I9884ab5d3a7d8d8310f4b4426e50b0496cbbd295
edia/videoeditor/AudioTrack.java
edia/videoeditor/VideoEditorTestImpl.java
048449ebfa3f42e1431338785f225d25125f294e 30-Sep-2010 Gil Dobjanschi <virgild@google.com> Added ability to instantiate various implementations of the VideoEditor

Change-Id: I5b09afafff1c009bada4f49a5568286fe3cd9aef
edia/videoeditor/EffectKenBurns.java
edia/videoeditor/OverlayFrame.java
edia/videoeditor/VideoEditorFactory.java
edia/videoeditor/VideoEditorTestImpl.java
82aa7f017daaaeb96c13e6e3491d5037ab471085 28-Sep-2010 Jaikumar Ganesh <jaikumar@google.com> Update code for new BT APIs.

Change-Id: Idf806cba8160e6075e33e26ee9936663b850e96c
edia/AudioService.java
5665fd6ac2b2d3a00b3addf1ae897426896935d6 28-Sep-2010 Gil Dobjanschi <virgild@google.com> Save overlays to XML

Change-Id: I549c40b55a85022136dbd4899cc0d2d4da6e33de
edia/videoeditor/Effect.java
edia/videoeditor/Overlay.java
edia/videoeditor/OverlayFrame.java
edia/videoeditor/VideoEditorTestImpl.java
b0725a4aebbb74a633ce9ec795d291c1e619f963 28-Sep-2010 Gil Dobjanschi <virgild@google.com> Merge "Validate Overlay and effect duration and start time."
f8b04868e6fa1f7ca9c1fe3f39ae1f46a530b6df 28-Sep-2010 Gil Dobjanschi <virgild@google.com> Validate Overlay and effect duration and start time.

Change-Id: I3235573f9edc65f148541adacd01eb5caa0b8615
edia/videoeditor/Effect.java
edia/videoeditor/EffectColor.java
edia/videoeditor/EffectKenBurns.java
edia/videoeditor/MediaItem.java
edia/videoeditor/Overlay.java
edia/videoeditor/OverlayFrame.java
90bbe5e486850df6c70942bcf8b7b6687304f7e1 28-Sep-2010 Mike Lockwood <lockwood@android.com> MtpCursor: Remove some unused variables

Change-Id: Ie1c88bd817c45fc19e34165f8d8557f00514188d
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpCursor.java
c73305cfd7bad91f654dfa818c44b640594d7aad 24-Sep-2010 Dharmaray Kundargi <dharmaray@google.com> work on review comments and code formating.
Removed white spaces

Change-Id: Ic54817bfc205be536ec086bdfd34b35b0eeac1a3
edia/videoeditor/AudioTrack.java
edia/videoeditor/MediaVideoItem.java
bf836ec6edf6411c68579730248fd84606c06520 27-Sep-2010 Gil Dobjanschi <virgild@google.com> Merge "Bug fix: getDuration vs. getDurationTimeline"
4b66f7a53f1b5a77c3ca1c12f256cdef078c1799 26-Sep-2010 Gil Dobjanschi <virgild@google.com> Bug fix: getDuration vs. getDurationTimeline

Change-Id: I41a40a3fc3b3674b5fcacecda174e924211b4ad2
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaItem.java
edia/videoeditor/MediaProperties.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/Transition.java
edia/videoeditor/VideoEditorTestImpl.java
ae078f7dacdc719d045c2d19bbce019599fec64e 26-Sep-2010 Mike Lockwood <lockwood@android.com> MTP: Implement extra object properties for audio, video and image files

Read-only support at this point.

BUG: 2869730

Change-Id: I424ba760c8f5f4af394bd65276f19438fa6da6cb
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
d66a3fe1710eb2c19896c299c812fa0d8bd175b3 25-Sep-2010 Gil Dobjanschi <virgild@google.com> Merge "Adjust the duration of transitions if needed."
05152ffd67a17491337236621aa5f7ef7c3b51db 24-Sep-2010 Gil Dobjanschi <virgild@google.com> Adjust the duration of transitions if needed.

Change-Id: I2e5f9431b1f1c25b30e2d144916140365b10021b
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaItem.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/Transition.java
920d649949f6636a9e4220904c9a3c5cd860fd53 24-Sep-2010 Marco Nelissen <marcone@google.com> Send album artist to the media provider again.

Change-Id: I13f44bab2024adcfbc4b9491ac565cfdf15ef9d9
edia/MediaScanner.java
dbaa3c8f68a51aaac2a2a93f7f3e5b6bd9b3b134 24-Sep-2010 Mike Lockwood <lockwood@android.com> Merge changes Ie8bd9107,I1065179a

* changes:
MTP: Reenable GetObjectPropValue and SetObjectPropValue
MTP: Minor debug output cleanup
d3bfecb0c9bdf3651a06e86c7c8607768a29a9ae 24-Sep-2010 Mike Lockwood <lockwood@android.com> MTP: Reenable GetObjectPropValue and SetObjectPropValue

Windows no longer chokes now that we implement the minimum set of properties

BUG: 2869730

Change-Id: Ie8bd9107610b9b38f060ad8a2f05334a3b4aff9b
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
2c2d06da2a2e6c632adf4caf2f0ff13beb06ba8c 24-Sep-2010 Mike Lockwood <lockwood@android.com> Merge changes I75c4c7dc,Ie9f3dea3

* changes:
MTP: List all the formats we support in addition to FORMAT_UNDEFINED
MTP: Fix problems with signed ints in MtpCursor.cpp
12b8a99fc1d4acc427307a4a924bf33745410260 24-Sep-2010 Mike Lockwood <lockwood@android.com> MTP: List all the formats we support in addition to FORMAT_UNDEFINED

Fixes Windows Media Player support

BUG: 3003770

Change-Id: I75c4c7dcdd833b3b5b200339e24c38d583efb1fa
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
7eb805707fc512f1711fbf00eb5eec2472a0bae1 23-Sep-2010 Gil Dobjanschi <virgild@google.com> Merge "1. Added OverlayFrame constuctor 2. Invalidate transitions when trimming video 3. Remove image file when removing an OverlayFrame 4. Bug fixes in the VideoEditor implementation"
bb7684bafad2d60f064ace2403b24c19040ea95c 23-Sep-2010 Eric Laurent <elaurent@google.com> resolved conflicts for merge of ac4a284a to master

Change-Id: Ia644f67b5d7d7e7137eef2284e9533b5819c12d8
ac4a284ab4b54a6193f1cca077e6a79ce0ba699c 23-Sep-2010 Eric Laurent <elaurent@google.com> am 7864c72b: Merge "Fix issue 3022800." into gingerbread

Merge commit '7864c72b91a21eeb282e2e38d688fbbc3cd3ecb8' into gingerbread-plus-aosp

* commit '7864c72b91a21eeb282e2e38d688fbbc3cd3ecb8':
Fix issue 3022800.
1a5149e5d7f2dddc8b324f7695e69fd89af73c52 22-Sep-2010 Eric Laurent <elaurent@google.com> Fix issue 3022800.

- Created sub-package android.media.audiofx for audio effects.
- Hid AudioEffect class contructor, methods and variables not needed by
applications
- Added more javadoc comments for AudioEffect Class

Change-Id: Ibbb40d4e714bb248aa32cf82d7763d74efae96d1
edia/AudioEffect.java
edia/AudioTrack.java
edia/BassBoost.java
edia/EnvironmentalReverb.java
edia/Equalizer.java
edia/MediaPlayer.java
edia/PresetReverb.java
edia/Virtualizer.java
edia/Visualizer.java
edia/audiofx/AudioEffect.java
edia/audiofx/BassBoost.java
edia/audiofx/EnvironmentalReverb.java
edia/audiofx/Equalizer.java
edia/audiofx/PresetReverb.java
edia/audiofx/Virtualizer.java
edia/audiofx/Visualizer.java
edia/audiofx/package.html
ff371cf0ed8ceb547043cd2f7db0cfd0990203b2 23-Sep-2010 Mike Lockwood <lockwood@android.com> MediaScanner: disable album artist support until MediaProvider really supports it

Fixes a "no such column" exception in MediaProvider.update() that I somehow
missed when testing the MediaProvider refactoring.

Change-Id: Icc502a5c0e3bd150b353972d000b978a9e044abc
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
21e9da6f446301756ddabbfb9d61155db5480366 23-Sep-2010 Gil Dobjanschi <virgild@google.com> 1. Added OverlayFrame constuctor
2. Invalidate transitions when trimming video
3. Remove image file when removing an OverlayFrame
4. Bug fixes in the VideoEditor implementation

Change-Id: I7bd3c888848edaf659a4faef14ad1c5a6603c3cc
edia/videoeditor/Effect.java
edia/videoeditor/MediaItem.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/OverlayFrame.java
edia/videoeditor/TransitionAlpha.java
edia/videoeditor/VideoEditorTestImpl.java
a9158425cc5798594523f78f8364d55ce8d82753 23-Sep-2010 Mike Lockwood <lockwood@android.com> Merge "Changes to support MediaProvider refactoring"
5a08b50e8029b7f11f998246bbae1a99d806789c 22-Sep-2010 Mike Lockwood <lockwood@android.com> Merge "MTP host: Use Java longs for storage and object IDs"
dab59d1534e50f3c818c96f34f29389f818f077b 22-Sep-2010 Eric Laurent <elaurent@google.com> am 6943b94b: am a6dc4699: Merge "Fix issue 2913071." into gingerbread

Merge commit '6943b94b8f267c83060946bae0961efc30444dee'

* commit '6943b94b8f267c83060946bae0961efc30444dee':
Fix issue 2913071.
6943b94b8f267c83060946bae0961efc30444dee 22-Sep-2010 Eric Laurent <elaurent@google.com> am a6dc4699: Merge "Fix issue 2913071." into gingerbread

Merge commit 'a6dc4699222a484222d1c54d5319f302a02e406b' into gingerbread-plus-aosp

* commit 'a6dc4699222a484222d1c54d5319f302a02e406b':
Fix issue 2913071.
672c0dc3a04cb149691603342c319994e21235cb 21-Sep-2010 Eric Laurent <elaurent@google.com> Fix issue 2913071.

Scale audio signal during capture according to peak level so that
returned values on 8 bits contain enough information even for weak
signals.

Also do not reject requests to enable/disable the visualizer if we are
already in the requested state.

Change-Id: I07a705619764350834e61f82d161761eab688747
edia/Visualizer.java
c2087e3c7acde1d3f14ebd83e68ca967b058468e 21-Sep-2010 Gil Dobjanschi <virgild@google.com> Merge "Added the behavior paramter to transition constructors"
590f87fe9a00777e73e3866c64ee4bf0bf987955 21-Sep-2010 Gil Dobjanschi <virgild@google.com> Added the behavior paramter to transition constructors

Change-Id: Ic8758fb81e9b9c30982f3ced2d9fffc3439b7c7e
edia/videoeditor/Transition.java
edia/videoeditor/TransitionEndCurtainClosing.java
edia/videoeditor/TransitionEndFadeToBlack.java
edia/videoeditor/TransitionStartCurtainOpening.java
edia/videoeditor/TransitionStartFadeFromBlack.java
edia/videoeditor/VideoEditorTestImpl.java
8dc81c10140e39f6c246dc8a638db79daf540265 21-Sep-2010 Eric Laurent <elaurent@google.com> am 96d5c17e: am 8d1513e1: Merge "Made audio effect control panel intents public." into gingerbread

Merge commit '96d5c17e7828f1a5cbeb3d87e0146d145870558f'

* commit '96d5c17e7828f1a5cbeb3d87e0146d145870558f':
Made audio effect control panel intents public.
96d5c17e7828f1a5cbeb3d87e0146d145870558f 21-Sep-2010 Eric Laurent <elaurent@google.com> am 8d1513e1: Merge "Made audio effect control panel intents public." into gingerbread

Merge commit '8d1513e13c1e3d0142423570c0028e147bf0ea37' into gingerbread-plus-aosp

* commit '8d1513e13c1e3d0142423570c0028e147bf0ea37':
Made audio effect control panel intents public.
92cf2d60851462d91a1eb4b9615ea93579dd4330 21-Sep-2010 Eric Laurent <elaurent@google.com> Made audio effect control panel intents public.

Change-Id: If927606a24966605eb3e02788b2477937349d518
edia/AudioEffect.java
f1f5361e328c13be80e3760d8cc2170d70c9d0ba 21-Sep-2010 Mike Lockwood <lockwood@android.com> MTP host: Use Java longs for storage and object IDs

This avoids problems with unsigned 32 bit numbers with cameras that use
storage and object IDs > 0x7FFFFFFF

Change-Id: I615f2d468851e9d6ff8882d22966d3687697d8eb
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpClient.java
edia/MtpCursor.java
11dd325466ce62b93c3d4737939794ecc9f493fc 18-Sep-2010 Gil Dobjanschi <virgild@google.com> Merge "I splitted the start and end transtions into separate classes."
7c1df82880646f0b840162aeff499ad490cc8e0a 18-Sep-2010 Gil Dobjanschi <virgild@google.com> I splitted the start and end transtions into separate classes.

Change-Id: Ia8fbf5b34ee4b96fa4339d6dda78ec03c8a08615
edia/videoeditor/TransitionAtEnd.java
edia/videoeditor/TransitionAtStart.java
edia/videoeditor/TransitionEndCurtainClosing.java
edia/videoeditor/TransitionEndFadeToBlack.java
edia/videoeditor/TransitionStartCurtainOpening.java
edia/videoeditor/TransitionStartFadeFromBlack.java
edia/videoeditor/VideoEditorTestImpl.java
872630590501cef9783f0669218c3e85e218db05 17-Sep-2010 Nipun Kwatra <nkwatra@google.com> Merge "Adding default profiles for specific levels."
d48a15c3fead59a1aa710a16bb5f923164475918 17-Sep-2010 Nipun Kwatra <nkwatra@google.com> Adding default profiles for specific levels.

The low and high profiles should each match one of the
specific profiles. So we need to add the specific profiles
corresponding to the low/high profiles. This makes the
default profile compliant to documentation + cts.

Also fixed javadoc to account time lapse profiles.

Change-Id: I34e7307d00ce261c69dc10ead2900025c7f6d428
edia/CamcorderProfile.java
ec7291c99f60658fff3dc1921d2908c986ca3e9e 17-Sep-2010 Gil Dobjanschi <virgild@google.com> Merge "Initial Video Editor API"
fdacc8be92cd36f712cfdb0fcf9b0e847f8eeb58 07-Sep-2010 Gil Dobjanschi <virgild@google.com> Initial Video Editor API

Change-Id: Iaa91e78d0e50f45ceb943bab93c4f1ea1bdee003
edia/videoeditor/AudioTrack.java
edia/videoeditor/Effect.java
edia/videoeditor/EffectColor.java
edia/videoeditor/EffectKenBurns.java
edia/videoeditor/ExtractAudioWaveformProgressListener.java
edia/videoeditor/MediaImageItem.java
edia/videoeditor/MediaItem.java
edia/videoeditor/MediaProperties.java
edia/videoeditor/MediaVideoItem.java
edia/videoeditor/Overlay.java
edia/videoeditor/OverlayFrame.java
edia/videoeditor/Transition.java
edia/videoeditor/TransitionAlpha.java
edia/videoeditor/TransitionAtEnd.java
edia/videoeditor/TransitionAtStart.java
edia/videoeditor/TransitionCrossfade.java
edia/videoeditor/TransitionFadeToBlack.java
edia/videoeditor/TransitionSliding.java
edia/videoeditor/VideoEditor.java
edia/videoeditor/VideoEditorFactory.java
edia/videoeditor/VideoEditorTestImpl.java
c2206a0710a3ca2c29854c1a0638c5ba55629ba2 16-Sep-2010 Mike Lockwood <lockwood@android.com> Changes to support MediaProvider refactoring

Update table columns in MediaStore and adjust media scanner MTP support.

Change-Id: Ide41315a6d7650aadb703f93c7e022fc5c40d4dd
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
30ef985b702e97e8b1b04fab119d0085a2ada71f 15-Sep-2010 Eric Laurent <elaurent@google.com> am 23b8054e: am eea35ce8: Merge "Added intents for audio effects control application" into gingerbread

Merge commit '23b8054e85eaffa515c597e7b386e3892968302d'

* commit '23b8054e85eaffa515c597e7b386e3892968302d':
Added intents for audio effects control application
1fec21be65ddda46fe39c40e00d2fb94a8ce59f1 14-Sep-2010 Nipun Kwatra <nkwatra@google.com> Unhiding time lapse api's, removing setTimeLapseParameters()

- Removing setTimeLapseParameters() as its functionality is taken
over by setProfile() and setCaptureRate()
- Unhiding setCaptureRate()
- made setAuxiliaryOutputFile() public.
- Changed setAuxVideoParameters() to compute video size and bitrate
using CamcorderProfile::QUALITY_HIGH. Also made it private as it
now just needs to be called from setAuxiliaryOutputFile().

Change-Id: I94b8ed562579049b6b923c0fc4f3293285ef0a5b
edia/MediaRecorder.java
23b8054e85eaffa515c597e7b386e3892968302d 14-Sep-2010 Eric Laurent <elaurent@google.com> am eea35ce8: Merge "Added intents for audio effects control application" into gingerbread

Merge commit 'eea35ce87f179098215b590fbb21162cca5ff8da' into gingerbread-plus-aosp

* commit 'eea35ce87f179098215b590fbb21162cca5ff8da':
Added intents for audio effects control application
d09af7d5518d0a5b3c8070784c13a1070f46f460 14-Sep-2010 Eric Laurent <elaurent@google.com> Added intents for audio effects control application

Added intents to launch audio effects control panel UI and
communicate playback state from media player applications
to effect control application/service.

Change-Id: Iede23ae11fa9f0802df5f36299dd80ea57eda376
edia/AudioEffect.java
edia/MediaPlayer.java
d7456c650ef4e105f9835236b79244d906e2f1e0 14-Sep-2010 Mike Lockwood <lockwood@android.com> MediaScanner: Fix problems with scanner non-file objects from the database

Abstract objects should not be garbage collected and directories should be
removed only if they no longer exist in the file system.

Change-Id: I28b846a39324a7c2968357917089cd4c1238a014
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
edia/MtpConstants.java
ccb6e961941c607208ed9ac44db2dc9a9649b218 13-Sep-2010 Mike Lockwood <lockwood@android.com> MTP: Delete all files and subdirectories when deleting directories.

Children are now recursively deleted from the database and filesystem.

Change-Id: Ifd9b48cbc34b84b8f5073f2493dfe9735fae5492
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
5195e615b0d6464e8df5c87ab5c3024515888b72 13-Sep-2010 Nipun Kwatra <nkwatra@google.com> Merge "Enabling time lapse in setProfile, added setCaptureRate"
4f6bf17407bc2fe89d42537fdf5fc431c82902db 11-Sep-2010 Nipun Kwatra <nkwatra@google.com> Enabling time lapse in setProfile, added setCaptureRate

- Time lapse is automatically enabled in setProfile() if a time lapse
profile is selected. Also audio setup is skipped for time lapse.
- Added setCaptureRate() to set the frame capture rate, which may be
different from the video playback rate.
- Getting rid of enableTimeLapse() since setProfile() and
setFrameCaptureDelay() do its job now.

Change-Id: Ifd9f89cea0d05ffbefc22eac4ea5d34147cc1fbe
edia/MediaRecorder.java
fde2ca180ea63ebd314770ec55b97e0a3c5a0788 11-Sep-2010 Mike Lockwood <lockwood@android.com> MediaFile: Add support for some popular non-media file types.

Change-Id: I68379740b535b08e707158f357e4e58a9c4d74ec
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaFile.java
c37255d5d0fd9e0ec02b0d7cb5c4b235e200d367 10-Sep-2010 Mike Lockwood <lockwood@android.com> Media scanner support for tracking files of arbitrary type.

The native media scanner no longer filters files based on file extension.
Audio, video, image and playlist files are handled as before, but non-media
files are now inserted into the "files" table, which was originally added
to support MTP.

Change-Id: I9053218fb6d2671a3bb181405c34442b94678afc
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaFile.java
edia/MediaScanner.java
edia/MtpDatabase.java
522632cde516001429549c60bd570c399ffad800 11-Sep-2010 Nipun Kwatra <nkwatra@google.com> Exposing specific profile levels + hasProfile().

- Exposing the specific resolution profile levels
QUALITY_{QCIF,CIF,480P,720P,1080P} and the new time lapse profiles
QUALITY_TIME_LAPSE_{LOW,HIGH,QCIF,CIF,480P,720P,1080P}
- Unhiding the hasProfile() function used to test if a given profile exists.

Change-Id: I5d8b9e1ba61718f304235e76d85244e428e68643
edia/CamcorderProfile.java
55d39f20660d3c619f8342bbee4bbd11a30de8ba 11-Sep-2010 Nipun Kwatra <nkwatra@google.com> Merge "Adding hasProfile."
35c8b532e576abc50fe7cdb42db0e22ccb1c7390 10-Sep-2010 Nipun Kwatra <nkwatra@google.com> Merge "Added specific resolution and time lapse profiles."
9d619542bea7d4c376a5a8b4a55c795a796adef3 10-Sep-2010 Nipun Kwatra <nkwatra@google.com> Adding hasProfile.

- Added hasProfile to CamcorderProfile and JNI.
- Added hasCamcorderProfile to MediaProfiles.
- using android.hardware.Camera.CAMERA_ID_DEFAULT for default camera
in get().

Change-Id: Ib57bb49ae79492d7cbc0ec6c7b6efcbf74f80013
edia/CamcorderProfile.java
4af0dfd6cbc13fa6a89ec1430cbe6f619cd64d8a 07-Sep-2010 Nipun Kwatra <nkwatra@google.com> Added specific resolution and time lapse profiles.

- Added enums QUALITY_{QCIF,480P,720P,1080P}
QUALITY_TIME_LAPSE_{LOW,HIGH,QCIF,480P,720P,1080P} in CamcorderProfile
and corresponding ones in MediaProfiles.
- Added functions createDefaultCamcorderTimeLapseLowProfile,
createDefaultCamcorderTimeLapseHighProfile to set default values.
- Moved javadoc for constants to the get() function.

Change-Id: Ib8b3f8d29395dff77a397d1e6b44cfaf8c481d4d
edia/CamcorderProfile.java
8490e66f57506d4e4b05e7c987c7ca34295843e6 09-Sep-2010 Mike Lockwood <lockwood@android.com> Use separate Uris for MTP to the media provider files table

Separating the Uris for local and MTP access to the database will
allow us to handle MTP originated queries differently in the provider.

Change-Id: I78d1c0a0e656eddee1e17212a79157f67ca46b38
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
792ec849e5bc27c090c62f578846b888fa43e0d6 09-Sep-2010 Mike Lockwood <lockwood@android.com> MTP: Fix support for transfering folders and playlists.

This broke when I added support for transfering arbitrary files.

Change-Id: I6f2c052f3bd69839befcf0783d7aff5bcfd29b3e
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
f73738b78a8396552274cf33b0021f414fb7201d 09-Sep-2010 Mike Lockwood <lockwood@android.com> Add framework resource to specify case sensitivity of the external storage filesystem

Change-Id: I8a433de9188c32214b1f8d6a4490dfe731d68c40
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
e521169ff5dc6cbe1762bd7a049d95b56cc657ee 08-Sep-2010 Mike Lockwood <lockwood@android.com> MTP: Allow transfering arbitrary file types.

Change-Id: Ib18b93bff4f9993d95b26ca200fe6169b71453ac
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
3b2a62e5b35ea5f8da9d9bee52f75c9c2ebb4ece 08-Sep-2010 Mike Lockwood <lockwood@android.com> Rename the media database's "objects" table to "files"

We will be using this table for more than just MTP,
so it deserves a more general name.

Change-Id: I4c86d7e37ebe778e39699245b0e08af059e677ea
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
f5e1faf1ccee6698b7e51cd70ab382ee0c8bc5e1 04-Sep-2010 Nipun Kwatra <nkwatra@google.com> Merge changes I71f5b0fc,I92c7accb

* changes:
Moving decision to use still camera to CameraSourceTimeLapse
pass auxiliary video parameters.
59e3f0db0855567a95f783f6d1ec36a7cfc4ea83 02-Sep-2010 Mike Lockwood <lockwood@android.com> MTP: Implement support for getting/setting device properties

Added support for the "device friendly name" and "synchonization partner"
properties, which are required by Microsoft.

Change-Id: Ic0443333d75f7d98a2d902a790b9d505a56d4eef
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
ab15bce98d44b67f221b6fb8a377744940dda46c 01-Sep-2010 Nipun Kwatra <nkwatra@google.com> pass auxiliary video parameters.

- Added setAuxVideoParameters to pass the auxiliary video paramters.
- Also added enableTimeLapse(). The plan is for this function to replace
setTimeLapseParameters() since we never call setTimeLapseParameters() to
disable time lapse.
- removed calling setParameter for setting useStillCameraForTimeLapse from
setTimeLapseParameters as support has been removed from StagefrightRecorder.
This function needs to be removed when we change the API.

Change-Id: I92c7accbe9ba0b753ce780461ee55208d04703a6
edia/MediaRecorder.java
f06a44995142696e5867c50c39be64c03157f5d3 31-Aug-2010 Mike Lockwood <lockwood@android.com> Merge "MTP: Send an Intent after an MTP session that resulted in media database modifications"
d20e80251258c88450ad3b5bd650f1cb6d01bc15 31-Aug-2010 Mike Lockwood <lockwood@android.com> Merge "Add settings option for running MTP server in PTP mode."
2837eefc5459427138c080d445bb491c75630163 31-Aug-2010 Mike Lockwood <lockwood@android.com> MTP: Send an Intent after an MTP session that resulted in media database modifications

Change-Id: Ib2796e9155350c67769502935a73cf98d6ae9c08
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
eabe8bfaf8c45289a4cfd880f4107d1a9b17e38b 31-Aug-2010 Mike Lockwood <lockwood@android.com> Add settings option for running MTP server in PTP mode.

This can be used as a compatibility workaround for host operating systems
without MTP support.

Change-Id: If4f1856206056ca8e40c3ffbfa382f185c413598
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpServer.java
b33a5aea130b025f30966828562fcba56f25b265 27-Aug-2010 Nipun Kwatra <nkwatra@google.com> Added setAuxiliaryOutputFile to MediaRecorder and JNI

added setAuxiliaryOutputFile to allow setting of an auxiliary output file.
Also added the JNI support.

Change-Id: I8c3335192bd6f7fcbfdfc8552cfd0848f2ad2a5d
edia/MediaRecorder.java
5367ab6aab2a61aaf534b18576dcdd0bca1b9681 30-Aug-2010 Mike Lockwood <lockwood@android.com> MTP: Move all MTP protocol constants for Java to a central location.

Change-Id: I770d8727f84d25f0781fc23eedd9e9ac9ded1992
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaFile.java
edia/MtpConstants.java
edia/MtpDatabase.java
daeeddc5ede07970fcf782611dd98fa057573ec4 30-Aug-2010 Mike Lockwood <lockwood@android.com> MTP: Fix build break due to misuse of "git add -i" command

Change-Id: I85528a43a56942dde921603a353383e2c8f8d93d
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
af2ba835f5b2da558fa1174984acfa0565352cbc 30-Aug-2010 Mike Lockwood <lockwood@android.com> Merge "MTP: Add try/finally handling to finalize overrides"
dbead321daf2c16dc74e182bec591b278cfccb2c 30-Aug-2010 Mike Lockwood <lockwood@android.com> MTP: Add try/finally handling to finalize overrides

Change-Id: I23c481d6214ed5f045f903845632c07c11bb42a3
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpClient.java
edia/MtpCursor.java
edia/MtpDatabase.java
edia/MtpServer.java
0a84244d92685a0bef4ec2778b95af3705b1ce16 27-Aug-2010 Eric Laurent <elaurent@google.com> am d0faf5a2: am c6d7a895: Merge "Changed type of reverb presets from int to short" into gingerbread

Merge commit 'd0faf5a2dd892228bbfbf1e43aba95f60c6bca05'

* commit 'd0faf5a2dd892228bbfbf1e43aba95f60c6bca05':
Changed type of reverb presets from int to short
d0faf5a2dd892228bbfbf1e43aba95f60c6bca05 26-Aug-2010 Eric Laurent <elaurent@google.com> am c6d7a895: Merge "Changed type of reverb presets from int to short" into gingerbread

Merge commit 'c6d7a8953de9dd4e0af1dca69d83d810c05d809d' into gingerbread-plus-aosp

* commit 'c6d7a8953de9dd4e0af1dca69d83d810c05d809d':
Changed type of reverb presets from int to short
71450f813991bb76b477aaffd7cad28e8ae8af7c 26-Aug-2010 Eric Laurent <elaurent@google.com> Changed type of reverb presets from int to short

Changed the type of reverb preset constants exposed by the PresetReverb API to
match the type of the setPreset() method parameter.

Change-Id: I786764b5279c60f2368f5a0372f78da65ec54e4f
edia/PresetReverb.java
828d19dd96b05fa99abdc517701e5366543c324f 10-Aug-2010 Mike Lockwood <lockwood@android.com> MTP: work in progress on expanded property support

GetObjectPropValue and SetObjectPropValue are disabled until I figure out
why Windows doesn't like what I have done.

Change-Id: I74e945ef3ea031f6d46f4ebaa8df815da0a5c3ed
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
ed8188711a794867b47d21bbed3e26827f6c27e3 24-Aug-2010 Neel Parekh <neel@google.com> Have the band tag parsed into album artist.

Some vendors don't use the albumartist tag, but instead put the
album artist tag in the band tag.

Change-Id: Iea3144d55e4db3a28853bcd06bc72366de4421dc
edia/MediaScanner.java
08b352be43845d413086ba1dd48db54fe41a309d 21-Aug-2010 Eric Laurent <elaurent@google.com> am 5aff90a6: am 1aaba885: Merge "Audio Effects: fixed "strength supported" parameter size." into gingerbread

Merge commit '5aff90a638da53e66fba90c92d412812760fe8e5'

* commit '5aff90a638da53e66fba90c92d412812760fe8e5':
Audio Effects: fixed "strength supported" parameter size.
5aff90a638da53e66fba90c92d412812760fe8e5 19-Aug-2010 Eric Laurent <elaurent@google.com> am 1aaba885: Merge "Audio Effects: fixed "strength supported" parameter size." into gingerbread

Merge commit '1aaba885def9a3b59edbfe2a0f8c3899948533ff' into gingerbread-plus-aosp

* commit '1aaba885def9a3b59edbfe2a0f8c3899948533ff':
Audio Effects: fixed "strength supported" parameter size.
ba8da2e61b1d9ebb7a4758f1f7849ff8440bd20c 18-Aug-2010 Eric Laurent <elaurent@google.com> Audio Effects: fixed "strength supported" parameter size.

The "strength supported" parameter for bass boost and virtualizer effect was incorrectly using a
short value whereas it should be an int. This is to comply to the definition of boolean type in OpenSL ES
that is uint32.

Change-Id: I74ccb61dcc70fc9d390524a1ca5bbbd8b13ab1af
edia/BassBoost.java
edia/Virtualizer.java
4b322ce4fb86b5a7a6e50633a3a9f498ca8d4706 10-Aug-2010 Mike Lockwood <lockwood@android.com> MTP: Push queries for supported formats and properties up to Java.

Change-Id: I4f117090340e3916afda3d194521a6092a672ddc
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
3357ccea7aad71371cb14024e48c53545c6ca8b3 10-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am 2f5f154d: am 66edf558: Merge "Fix bug 2684341 Don\'t steal the media button event from the phone app is the phone is ringing, even in silent mode." into gingerbread

Merge commit '2f5f154d6a090b4ea2ee3645857f2fcae88daa54'

* commit '2f5f154d6a090b4ea2ee3645857f2fcae88daa54':
Fix bug 2684341 Don't steal the media button event from the phone
dbe57fcb497c2bcfd594f4fa003e179751bfeebd 10-Aug-2010 Eric Laurent <elaurent@google.com> am 1ece7d68: am 2a6b80bc: Fixed several audio effects problems.

Merge commit '1ece7d6873027068a3e7b055597045e9387b217c'

* commit '1ece7d6873027068a3e7b055597045e9387b217c':
Fixed several audio effects problems.
2f5f154d6a090b4ea2ee3645857f2fcae88daa54 10-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> am 66edf558: Merge "Fix bug 2684341 Don\'t steal the media button event from the phone app is the phone is ringing, even in silent mode." into gingerbread

Merge commit '66edf558a9041eb0b1a7fc0459db1bdafcfca84b' into gingerbread-plus-aosp

* commit '66edf558a9041eb0b1a7fc0459db1bdafcfca84b':
Fix bug 2684341 Don't steal the media button event from the phone
1ece7d6873027068a3e7b055597045e9387b217c 10-Aug-2010 Eric Laurent <elaurent@google.com> am 2a6b80bc: Fixed several audio effects problems.

Merge commit '2a6b80bc65c4782b5a7168b300e1dc5ec9f617ee' into gingerbread-plus-aosp

* commit '2a6b80bc65c4782b5a7168b300e1dc5ec9f617ee':
Fixed several audio effects problems.
66edf558a9041eb0b1a7fc0459db1bdafcfca84b 09-Aug-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix bug 2684341 Don't steal the media button event from the phone app is the phone is ringing, even in silent mode." into gingerbread
e73131a68408a0495ba96a4d5a60799ba293c176 14-Jun-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2684341 Don't steal the media button event from the phone
app is the phone is ringing, even in silent mode.

Use the PhoneStateListener to know whether the phone is ringing,
as the mode is not MODE_RINGTONE when ringing in silent mode.

Change-Id: Iede350cecde0b663d50f9b4a57f9a9ef08066c0d
edia/AudioService.java
2a6b80bc65c4782b5a7168b300e1dc5ec9f617ee 30-Jul-2010 Eric Laurent <elaurent@google.com> Fixed several audio effects problems.

- Fixed constant inversions in AudioEffect.java
- Do not return error when enabling an already enabled effect
- Update cached effect state in native AudioEffect class when effect is enabled/disabled by command() method
- Remove click when restarting effect during disable sequence
- Fixed problem in master mute management when volume control is delegated to effect.

Change-Id: I6df4ce9fcc54fdc7345df858f639d20d802d6712
edia/AudioEffect.java
613d363c96bb304cbedad54004bc99928fcf22df 05-Aug-2010 Scott Main <smain@google.com> am ef9fd39d: am 769f9b89: am 5b86de94: fix doc bugs

Merge commit 'ef9fd39d73877162ba200ef8b2000216133dab2e'

* commit 'ef9fd39d73877162ba200ef8b2000216133dab2e':
fix doc bugs
0a3858b0de236e262aa9d3906086ea8bfe554a4f 05-Aug-2010 Andreas Huber <andih@google.com> am 1f513d88: am c17f35dd: Merge "Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation." into gingerbread

Merge commit '1f513d8821670a33d6361ea521b6756163a3f9bf'

* commit '1f513d8821670a33d6361ea521b6756163a3f9bf':
Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.
4e68d506b0d9c7f01bb927ad7be1995392d7d366 05-Aug-2010 Eric Laurent <elaurent@google.com> resolved conflicts for merge of acc4e683 to master

Change-Id: Iabfdbdd1f048bd1a3f5cf90bfba8a33f5a0d27f8
ef9fd39d73877162ba200ef8b2000216133dab2e 05-Aug-2010 Scott Main <smain@google.com> am 769f9b89: am 5b86de94: fix doc bugs

Merge commit '769f9b8980a774e3493cbd9beac565c6b5d62161' into gingerbread-plus-aosp

* commit '769f9b8980a774e3493cbd9beac565c6b5d62161':
fix doc bugs
769f9b8980a774e3493cbd9beac565c6b5d62161 05-Aug-2010 Scott Main <smain@google.com> am 5b86de94: fix doc bugs

Merge commit '5b86de94a163ce4c52ab08a9820f9d78414e1767' into gingerbread

* commit '5b86de94a163ce4c52ab08a9820f9d78414e1767':
fix doc bugs
5b86de94a163ce4c52ab08a9820f9d78414e1767 02-Aug-2010 Scott Main <smain@google.com> fix doc bugs

Change-Id: Ic0cec3818fdc7692ea7aa3152ecb444203097157
edia/AudioFormat.java
1f513d8821670a33d6361ea521b6756163a3f9bf 04-Aug-2010 Andreas Huber <andih@google.com> am c17f35dd: Merge "Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation." into gingerbread

Merge commit 'c17f35dd927570c5c8d0c00b25a5bfaa1d4f1444' into gingerbread-plus-aosp

* commit 'c17f35dd927570c5c8d0c00b25a5bfaa1d4f1444':
Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.
c3cc7011c21352b16d8a597df36b9aef59414626 04-Aug-2010 Mike Lockwood <lockwood@android.com> Merge changes I085cb3cf,Ied1cddc6

* changes:
MTP: Add support for syncing MTP playlists
MTP: Fix some thread safety issues in MTP server start/stop sequence.
57648e4eec7dd2593af467877bc7cce4aa654759 04-Aug-2010 Andreas Huber <andih@google.com> Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.

Change-Id: I95b8dd487061add9bade15749e563b01cd99d9a6
edia/MediaRecorder.java
bf3699a55853c4f1ccca7816945f83a1b80a4619 04-Aug-2010 Nipun Kwatra <nkwatra@google.com> Unhide MediaRecorder::setTimeLapseParameters()

This function is used to enable time lapse video capture
and set the related parameters.

Change-Id: Ib6c4c107a92942d8e8fcce935d2c8542f8006cfb
edia/MediaRecorder.java
acc4e6838d1d4030cb65acf0f9adb800a81fb22f 04-Aug-2010 Eric Laurent <elaurent@google.com> am 1340ee8a: Merge "NEW_API: Unhide audio effect APIs." into gingerbread

Merge commit '1340ee8a273a9b25a779f3b18d6f832ce496c68e' into gingerbread-plus-aosp

* commit '1340ee8a273a9b25a779f3b18d6f832ce496c68e':
NEW_API: Unhide audio effect APIs.
17cb280e7f1ac3556eac90ab08263712e0348cb9 03-Aug-2010 Eric Laurent <elaurent@google.com> NEW_API: Unhide audio effect APIs.

This change unhides all public APIs for controling audio effects exposed
by the following classes:
- AudioEffect
- BassBoost
- EnvironmentalReverb
- Equalizer
- PresetReverb
- Virtualizer
- Visualizer

Also fixes several problems in javadoc.

Change-Id: I541ee4ad0232312ec720545737cbcdb8c9a82597
edia/AudioEffect.java
edia/AudioTrack.java
edia/BassBoost.java
edia/EnvironmentalReverb.java
edia/Equalizer.java
edia/MediaPlayer.java
edia/PresetReverb.java
edia/Virtualizer.java
edia/Visualizer.java
9a2046fb5ceeee4d5334274cbff15f1058bb3244 03-Aug-2010 Mike Lockwood <lockwood@android.com> MTP: Add support for syncing MTP playlists

MTP playlists now correspond to playlists in the media provider
(like those created by the Music app).

Change-Id: I085cb3cff003037ad62f0e297fb0cfd3047cb3a2
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
17e53043826b28c54bcbef749bf6ed82ef97926a 02-Aug-2010 Nipun Kwatra <nkwatra@google.com> Allowing useStillCameraForTimeLapse to be set through MediaRecorder.java

This will allow apps to make the decision of whether to use still image mode or
video mode for time lapse capture.

- setTimeLapseParameters now takes in a useStillCameraForTimeLapse parameter.
- Added support in StagefrightRecorder for passing through this parameter.

Change-Id: Iafbcb76f9a7903118ea5eb822c81008619630f03
edia/MediaRecorder.java
7a047c89862febf63ce1bb5873179c7a2ff8d9d3 02-Aug-2010 Mike Lockwood <lockwood@android.com> MTP: Implement GetNumObjects

Change-Id: Iccc3a445f9a1eab7bb76eddd567c6a3a8f155b2b
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
59c777a24a2c639dfd84b7bf17e430e6d3424866 02-Aug-2010 Mike Lockwood <lockwood@android.com> Clean up MtpDatabase API.

Return MTP response codes instead of booleans for success or failure.
Remove some unused code.

Change-Id: I82ce80a4d7779233264e3caf139ebd0cece12f5c
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
b422107d1d599e5d43cc47cd7e1342976b6b5b1a 30-Jul-2010 Eric Laurent <elaurent@google.com> am e67332f8: am 92e847ed: Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.

Merge commit 'e67332f879b3f97baaac2252b53ac64686aebdbb'

* commit 'e67332f879b3f97baaac2252b53ac64686aebdbb':
Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.
e67332f879b3f97baaac2252b53ac64686aebdbb 30-Jul-2010 Eric Laurent <elaurent@google.com> am 92e847ed: Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.

Merge commit '92e847ed8e455dca3b2d33d92999e3960404d9af' into gingerbread-plus-aosp

* commit '92e847ed8e455dca3b2d33d92999e3960404d9af':
Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.
92e847ed8e455dca3b2d33d92999e3960404d9af 30-Jul-2010 Eric Laurent <elaurent@google.com> Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.

Modified types of some arguments and returned values of the Equalizer class from int to short
to match those defined by OpenSL ES SLEqualizerItf interface.

Also fixed a problem with set properties in equalizer engine implementation.

Change-Id: I75894bad0cb67b01c18ca5e22f9687e75ee491b8
edia/Equalizer.java
b008e9b1281da871e970e5b4817f78afb4f12d4a 27-Jul-2010 Eric Laurent <elaurent@google.com> resolved conflicts for merge of d306cc81 to master

Change-Id: Ib593b7719a837de12605e8c75904634843298ba1
d306cc8192bf569b2e6e7d58b4d73f6607e9d509 27-Jul-2010 Eric Laurent <elaurent@google.com> am ca57d1cc: Audio Effects: added methods to effects java classes to store and load current effect settings in a single call.

Merge commit 'ca57d1cc89d65dfbd59c749c5736574cd08c7bd3' into gingerbread-plus-aosp

* commit 'ca57d1cc89d65dfbd59c749c5736574cd08c7bd3':
Audio Effects: added methods to effects java classes to store and load current effect settings in
ca57d1cc89d65dfbd59c749c5736574cd08c7bd3 23-Jul-2010 Eric Laurent <elaurent@google.com> Audio Effects: added methods to effects java classes to store and load current effect settings in
a single call.

Addional changes:
- Fixed simulator build
- Use effect interface UUIDs from OpenSL ES includes when available
- Added cleanspec rules to remove now obsolete test effect libraries
- Fixed bug in AudioEffect JNI setParameter function.

Change-Id: Ic25ddb135e2cec5a68c181d727321f5ac7a1ab6b
edia/BassBoost.java
edia/EnvironmentalReverb.java
edia/Equalizer.java
edia/PresetReverb.java
edia/Virtualizer.java
bc4cb0bc79c0d366d6866fe4054a71e00d169ff9 27-Jul-2010 Mike Lockwood <lockwood@android.com> MTP host: Add support for reading files from an MTP device via ParcelFileDescriptor

Also added some support for sending files to the device that hasn't been debugged yet.
Add locking to MtpDevice to prevent it from attempting multiple transactions simultaneously.

Change-Id: I2b995ba0af086cc6920bd6b8c869f540ad78560a
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpClient.java
e7c51f5144cfbdb8b6cf2169ac59e42322b3bc8b 23-Jul-2010 Nipun Kwatra <nkwatra@google.com> Don't change the public API (adding @hide)

Change-Id: I3f3330472c42932fddb1de2c60e2380e59980995
edia/MediaRecorder.java
d01371bf691ff04e4957e49805503dbf20b338df 21-Jul-2010 Nipun Kwatra <nkwatra@google.com> Allowing setting of time lapse parameters through MediaRecorder.java

added setTimeLapseParameters() to MediaRecorder.java and SetParameter support
in StagefrightRecorder to allow enabling time lapse and setting the corresponding
parameters.

Change-Id: I509040aa71f8d3fc37337b0894a81d9c0fd7a40a
edia/MediaRecorder.java
0119ba5bd3335fe026927eeb65de535a7bd8c838 21-Jul-2010 Eric Laurent <elaurent@google.com> am 34161132: am 7070b365: Added support for auxiliary audio effects to AudioTrack and MediaPlayer.

Merge commit '34161132030254bac7dd64c9713832e2f961a061'

* commit '34161132030254bac7dd64c9713832e2f961a061':
Added support for auxiliary audio effects to AudioTrack and MediaPlayer.
34161132030254bac7dd64c9713832e2f961a061 21-Jul-2010 Eric Laurent <elaurent@google.com> am 7070b365: Added support for auxiliary audio effects to AudioTrack and MediaPlayer.

Merge commit '7070b36549d511d6627538c73dfbab23fbae5b43' into gingerbread-plus-aosp

* commit '7070b36549d511d6627538c73dfbab23fbae5b43':
Added support for auxiliary audio effects to AudioTrack and MediaPlayer.
7070b36549d511d6627538c73dfbab23fbae5b43 16-Jul-2010 Eric Laurent <elaurent@google.com> Added support for auxiliary audio effects to AudioTrack and MediaPlayer.

Added methods to AudioTrack and MediaPlayer java classes to enable use of
auxiliary audio effects. The effect can be attached and detached by specifying its
ID and the send level controlled.

Change-Id: Ie74ff54a453096a742688476f612ce355543b6f3
edia/AudioTrack.java
edia/MediaPlayer.java
cbaea35759791f083735f7a5c43e0dc0ed228ff1 17-Jul-2010 Mike Lockwood <lockwood@android.com> Add MTP_OBJECT_ID column name to MediaStore.MediaColumns

This column will be added to the images, audio_meta, video and audio_playlist
tables to cross reference to the MTP objects table.

Renamed MTP_OBJECT_HANDLE (which is used only by the media scanner) to
MEDIA_SCANNER_NEW_OBJECT_ID to avoid confusion.

Change-Id: I8093485dc0438f408a505e82ffddd0710c7a512c
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
635fefec06458224750170e7ce127bc2c8e4215b 14-Jul-2010 Dan Tasse <dantasse@google.com> Add some javadoc to AudioRecord, plus updates based on code review comments.

Change-Id: I0087e7df7541b336f87c7af512c3e8f3897be72c
edia/AudioFormat.java
edia/AudioRecord.java
e31135a05eba2f881fbd7988a1febad45c563656 14-Jul-2010 Mike Lockwood <lockwood@android.com> Merge "MtpDatabase: Implement getObjectProperty"
b2cada9034436b4ea4bac218da7a1e29460d15b2 14-Jul-2010 Mike Lockwood <lockwood@android.com> MtpDatabase: Implement getObjectProperty

Change-Id: Iab5f2c0e0b2b3effa3eaa3cb18415d28db5c790a
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
be125a50b41f15810145671e0fcbdaf13b363e03 13-Jul-2010 Mike Lockwood <lockwood@android.com> MTP: Add support for sending events to the host when objects are added and removed

Change-Id: Ia1d5232b919c644c670ff9ca651eca92b3f9ad42
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpServer.java
d815f79766984fce499e147ecbacc01914683f74 12-Jul-2010 Mike Lockwood <lockwood@android.com> Integrate host to device file transfer with the media provider.

MTP file transfers happen in two stages. The SendObjectInfo command sends
some information about the file and reserves an ObjectHandle for the new file.
The file transfer is then performed using the SendObject command.

To support this in the media provider, MtpDatabase.beginSendObject receives
the information from SendObjectInfo and creates an row for it in the MTP objects
table for the new file. After the file transfer has completed, then
MtpDatabase.endSendObject is called. In endSendObject, we run the media scanner
on the new file, which will add a row to the images, audio, video
or audio playlist table.

To avoid the media scanner creating a second row for the file in the MTP objects
table, we pass the ObjectHandle created in beginSendObject to the media scanner,
which then passes it to the media provider via the content values when it
performs its insert.

Change-Id: I1ebcc63d6bd4404b0d3a93c703a9d3c097381d3a
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaFile.java
edia/MediaScanner.java
edia/MtpDatabase.java
c5c7853b633144ae6344f989ea14eee8b2d0938b 09-Jul-2010 Mike Lockwood <lockwood@android.com> Remove some scafolding and test code that is no longer worth maintaining.

Change-Id: I9ee62d2463d8df1246a84774e8ac7e674778279a
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpDatabase.java
0f399ec640f223dd372741832b1b98f2ee449379 09-Jul-2010 Eric Laurent <elaurent@google.com> am b4b0f67a: am fd84f97a: Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.

Merge commit 'b4b0f67a4743503a024b1dce758acf53d9fb86f7'

* commit 'b4b0f67a4743503a024b1dce758acf53d9fb86f7':
Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.
b4b0f67a4743503a024b1dce758acf53d9fb86f7 09-Jul-2010 Eric Laurent <elaurent@google.com> am fd84f97a: Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.

Merge commit 'fd84f97af4b44d54bba53bb85b31a6dbce07f6e2' into gingerbread-plus-aosp

* commit 'fd84f97af4b44d54bba53bb85b31a6dbce07f6e2':
Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.
fd84f97af4b44d54bba53bb85b31a6dbce07f6e2 09-Jul-2010 Eric Laurent <elaurent@google.com> Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.

Defined the following JAVA classes on top of AudioEffect class to facilitate control
off built-in audio effects with APIs aligned with interfaces defined in OpenSL ES
specification:
- BastBoot.java
- Equalizer.java
- PresetReverb.java
- EnvironmentalReverb.java
- Virtualizer.java

Split reverb API header file in two, one for preset reverb and one for environmental reverb.
Some changes in test reverb to support preset reverb.

Change-Id: Ie0a5ba06002e63dfd6da22cace5568c1e0b76ea1
edia/BassBoost.java
edia/EnvironmentalReverb.java
edia/Equalizer.java
edia/PresetReverb.java
edia/Virtualizer.java
d21eac9c70940f2c73da5faaf401dbbc44b70a15 03-Jul-2010 Mike Lockwood <lockwood@android.com> MTP: Use media provider database to implement MTP device support.

Uses a new "MTP objects" table in the media provider to support basic
enumeration of the external storage file system.
Support for accessing audio, video and image metadata in the existing
media provider tables will be added in a later commit.

The C++ MtpDatabase class is now abstract, to support a proxy subclass that
calls through JNI to the Java MtpDatabase class in the media provider.

Change-Id: I90f0db5f3acc5d35ae78c27a8507edff16d14305
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaFile.java
edia/MtpDatabase.java
edia/MtpServer.java
98449546fa33f420e2aef7d0d1c1afb538af4069 08-Jul-2010 Eric Laurent <elaurent@google.com> am b91881fd: am dacabf97: Merge "Added Visualizer effect." into gingerbread

Merge commit 'b91881fdd1608cc922f105ec552b5505da1fecb9'

* commit 'b91881fdd1608cc922f105ec552b5505da1fecb9':
Added Visualizer effect.
b91881fdd1608cc922f105ec552b5505da1fecb9 08-Jul-2010 Eric Laurent <elaurent@google.com> am dacabf97: Merge "Added Visualizer effect." into gingerbread

Merge commit 'dacabf97c609a040ada857a7da6c560097448ae3' into gingerbread-plus-aosp

* commit 'dacabf97c609a040ada857a7da6c560097448ae3':
Added Visualizer effect.
dacabf97c609a040ada857a7da6c560097448ae3 08-Jul-2010 Eric Laurent <elaurent@google.com> Merge "Added Visualizer effect." into gingerbread
df9b81ced437b11f8a3fcf4ba3ea6af703d121e2 02-Jul-2010 Eric Laurent <elaurent@google.com> 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
edia/AudioEffect.java
edia/Visualizer.java
c03befe3d62eb2a3e1d56fec0ca188a6094d53dd 01-Jul-2010 Eric Laurent <elaurent@google.com> Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.

Problem:
When the bluetooth device is removed, the AudioService clears all active SCO connections
and unlinks from the client application's binder interface death.
The problem is that the unlinking is done even if no more connections are active for a given client,
which throws a runtime exception that is not catched causing the system server to crash.

The fix consists in calling unlinkToDeath() in ScoClient.clearCount() only if the number of
active SCO connections for this client is not 0. The NoSuchElementException exception is also
catched when calling unlinkToDeath()

Change-Id: I7086424301fc63a5666da61c38169349d3e078f4
edia/AudioService.java
e822c99511128db118d4192733e9cc0415fa155d 01-Jul-2010 Eric Laurent <elaurent@google.com> am eba857d1: am a0c2b539: Merge "Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call." into gingerbread

Merge commit 'eba857d126e2b76a368f41d3169a56fe28029674'

* commit 'eba857d126e2b76a368f41d3169a56fe28029674':
Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.
eba857d126e2b76a368f41d3169a56fe28029674 01-Jul-2010 Eric Laurent <elaurent@google.com> am a0c2b539: Merge "Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call." into gingerbread

Merge commit 'a0c2b53966238125143dec01d3f2598a8b9e33a2' into gingerbread-plus-aosp

* commit 'a0c2b53966238125143dec01d3f2598a8b9e33a2':
Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.
4024ddcf66912128e1f2b6b17e63f6f9f1e3a00a 01-Jul-2010 Chih-Chung Chang <chihchung@google.com> am bda93c4c: am 09b90057: Add multiple camera support for in MediaProfiles.

Merge commit 'bda93c4cb94b47c86251d22df16e46a514c191ef'

* commit 'bda93c4cb94b47c86251d22df16e46a514c191ef':
Add multiple camera support for in MediaProfiles.
a0c2b53966238125143dec01d3f2598a8b9e33a2 01-Jul-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call." into gingerbread
d0e1a9f40e4d9b41d83be3b3c62d6849cb37d6a6 01-Jul-2010 Mike Lockwood <lockwood@android.com> MTP: Remove an unnecessary thread from the MtpClient class.

Now a single thread is used for passing USB host events up to MtpClient.

Change-Id: I0e3a277956cb3d1036da122ea10acb03a27844d6
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpClient.java
bda93c4cb94b47c86251d22df16e46a514c191ef 01-Jul-2010 Chih-Chung Chang <chihchung@google.com> am 09b90057: Add multiple camera support for in MediaProfiles.

Merge commit '09b9005769f2b717f637131578ce6cfa6bd62bd9' into gingerbread-plus-aosp

* commit '09b9005769f2b717f637131578ce6cfa6bd62bd9':
Add multiple camera support for in MediaProfiles.
09b9005769f2b717f637131578ce6cfa6bd62bd9 22-Jun-2010 Chih-Chung Chang <chihchung@google.com> Add multiple camera support for in MediaProfiles.

Change-Id: Ie89568a0f5f5fd08ede77e33f9a559215d6bed9a
edia/CamcorderProfile.java
edia/CameraProfile.java
e2dd8c4592762414c2c27e4589be7edc91a5ecae 01-Jul-2010 Eric Laurent <elaurent@google.com> Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.

Problem:
When the bluetooth device is removed, the AudioService clears all active SCO connections
and unlinks from the client application's binder interface death.
The problem is that the unlinking is done even if no more connections are active for a given client,
which throws a runtime exception that is not catched causing the system server to crash.

The fix consists in calling unlinkToDeath() in ScoClient.clearCount() only if the number of
active SCO connections for this client is not 0. The NoSuchElementException exception is also
catched when calling unlinkToDeath()

Change-Id: I29a28fcce1a579217cea271956a55778e05d3e37
edia/AudioService.java
98ef64e4a89ced79094d4ff3dc0123c1989f9e10 29-Jun-2010 Mike Lockwood <lockwood@android.com> MTP: Add MtpServer Java class to wrap MTP device support.

Change-Id: I818c2d3b3f52ad5bb515acc4d3288b2b43e11908
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpClient.java
edia/MtpServer.java
be4f149ff1ad7a46041594785f024e75d5ae2c35 25-Jun-2010 The Android Open Source Project <initial-contribution@android.com> am f29fbc58: merge from froyo-plus-aosp

Merge commit 'f29fbc58ec6a85115322100ed86c61679ac09c1c'

* commit 'f29fbc58ec6a85115322100ed86c61679ac09c1c':
Change in media scanner to set correct date
f29fbc58ec6a85115322100ed86c61679ac09c1c 25-Jun-2010 The Android Open Source Project <initial-contribution@android.com> merge from froyo-plus-aosp

Change-Id: Ibaa84571e3b5a7ea29e55d41f773aa5f301086de
c6a2cb0b5a4997a71ddc94969a799f2def184fbf 23-Jun-2010 Eric Laurent <elaurent@google.com> am 845f5414: am 2c2ce8e5: Merge "Added support for audio sessions in MediaPlayer and AudioTrack." into gingerbread

Merge commit '845f541454d1fa9f328c0b0bf79acf2fba363177'

* commit '845f541454d1fa9f328c0b0bf79acf2fba363177':
Added support for audio sessions in MediaPlayer and AudioTrack.
79ec54789dd31bf7ae06f3b199e7bdc7465f36d4 23-Jun-2010 Eric Laurent <elaurent@google.com> am 7d329785: am d1559d6b: Merge "Fix issue 2301630: Mismatch of state occurs when media server is killed while in-call." into gingerbread

Merge commit '7d329785f3f3111d99d58f75ac4e44cf1a65915f'

* commit '7d329785f3f3111d99d58f75ac4e44cf1a65915f':
Fix issue 2301630: Mismatch of state occurs when media server is killed while in-call.
619346f902241736d933657a4fe10f10c50a1ba8 21-Jun-2010 Eric Laurent <elaurent@google.com> 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
edia/AudioTrack.java
edia/MediaPlayer.java
3c652ca5a546e7227a5f4bdbf0f81552b2c91383 22-Jun-2010 Eric Laurent <elaurent@google.com> Fix issue 2301630: Mismatch of state occurs when media server is killed while in-call.

Use setParameters() API to indicate to audio HAL that we are restarting the media server after a crash.
The use made by audio HAL implementation of this indication is platform specific.

Change-Id: I085b174fa1474575da0e4d295921079b6b68efb8
edia/AudioService.java
d398e7a4932acbc317483fdfdf362838c5a3b52a 18-Jun-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I17a51b7cebe1486103d4b0af00e7297ddccb60b8
7f5ee3b58d3dc07b88b313aae83ae424d131b355 14-Jun-2010 Eric Laurent <elaurent@google.com> am 184a3ff6: am e0219539: am 01f7ac64: Merge "Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI." into kraken

Merge commit '184a3ff64ba71e7e860b70b9a836c0132b447138'

* commit '184a3ff64ba71e7e860b70b9a836c0132b447138':
Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI.
01f7ac64488027492b2909b99d70491e7a391015 14-Jun-2010 Eric Laurent <elaurent@google.com> Merge "Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI." into kraken
74f094fe22ca1cde637210e023874ab740a7a8d7 13-Jun-2010 Mike Lockwood <lockwood@android.com> MTP: Add interface to MtpClient for receiving device added/removed events.

Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpClient.java
e0a89f611d952d477acaae0316f2ccba7237466b 11-Jun-2010 Mike Lockwood <lockwood@android.com> MTP: Add host support for deleting objects.

For example, deleting pictures on a digital camera.

Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpClient.java
edia/MtpCursor.java
948235c06ed0d49190b2f49d9299b473c4dd61a9 09-Jun-2010 Eric Laurent <elaurent@google.com> Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI.

Added AudioEffect C++ class. AudioEffect is the base class for effect specific implementations,
OpenSL ES effect interfaces and audio effect JNI.

Added the AudioEffect JNI and AudioEffect JAVA class. AudioEffect is the base class
to implement more specific JAVA classes to control audio effects from JAVA applications.

Change-Id: If300a1b708f2e6605891261e67bfb4f8330a4624
edia/AudioEffect.java
2dabef2f4e945c30372425cfe4f93744ac56c76c 11-Jun-2010 Andreas Huber <andih@google.com> am 627a0019: am 4d61f602: Switch stagefright\'s approach to prefetching to the new model. The java MediaPlayer is now notified about rebuffering start/end via info messages.
4d61f602bf67fe61256c23f090d6119992ad5160 10-Jun-2010 Andreas Huber <andih@google.com> Switch stagefright's approach to prefetching to the new model. The java MediaPlayer is now notified about rebuffering start/end via info messages.

Change-Id: If8185ba329ce8b6663b1ad39a4efb0ad3be81df2
edia/MediaPlayer.java
dda568609232cdf82a2f050b0d0727627f49d448 10-Jun-2010 Mike Lockwood <lockwood@android.com> MTP: Add support for retrieving thumbnails to MTP content provider.

Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpCursor.java
f724eed5669762fdb0071e11ab3b38de77dd5c33 08-Jun-2010 Mike Lockwood <lockwood@android.com> MTP provider: Add columns for MTP ObjectInfo dataset to the MTP objects table

Signed-off-by: Mike Lockwood <lockwood@android.com>

Change-Id: Ife0563ad1c3b3dbc2461e1a9e784cbb4653b3435
edia/MtpCursor.java
daa595e733c628fa9b2ff6ce17f12fbd41379293 07-Jun-2010 Jaikumar Ganesh <jaikumar@google.com> am 8984d144: am a8c2514e: Merge "Pass BluetoothDevice to the Bluetooth Headset calls." into kraken
a8c2514eddd39eb1d486d7bfa616178c45f2adea 07-Jun-2010 Jaikumar Ganesh <jaikumar@google.com> Merge "Pass BluetoothDevice to the Bluetooth Headset calls." into kraken
2ccb2eba46a4773066940e597270705de871921b 07-Jun-2010 Andreas Huber <andih@google.com> am f7d1c542: am a557b24a: Initial checkin of mpeg2 transport stream parser for stagefright.
a557b24ac4dd568d86b08753f7c0361d04f80d46 07-Jun-2010 Andreas Huber <andih@google.com> Initial checkin of mpeg2 transport stream parser for stagefright.

Change-Id: I328ce77404daf7127933b48c9d58ed504fb8fc6f
edia/MediaFile.java
ec74abb71f79cdc573c536115acc7ff26a02680a 01-Jun-2010 Mikael2 Svensson <mikael2.svensson@sonyericsson.com> Change in media scanner to set correct date

When the media scanner scanned a single file, the modified
date (DATE_MODIFIED) was not correctly set in the content
provider. It was set as milliseconds but should have been
set as seconds. This caused downloaded media items to display
wrongly in the camera album, since the date was wrong.

Change-Id: I24cd92215c26f579eb33a4a3890f96c6ef9ec8c0
edia/MediaScanner.java
e4c8aa60e3b62e8e05e2ec935ca785da2aa1e727 03-Jun-2010 James Dong <jdong@google.com> am a3d1c3cd: am 57ad0703: am c40209ac: am 28a92b2e: Merge "Fix a Javadoc to clarify when setAudioStreamType() should be called." into froyo
57ad07039a63e8454d8a73cdce9c5e269f13205c 03-Jun-2010 James Dong <jdong@google.com> am c40209ac: am 28a92b2e: Merge "Fix a Javadoc to clarify when setAudioStreamType() should be called." into froyo

Merge commit 'c40209ac60a64a7c08b0d0028060d5308fd7a0b8' into kraken

* commit 'c40209ac60a64a7c08b0d0028060d5308fd7a0b8':
Fix a Javadoc to clarify when setAudioStreamType() should be called.
c40209ac60a64a7c08b0d0028060d5308fd7a0b8 03-Jun-2010 James Dong <jdong@google.com> am 28a92b2e: Merge "Fix a Javadoc to clarify when setAudioStreamType() should be called." into froyo

Merge commit '28a92b2e76a13c18dc23e5239717b122a174182f' into froyo-plus-aosp

* commit '28a92b2e76a13c18dc23e5239717b122a174182f':
Fix a Javadoc to clarify when setAudioStreamType() should be called.
9d96354d7055cd165d7d5625990f810f46339e52 03-Jun-2010 James Dong <jdong@google.com> Fix a Javadoc to clarify when setAudioStreamType() should be called.

bug - 2737926

Change-Id: I8718c3d1a544cf5cb1b7e98b6c24fe0e6d3574ba
edia/MediaPlayer.java
740e39be6af3e366a4b82c030b5ea67ab144b42a 02-Jun-2010 Jaikumar Ganesh <jaikumar@google.com> Pass BluetoothDevice to the Bluetooth Headset calls.

This is to support multiple headsets at the same time, atleast
at the framework level.

Change-Id: I91d05c6c2828c9a09d00806d5e79f1e9c9c7cf84
edia/AudioService.java
755fd617258d3f1731b2829d681cab680db0fdd5 26-May-2010 Mike Lockwood <lockwood@android.com> Prototype Content Provider support for MTP/PTP devices.

At this point much of the plumbing is in place, but only a few simple queries
are supported.
This is enough to support a proof of concept sample program that navigates
the file hierarchy of a digital camera connected via USB.

Also removed obsolete ptptest host test program.

Change-Id: I17644344b9f0ce1ecc302bc0478c1f3d44a1647f
Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MtpClient.java
edia/MtpCursor.java
65f1f81d769e5fbb6f5cbf40192de1991d4883e9 27-May-2010 Wu-cheng Li <wuchengli@google.com> am 81192f85: am c109190b: Add support for gps altitude EXIF tags.
c109190b6984da6cba4cea44a0304b6da12d77e6 20-May-2010 Wu-cheng Li <wuchengli@google.com> Add support for gps altitude EXIF tags.

Also improve the precision of getLatLong().

Change-Id: Id2c60f0d1d19e9da173b5ec1228f03c2195e189f
edia/ExifInterface.java
33f2a8b4a34338dbb9e86da2f437db9f6e062b7b 21-May-2010 Andreas Huber <andih@google.com> am 132f46ff: am df17b084: Merge "Support for media extraction from .mkv/.mka Matroska files in stagefright." into kraken
072f5247ef893e683728263a540bb93daafda376 20-May-2010 Andreas Huber <andih@google.com> Support for media extraction from .mkv/.mka Matroska files in stagefright.

Change-Id: I4c26579828ad575523ccf58b0b5cb144046c04ca
related-to-bug: 2483739
edia/MediaFile.java
c5c16f5f60f5091c29edb7d83a8fbc3e53b1ee7d 12-May-2010 Xavier Ducrohet <xav@android.com> am 6914e17a: am 08eff49f: am d9712b69: am b1235a57: Merge "Hide two audio focus methods." into froyo
725d2c7e6dd83c89d0ca11816a99a991bad2bc59 12-May-2010 Marco Nelissen <marcone@google.com> am 11291901: am 550884e2: am bbafdc64: am 836b2d75: Merge "Don\'t clear the _data column in the audio_meta table, since it isn\'t needed, and causes a sqlite constraint exception. Bug 2671792." into froyo
1e438357f0db23d590501af3a3e3006684541c75 12-May-2010 Jean-Michel Trivi <jmtrivi@google.com> am 4f9c9aa8: am fd5a747f: am 0c73adb1: am 3e90c76c: Merge "Update javadoc in android.media.AudioManager to not hide the registerAudioFocusListener() methods." into froyo
9f7c4112acb06f7a2ec817c682202d469a13d547 12-May-2010 Jean-Michel Trivi <jmtrivi@google.com> am 11e26c28: am 9f35d39a: am ea37d9b4: am aaa01b18: Merge " Fix bug 2670395 and 2599698 When the user selects a "Silent" notification sound, the Uri encoded path is an empty string. Setting this Uri as the data source of the MediaPlayer used to play not
d9712b69ce529fbf50b3b837032c1dc40e623381 12-May-2010 Xavier Ducrohet <xav@android.com> am b1235a57: Merge "Hide two audio focus methods." into froyo

Merge commit 'b1235a57a09174179553acecef2370354bdcbf41' into froyo-plus-aosp

* commit 'b1235a57a09174179553acecef2370354bdcbf41':
Hide two audio focus methods.
bbafdc6403488b0f7ad564a5a0ff2eed5b87ab7b 12-May-2010 Marco Nelissen <marcone@google.com> am 836b2d75: Merge "Don\'t clear the _data column in the audio_meta table, since it isn\'t needed, and causes a sqlite constraint exception. Bug 2671792." into froyo

Merge commit '836b2d75ef86487ecae0ae834ecbab324fd99471' into froyo-plus-aosp

* commit '836b2d75ef86487ecae0ae834ecbab324fd99471':
Don't clear the _data column in the audio_meta table, since it isn't
0c73adb1dead4097b9c7dc04b8a547aaab817e85 12-May-2010 Jean-Michel Trivi <jmtrivi@google.com> am 3e90c76c: Merge "Update javadoc in android.media.AudioManager to not hide the registerAudioFocusListener() methods." into froyo

Merge commit '3e90c76c12803cd1b116030fd124b7b870d25342' into froyo-plus-aosp

* commit '3e90c76c12803cd1b116030fd124b7b870d25342':
Update javadoc in android.media.AudioManager to not hide the
ea37d9b489aac1a4a8de71887581fe712e26e144 12-May-2010 Jean-Michel Trivi <jmtrivi@google.com> am aaa01b18: Merge " Fix bug 2670395 and 2599698 When the user selects a "Silent" notification sound, the Uri encoded path is an empty string. Setting this Uri as the data source of the MediaPlayer used to play notifications caused the completion listen

Merge commit 'aaa01b181c0eea4ff6496d446e25e499b12ca14c' into froyo-plus-aosp

* commit 'aaa01b181c0eea4ff6496d446e25e499b12ca14c':
Fix bug 2670395 and 2599698
b1235a57a09174179553acecef2370354bdcbf41 11-May-2010 Xavier Ducrohet <xav@android.com> Merge "Hide two audio focus methods." into froyo
5f53f0883a507b9d4b9b9891af560a64f746d149 11-May-2010 Xavier Ducrohet <xav@android.com> Hide two audio focus methods.

Change-Id: I53ddf736892cde8edfaffa7d69dd9c234df52efa
edia/AudioManager.java
33f49c8377ea9ffebaca9c398fb3c0f9585f9fe8 11-May-2010 Marco Nelissen <marcone@google.com> Don't clear the _data column in the audio_meta table, since it isn't
needed, and causes a sqlite constraint exception.
Bug 2671792.

Change-Id: Ie6e5d0369c3750739fa155e651be4d87c016a41f
edia/MediaScanner.java
46b3a1808a8e6fc60079af3c2292fd784a7bb0fc 11-May-2010 Jean-Michel Trivi <jmtrivi@google.com> Update javadoc in android.media.AudioManager to not hide the
registerAudioFocusListener() methods.

Change-Id: I8df37bd89df6f492aeb70fa636200552140578f9
edia/AudioManager.java
392a2bbb52688ebd25768a7784d9edca7f498110 11-May-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2670395 and 2599698
When the user selects a "Silent" notification sound, the Uri encoded
path is an empty string. Setting this Uri as the data source of the
MediaPlayer used to play notifications caused the completion listener
to not be called, which with the AudioFocus logic causes the Music
app to pause and never resume. The NotificationPlayer modifications
cause the MediaPlayer for the notification to only request audio
focus when the data source is not empty.
The audio focus code in AudioService is defensively synchronized
against a unique lock, and the exception observed in bug 2670395
is explicitely caught in case another edge case wasn't caught by
this fix.
The AudioFocus handling in AudioManager is modified so only the
requestAudioFocus and abandonAudioFocus methods are meant to be
used, as registerAudioFocusListener and unregisterAudioFocusListener
provided no additional functionality over the request/abandon
methods. abandonAudioFocus() also removes the listener from the
map in AudioManager since after abandonning focus, the listener
would no longer be called.

Change-Id: I3b553ee8a8163c25e01117d7e5479dd5fdfa7c6b
edia/AudioManager.java
edia/AudioService.java
509f1c0d6fc0287319945b64ddb8d447187bdd29 29-Apr-2010 The Android Open Source Project <initial-contribution@android.com> am 32de26bb: am c8652199: merge from open-source master
c8652199d14dc42edf882a8eb9e48a5fe0b6101d 29-Apr-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I20fa79289d84a892def9e7f6d6e7026d9de48010
c6f8ea4cf26aadc0da765585d37f7850596af6de 28-Apr-2010 hugh kennedy <kennedyh@umich.edu> speling fix

Change-Id: Ia9db6e1c5d1cd31fd028d551cc357a76049ce137
edia/MediaPlayer.java
5b7e2488e01c7b4fa7da76dc71b4095568875212 24-Apr-2010 Jean-Michel Trivi <jmtrivi@google.com> am 460587e9: am f6adae78: am 47dad8fa: Merge "Fix bug 2619062 Music is routed to Phone speaker, though it is connected to A2DP media profile" into froyo
a847ba4080675d395de725cfac5dfd9d5a993d4e 23-Apr-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2619062 Music is routed to Phone speaker, though it is
connected to A2DP media profile

When the phone is docked and using the dock A2DP, and the user
connects another A2DP device, make the dock unavailable immediately
before connecting the new A2DP device.

Change-Id: I82d53836fb509ee4ea7cdb68f467dfb946c634f8
edia/AudioService.java
399eb1f00eb1f79c5b7be3d88fed43affbb4c5d7 21-Apr-2010 Jean-Michel Trivi <jmtrivi@google.com> am 219dbb67: am 8dc4c790: am fe8620ac: Merge "Update AudioService to reflect phone state changes with AudioFocus. Phone calls and rings are treated as a new client, with a dedicated client ID that identifies it in the audio focus stack. When it is present in the stack
b4bccb6d8df16a2c5235cead187156bc721cf074 20-Apr-2010 Jean-Michel Trivi <jmtrivi@google.com> Update AudioService to reflect phone state changes with AudioFocus.
Phone calls and rings are treated as a new client, with a dedicated
client ID that identifies it in the audio focus stack. When it is
present in the stack, others clients cannot request audio focus
(request is denied).
Because the phone state is now mostly handled like a new client,
there is no need monitor mode changes and to keep track of
undispatched focus changes, as those will delayed focus gains
will now automatically happen at the end of the call when the
phone client is removed from the focus stack.

Change-Id: I11ff73b015ab93f07040755fd8ee75c8d675e025
edia/AudioService.java
03e4b571ea4b92da67b0e88e4f342410524df8bd 20-Apr-2010 Marco Nelissen <marcone@google.com> am fe13eebe: am 9d14e3ea: am 9b8b417c: Merge "When updating existing entries in the media database, don\'t update the is_music, is_ringtone, etc columns. This ensures that custom ringtones will still be shown in the ringtone picker after a rescan. Bug 2594125 Change-I
9b8b417cd1ddfb81c1b0314f033a1439fd627aa2 20-Apr-2010 Marco Nelissen <marcone@google.com> Merge "When updating existing entries in the media database, don't update the is_music, is_ringtone, etc columns. This ensures that custom ringtones will still be shown in the ringtone picker after a rescan. Bug 2594125 Change-Id: I56761240d6f6e699514169d80a445317ba0de9e2" into froyo
7dc9bcea533f396bcd3b96cb028893f50e728fe0 20-Apr-2010 Eric Laurent <elaurent@google.com> am 5b550c9e: am 11bae140: am 3891c4cc: Fix issue 2602879: camera shutter sound not playing.
1a8597cb519cb96a1738ec54f569b16aeb31a6ed 20-Apr-2010 Eric Laurent <elaurent@google.com> am e33e9db6: am 3cd1f9f9: am 3b591260: Fix issue 2604270 Device auto connects to Car Dock (Media profile) after undocking.
c066557378c2305625a7bad3d25f084ad647ef27 20-Apr-2010 Marco Nelissen <marcone@google.com> When updating existing entries in the media database, don't update
the is_music, is_ringtone, etc columns. This ensures that custom
ringtones will still be shown in the ringtone picker after a rescan.
Bug 2594125
Change-Id: I56761240d6f6e699514169d80a445317ba0de9e2
edia/MediaScanner.java
3891c4cc918e8062abb97c542a8625d556dccc59 20-Apr-2010 Eric Laurent <elaurent@google.com> Fix issue 2602879: camera shutter sound not playing.

The problem occurs if the device is powered down in silent mode. When the device restarts,
AudioService reads current ringer mode from saved settings but does not call setRingerModeInt()
to perform actions required when ringer mode changes.
The volumes of streams affected by ringer mode are actually at 0 because they are also read from settings
but their mute state is not applied correclty. When we later exit from silent mode, the streams
other than STREAM_RING that are affected by ringer mode are not restored as they are not considered
muted. This applies to STREAM_SYSTEM but also to STREAM_NOTIFICATION if its volume is controlled independently
from STREAM_RING.

The fix consists in calling setRingerModeInt() when AudioService starts.

Change-Id: Ica75b9874938dda1bc1b634c3e97db4a650d295c
edia/AudioService.java
3b5912602bec6ccbe8eef8a576730b1565f0067c 20-Apr-2010 Eric Laurent <elaurent@google.com> Fix issue 2604270 Device auto connects to Car Dock (Media profile) after undocking.

There was a regression introduced by change 4c637b9e34f4c8db69a64ad21a4e2bcfa7485b5f
fixing issue 2578813. As the A2DP device disconnection is notified to the audio policy manager
after a delay, there is a period during which the A2DP device is actually not connected but the
A2DP output is considered present by audio framework. If a playback is started during this period,
The A2DP output requests the activation of the A2DP sink which in turn triggers a reconnection
of the A2DP sink.

The fix consists in suspending the A2DP output immediately when receiving the A2DP disconnection
intent so that any activity on A2DP output is ignored until the output is actually closed by the
audio policy manager.

Change-Id: I16eaace45e12bfc970f50836b46a73b756b493f0
edia/AudioService.java
36b763e95290b231f614ab2fd0cab5eaecf16daa 15-Apr-2010 Eric Laurent <elaurent@google.com> am 5c14f2d0: am def7db5b: am 758dd527: Fix issue 2592680: Saved ringer volume forced to 0 when receiving a call in silent mode.
491f250583e5a96fb50046bded15f53b012849cc 15-Apr-2010 Eric Laurent <elaurent@google.com> am 5db9adfd: am 834f0483: am 745b43c2: Merge "Fix issue 2589563: Able to set ringer volume to 0 outside of silent mode." into froyo
758dd527f64f1e827adfe09f0141ab213733ca22 13-Apr-2010 Eric Laurent <elaurent@google.com> Fix issue 2592680: Saved ringer volume forced to 0 when receiving a call in silent mode.

This is a regression introduced by change 5b4e654d0c7de8e4d58d73e73b0d5220f19b68f7 for issue 2472495.
When AudioService changes audio mode, setMode() reapplies current volume for the default active stream
which in this case is STREAM_RING.
Because the new implementation of silent mode actually mutes the ringer stream,
setStreamVolumeInt() now applies the volume change received while in silent mode
to the last audible value and we end up clearing the last audible volume for ringer.

The fix consists in not modifying last audible value when the new value is 0.

Also removed obsolete code in setStreamVolumeInt() since new implementation of setRingerModeInt()
in change 5b4e654d0c7de8e4d58d73e73b0d5220f19b68f7.

Change-Id: I746f3bc1af39a602ce12d130ce592007b2d0ebb6
edia/AudioService.java
527c3ab51e258dfa15c6240f701693cf914e8e93 13-Apr-2010 Eric Laurent <elaurent@google.com> Fix issue 2589563: Able to set ringer volume to 0 outside of silent mode.

The problem happens only if volume down key is pressed while
already in silent or vibrate mode. In this case, AudioService accepts
changing the last audible index for ringer volume from 1 to 0.
When volume up is pressed, current ringer volume value is restored from 0
instead of 1.

The fix consists in keeping last audible index at 1 once in silent of vibrate
mode even is volume down key is pressed.

Change-Id: Id08edd12ce985c22233124545eba2c3e4b8cdc8e
edia/AudioService.java
7558905bdf464f788d78963613b264767fa30940 14-Apr-2010 Jean-Michel Trivi <jmtrivi@google.com> am 824ca797: am b8430335: am 34b2ecc8: am c30890e1: Merge "Fix bug 2578813 Delay pausing music and routing audio for car docks" into froyo
57e6f58bb7be7a489afe02b68693520127ca613c 14-Apr-2010 Daniel Sandler <dsandler@android.com> am cd3f349f: am a32efedd: am de3601e0: am bcac4960: Honor the "Never vibrate" setting for incoming calls.
4c637b9e34f4c8db69a64ad21a4e2bcfa7485b5f 13-Apr-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2578813 Delay pausing music and routing audio for car docks

Moved broadcast of ACTION_AUDIO_BECOMING_NOISY from BluetoothA2dpService
to AudioService.
Broadcast ACTION_AUDIO_BECOMING_NOISY when disconnecting an A2DP
device.
Disconnect from A2DP docks with a delay to handle transient
disconnections.
Cancel delayed A2DP disconnections when connecting to a dock as this
can be a reconnection after a transient disconnection.

Change-Id: I1ee9e99f3ffa20727af38a4c4c8711942894a696
edia/AudioService.java
bcac496076ef6f439147e7a2be71e8a2b76ddede 12-Apr-2010 Daniel Sandler <dsandler@android.com> Honor the "Never vibrate" setting for incoming calls.

Bug: 2579295
Change-Id: Ia4207492c5dfa2c39d27372c4892b60121b6d9e8
edia/AudioService.java
36ce643dbe3ae09d6b94dbd6e3cfbf27442f593e 13-Apr-2010 Jean-Baptiste Queru <jbq@google.com> am cd839752: manual merge
2930bb2d47be279dd228ba8c749c1e39e5da8be1 10-Apr-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix monkey bug 2586534 java.util.ConcurrentModificationException
Unlike the other audio focus and media button stack handling
methods, abandonAudioFocus() and unregisterAudioFocusClient() were
not synchronized around their focus stack. This CL corrects this.

Change-Id: I5ada574e4e163fa95da9dad2fefe610b48303320
edia/AudioService.java
f974b84b547f6a0f239dec79363fe0fc4a57b417 07-Apr-2010 Ray Chen <raychen@google.com> am e4b62c23: am 84d12f3f: am dbad286c: am 25c2dd60: Merge "Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener http://2553871" into froyo
b7c8c76180dc1abbf55c734ab121a7a2469060f6 31-Mar-2010 Ray Chen <raychen@google.com> Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener
http://2553871

Change-Id: I293b8138a2c23ea107b634da014902f838966c0e
edia/MediaScannerConnection.java
505a318eae20606696a56a10920605b56cab0d36 05-Apr-2010 Ray Chen <raychen@google.com> am 507748e9: am 6c935602: am 44dcf658: Make createVideoThumbnail and createImageThumbnail look consistent.
44dcf658718fcc0b563dcad50fb59e8fe507cd0a 05-Apr-2010 Ray Chen <raychen@google.com> Make createVideoThumbnail and createImageThumbnail look consistent.

Change-Id: I9a4798fefe3968ac847d46100036a6dde39791c9
edia/ThumbnailUtils.java
5a3a3b16baba25f1f3f3be182a79b3ec691e8f8a 02-Apr-2010 Jean-Michel Trivi <jmtrivi@google.com> am 055897ac: am 28525488: am 9ab05fff: Merge "Fix bug 2565463 Ensure an object cannot appear twice in the AudioFocus stack. Enforce parameter check in AudioManager.requestAudioFocus() Typo correction in AudioService.unregisterMediaButtonEventReceiver()" into froyo
55d1bb3483e17a11d122e68044e552d96ab55ff4 02-Apr-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2565463 Ensure an object cannot appear twice in the
AudioFocus stack.
Enforce parameter check in AudioManager.requestAudioFocus()
Typo correction in AudioService.unregisterMediaButtonEventReceiver()

Change-Id: Iedd6081a2a096bd7effbaeb9f888a31691201b3b
edia/AudioManager.java
edia/AudioService.java
bf3b4985b67e50188b7a9359b7f5a8cf5aa05df8 01-Apr-2010 James Dong <jdong@google.com> am 85bc2ae1: am d12d6c30: am ccc17b34: Merge "Public API changes for CameraProfile and CamcorderProfile classes" into froyo
e64d9a236e4704abf53d3b7eea2eb066f23cf402 31-Mar-2010 James Dong <jdong@google.com> Public API changes for CameraProfile and CamcorderProfile classes

1. CamcorderProfile: “@see” links are broken; Remove m prefix from fields; remove “final”
2. CamcorderProfile.Quality: use an int rather than an enum
3. Add API on MediaRecorder to pass in a CamcorderProfile
4. CameraProfile.getImageEncodingQualityLevels @hide or make it consistent with CamcorderProfile
5. Remove a convenient method and instead let the (mms) app do that task

bug - 2553862

Change-Id: I759215c7892f772aeddf3651d17038489c6fbc50
edia/CamcorderProfile.java
edia/CameraProfile.java
edia/MediaRecorder.java
7f9b1fa6719dde575f8ea9858313358733fbd6c9 31-Mar-2010 Glenn Kasten <gkasten@google.com> Add isSilentMode initially hidden before API council approval, test case to be added separately.

Change-Id: Id9384a2caf45b8775705cde6c990c3c65c7c6312
edia/AudioManager.java
7f7e67f1b60b7840011236097baad9df6dd74c20 31-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2553575 API REVIEW: android.media Change 1 of 3
Notes from API Council review:
Rename onAudioFocusChanged -> onAudioFocusChange

Change-Id: I8296cc84381506dabe8a9ceb1b5e3c0ab6d4af25
edia/AudioManager.java
5b4e654d0c7de8e4d58d73e73b0d5220f19b68f7 20-Mar-2010 Eric Laurent <elaurent@google.com> Fix issue 2472495: Phone cannot be set to silent mode via volume keys while Driveabout is taking.

The problem is that AudioService.adjustStreamVolume() only handles the ringer mode change when the
STREAM_RING volume changes from 1 to 0 or 0 to 1. If another stream is soloed, the STREAM_RING stream
volume is forced to 0 and then never transits from 0 to 0 when volume down key is pressed.

The fix consists in considering the saved value instead of current value when ajusting or setting
the volume of a muted stream: only the saved value is adjusted too, leaving the stream muted but updating
the value that will be restored when it will be unmuted.

Also changed implementation of stream volume control by setRingerModeInt() to use stream mute feature
instead of direct volume control.

Change-Id: Id85d76450b36d61a0fe8195eb4bffe63ffbd427c
edia/AudioService.java
bbbb1dc3c33f8fe3ed24bd0baacf1f196cb5addd 18-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Unhide the MediaButton receiver API in android.media.AudioManager

Change-Id: Ic9222b0bf6e2ff481c6aa5f16ac0259fa7a52355
edia/AudioManager.java
90f8680f41525e5e5d9b811af60793a0396a32e3 22-Mar-2010 James Dong <jdong@google.com> Update MediaRecorder.java documentation to mention it does not work on the emulator yet.

bug - 2532726

Change-Id: If6dbf0d89c4681a647419e1911213a4c22dc3dab
edia/MediaRecorder.java
9f3168b327dbacd99874fb1c423e926b228dd792 20-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix two AudioFocus issues: - if a focus owner abandons audio focus during a call, the next focus owner in the stack was never notified - if a focus owner requests the focus while alread owning it, and the type of focus request changes, the previous focus owner was not notified that the type of focus loss had changed."
983ac2b8cff85dda1f55b0d7779a33248b3fa7cf 19-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Unhide new constants used in AudioFocus API to denote a situation
where a new focus owner signals it allows other audio apps to keep
playing by ducking their audio streams.

Change-Id: I1109f44546f3cbcff8ad33ee21cfff50f4f12177
edia/AudioManager.java
e5e1e870fdb35f5291790e6d178bde7126f6fe35 19-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix two AudioFocus issues:
- if a focus owner abandons audio focus during a call, the next
focus owner in the stack was never notified
- if a focus owner requests the focus while alread owning it, and
the type of focus request changes, the previous focus owner was
not notified that the type of focus loss had changed.

Change-Id: Iee6c6e17bcdd3c225a4b600f40ba434294870f17
edia/AudioService.java
aac4bfb49b4706a21b7ae7318409d8c7e2de9917 19-Mar-2010 Marco Nelissen <marcone@google.com> Merge "We should pass null for the album artist if it was not set, instead of a copy of the artist, since the media provider needs to know whether the album artist was actually set."
0096b8d7d119281466763160d5c88c5f9832d005 19-Mar-2010 Marco Nelissen <marcone@google.com> We should pass null for the album artist if it was not set, instead of a copy
of the artist, since the media provider needs to know whether the album artist
was actually set.

Change-Id: I29b885c8293609299a55babadf9ca2a30e20e5bd
edia/MediaScanner.java
4b55d496dd9899731b26327e4cb71c9ef4a1137a 19-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix SDK build Remove links to hidden constant in javadoc.

Change-Id: I21495f0ef64b3dc154ce0e0ca2d44686afd752e9
edia/AudioManager.java
95b88fbe744d8ce53b5f54f6fcd90c55094a8d14 19-Mar-2010 Eric Laurent <elaurent@google.com> Attempt to fix the SDK build.

Change-Id: I024df1b513da117057a21c27e6c0cd134cdd8023
edia/AudioManager.java
078fd47e91d495175927d1a4a8b9aad039a7ba4e 19-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Support focus requests where ducking of the loser of audio focus
is acceptable for the new audio focus owner.

Change-Id: I965483f12eeb717115a8f6992d8f1ab7fafa4e45
edia/AudioManager.java
edia/AudioService.java
c04cfa35968783f5af007db95680f0087201d9ea 18-Mar-2010 Eric Laurent <elaurent@google.com> Unhide AudioManager API to control bluetooth SCO audio connection.

Needed for issue 2416481 in order to allow unbundled applications to play and record
audio to/from a bluetooth SCO headset while not in call.

Change-Id: Ie1f96ded991e65da538c2c4a58bfa1e548d58a01
edia/AudioManager.java
42a9c537885cb7e846af8383e83796f63ba8f1b1 19-Mar-2010 Marco Nelissen <marcone@google.com> Merge "Include "album artist" when inserting items in the media provider."
abc2819328c32f2f66506d342c5f560da5107889 19-Mar-2010 Marco Nelissen <marcone@google.com> Include "album artist" when inserting items in the media provider.

Change-Id: Ic34e2d54557409866dc35c29ee397afdfe874762
edia/MediaScanner.java
3def1eec2baed0b8845ec32c871e249dc533a9d9 18-Mar-2010 Eric Laurent <elaurent@google.com> Issue 2416481: Support Voice Dialer over BT SCO.

Added public methods to AudioManager API so that unbundled applications can use bluetooth
SCO audio when the phone is not incall.
Without this change, the only way to activate and use bluetooth SCO is via the BluetoothHeadset API
which is not public yet.

Change-Id: Ia1680f219ea1d0943092d475d5be7d6638983ebb
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
308e9a5d0975489982f93fd1f3728e6ed7a778d0 17-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug where the ID stored for an OnAudioFocusChangeListener is an
empty string when audio focus is requested or abandonned with a
null listener.

Change-Id: I7709b75c6092aefc002806343298bc679d42d6c6
edia/AudioManager.java
d1f78767fc2be65ae4dc213b4f3a3e6abec0810d 17-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Implementation of the policing of transport control key press events among multiple applications competing for the remote control focus. AudioManager defines a new API for applications to use in order to register their BroadcastReceiver for the media button as the one to receive the corresponding intent, but all applications at the same time (in an ordered broadcast). AudioService handles a stack of remote control focus owners. It traps ACTION_MEDIA_BUTTON intents and sends a new intent to the remote control focus owner."
d327f21626217aa3c9c0cdb7a84a742c531e59a3 17-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Implementation of the policing of transport control key press
events among multiple applications competing for the remote control
focus.
AudioManager defines a new API for applications to use in order to
register their BroadcastReceiver for the media button as the one
to receive the corresponding intent, but all applications at the
same time (in an ordered broadcast).
AudioService handles a stack of remote control focus owners. It
traps ACTION_MEDIA_BUTTON intents and sends a new intent to the
remote control focus owner.

Change-Id: I3c109221ecfb160cbb1ec0e40a71b241aad73812
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
74d4843641ca1f810e27989873697cba1f41338a 12-Mar-2010 Ray Chen <raychen@google.com> Fix #2509370 ThumbnailUtils.createThumbnailFromEXIF crashes media provider.

Change-Id: Ia2cd00fb0fbdb32e9fb89b4d33ad3c1410eb40d3
edia/ThumbnailUtils.java
e208377fbab6b90f41e68699700942a81f4caaeb 11-Mar-2010 Ray Chen <raychen@google.com> Add GPSProcessingMethod tag to ExifInterface.

Change-Id: I7575ae3195dc510e7020368794a66bb064839104
edia/ExifInterface.java
b4ca6ef9941701502a9ea4d298d7fe5602ba8e7a 09-Mar-2010 Ray Chen <raychen@google.com> Avoid overriding DATE_TAKEN by unreliable file time. MediaProvider will calculate it if needed.

Change-Id: I05cb8628f2333c26de5c05ee1c7676b8f79a5e9a
edia/MediaScanner.java
758559e6b7e310cf46cc269437f44decd58d68d6 09-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2329540
Part 1 of the fix: when the user doesn't elect to use the car dock
for music and media, the APM was not aware of the device being
docked.
This is fixed by dissociating the notification for the APM of
the docking to the dock from the sink state change of the A2DP
device.
Also missing was forcing the volumes to be reevaluated whenever
the device is docked or undocked, as volumes for docks may
differ, even when the same output device is being used.

Change-Id: If5314e27821a71adbd6df6fdf887c45208241d96
edia/AudioService.java
eabb6df2fac57134b82f90a63730b2371589bded 09-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Unhide API additions to AudioManager for AudioFocus support.

Change-Id: Ifc7d764703632eb91db11587675ae70ec14510e8
edia/AudioManager.java
ff846009ecb6df669feeb5d5feecf4b304b8b9a5 01-Mar-2010 James Dong <jdong@google.com> Unhide CamcorderProfile and CameraProfile Java API

bug - 2375978
edia/CamcorderProfile.java
edia/CameraProfile.java
7a67f156fb5b84c072c0b2bce30c78e55c96db84 11-Feb-2010 Ray Chen <raychen@google.com> Remove native options.
edia/ThumbnailUtils.java
0fc6bc4cac6391f048f0f2748b3e979effe0924b 27-Feb-2010 James Dong <jdong@google.com> Clean up MediaRecorder for public Java SDK
- update comments and fix a check in setAudioChannels()

bug - 2362412
edia/MediaRecorder.java
31951ca52aa007891b0be975318199e207c70e02 03-Mar-2010 Eric Laurent <elaurent@google.com> Fix issue 2456968: Alarm rings in "silent mode and when Alarm in silent mode is turned off".

The problem is that even if silent mode is active, changing the alarm volume will change current
alarm stream volume. This is true for other stream types affected by ringer mode (ring, notification...) but
the UI design is such that it is not possible to change these volumes while in silent mode.

The fix consists in modifying AudioService.setStreamVolumeInt() so that when a stream is affected by ringer mode
and we are in silent mode, only the saved volume value is modified, current value remaining to unchanged (0).
edia/AudioService.java
d5176cfe6eae954e9cef1e2ec17859a5089e1330 28-Jan-2010 Jean-Michel Trivi <jmtrivi@google.com> First implementation of the audio focus management as an extension
of AudioManager and AudioService.
edia/AudioManager.java
edia/AudioService.java
edia/IAudioFocusDispatcher.aidl
edia/IAudioService.aidl
6329bf7b1e2217c6c9477bd57349a1edade18417 26-Feb-2010 Daniel Sandler <dsandler@google.com> New vibrate/silent mode behavior.

In earlier versions of Android, "vibrate mode" (in which
only alarms and media produce sound, but notifications may
operate the vibe motor) was only accessible by adjusting the
ringer volume (via the device's volume rocker) down until
the "vibrate" icon appeared (between the lowest ring volume
and silent mode).

Many users prefer that "silent mode" always allow vibration.
Others prefer Android's historical behavior, in which silent
mode stops the vibes as well.

To accommodate these two distinct usage patterns, we now
allow the user to decide whether vibration is allowed in
"silent mode", a user interface abstraction that now spans
both AudioManager.RINGER_MODE_VIBRATE and
AudioManager.RINGER_MODE_SILENT.

To minimize API impact (and therefore maximize backward
compatibility), RINGER_MODE_VIBRATE and RINGER_MODE_SILENT
remain unchanged. What has changed is what happens when the
user activates silent mode, either via Settings,
GlobalActions (longpress on power), volume rocker, or the
keyguard tab. In essence, there is now only one "silent"
position in these controls, and whether RINGER_MODE_VIBRATE
or RINGER_MODE_SILENT is actually set on the AudioService is
determined by a new one-off setting
(System.VIBRATE_IN_SILENT). This new setting isn't meant to
be a long-term API, however: in the future we hope to
replace and extend this design with a much more
sophisticated set of systemwide feedback profiles. ETA TBD.

Related changes:
* I09ad7d69 (GlobalActions and keyguard)
* I22ba7bcf (Settings app)

Bug: 2457183
Change-Id: I14cf91b0910261ffdfd1bf302423f41ec747d057
edia/AudioService.java
3d6c986d02850096d1f0a6032cb0c039a2fb91fb 26-Feb-2010 Marco Nelissen <marcone@google.com> Merge "Make AsyncPlayer.startSound catch all exceptions instead of only a few. Two reasons for this: - it's used in the system process - it's run in a separate thread, so the user of AsyncPlayer cannot catch these exceptions"
4ba297f3ed2def2845edb18723e43379984bc9ff 26-Feb-2010 Marco Nelissen <marcone@google.com> Make AsyncPlayer.startSound catch all exceptions instead of only a few.
Two reasons for this:
- it's used in the system process
- it's run in a separate thread, so the user of AsyncPlayer cannot catch these exceptions
edia/AsyncPlayer.java
b93003649d0d58e6824b54d6e9e1386912c34448 26-Feb-2010 James Dong <jdong@google.com> Merge "Image encoding settings java API through xml configuration file"
9b433f0b654d32530b0b48a7a653216ae0bb94d8 24-Feb-2010 James Dong <jdong@google.com> Image encoding settings java API through xml configuration file

- I decided to completely remove jpeg decoding related stuff from this change
I think that setting is better off if it is specified by the system properties.
We don't have to include MediaProfiles.h header in skia files
edia/CamcorderProfile.java
edia/CameraProfile.java
f82c76656b29059e2d28b9ca4bdad11d7cba038b 23-Feb-2010 James Dong <jdong@google.com> Merge "Replace system property retrieval calls with DecoderCapabilities Java API calls."
b2d69e3d7742840fe3b2fb86ded8bec510e7a9ca 19-Feb-2010 Andreas Huber <andih@google.com> The MediaScanner is way too obsessed with restricting the files to be scanned.

related-to-bug: 2326148
edia/MediaScanner.java
05513119803845c11d845cbc376759cddcfe13bb 17-Feb-2010 Dave Sparks <davidsparks@android.com> Unhide new SoundPool API's. Bug 2415373.
edia/SoundPool.java
afdf85d435eb37cba307aa259d5064a8e3c662e1 17-Feb-2010 Jaikumar Ganesh <jaikumar@google.com> Merge "Fix issue 2440226: Car dock volume synchronization."
68db99ef761456ffaa0c4b918ce75dfc0892784a 17-Feb-2010 James Dong <jdong@google.com> Replace system property retrieval calls with DecoderCapabilities Java API calls.
edia/MediaFile.java
675ee6ac3641e75a1496b06bdbc89fb4f5476647 17-Feb-2010 Dave Sparks <davidsparks@android.com> Merge "Add SoundPool API to pause and resume all active streams. Bug 2426531."
f992cbb9aae593c7787ac9c5f6b475e7bb0a92c5 09-Feb-2010 Dave Sparks <davidsparks@android.com> Add SoundPool API to pause and resume all active streams. Bug 2426531.
edia/SoundPool.java
62ed7a6d4a20d1efb151315b104805ce445e7346 16-Feb-2010 James Dong <jdong@google.com> Merge "Support decoder queries from media profiles xml configuration file"
9ce379aef155e0c21b5d82d8dc713c62792e4f30 16-Feb-2010 Eric Laurent <elaurent@google.com> Fix issue 2440226: Car dock volume synchronization.

AudioService now sends intent AudioManager.VOLUME_CHANGED_ACTION when the volume is changed
on any stream type (previously the intent was sent only for STREAM_BLUETOOTH_SCO stream).
A new extra for previous volume value is added to the intent.
edia/AudioManager.java
edia/AudioService.java
d32fba411f2710ad66681466674c8243f2ca3454 11-Feb-2010 James Dong <jdong@google.com> Support decoder queries from media profiles xml configuration file
edia/DecoderCapabilities.java
fbb3885024ac9c90f322b6259d7e519c8927e6ff 12-Feb-2010 Andreas Huber <andih@google.com> New API on java's MediaPlayer to suspend/resume a session.

related-to-bug: 2231576
edia/MediaPlayer.java
6015a9715421a339c2b7bb63f9166504e3488179 12-Feb-2010 Eric Laurent <elaurent@google.com> Fix issue 2418668: AudioManager isWiredHeadsetOn() always returns false for headset without mic.
edia/AudioManager.java
c5d5ee34d7c1026ca8d5cd8b186e5a73c5230247 11-Feb-2010 Marco Nelissen <marcone@google.com> Add support for "album artist" tag.
edia/MediaMetadataRetriever.java
49ffc0ff72a29f000b56deb34b0706cbfc5624bf 05-Feb-2010 Ray Chen <raychen@google.com> Revise ThumbnailUtils API.
edia/ThumbnailUtils.java
bfcb22a207499c7ecd4aef9bea2ac778d8be8fc8 10-Feb-2010 Marco Nelissen <marcone@google.com> Don't create a genre in the database for genre code 255 (unknown)
edia/MediaScanner.java
e83cefcef07f9ac025642c1ffec76b4c7ab39cf2 05-Feb-2010 Dianne Hackborn <hackbod@google.com> New external storage APIs.

This implements the spec for external storage organization, and
properly reflects how the media scanner organizes the files it finds.

Also includes package manager support for removing app private
files from external storage when the application is uninstalled.

For the new APIs and paths, the main place to look is Environment
and Context.
edia/MediaScannerConnection.java
760dcecd9d0aad300c7af1e232156a9ad1399a71 05-Feb-2010 James Dong <jdong@google.com> Merge "Camcorder profile Java API support - Use Enum for Quality instead of int - Use static values() method from Enum, rather than if-else"
e7038ace44ed6e6cd27be35b003e6dd0412e936f 04-Feb-2010 James Dong <jdong@google.com> Camcorder profile Java API support
- Use Enum for Quality instead of int
- Use static values() method from Enum, rather than if-else

bug - 2417312
edia/CamcorderProfile.java
5d9661be8eaa2a4702a4d3c0fa0fd07a8638b503 31-Jan-2010 Wu-cheng Li <wuchengli@google.com> Add getAttributeDouble() and focal length tag.

bug:2375989
edia/ExifInterface.java
3a8cab88e7747dc280ce85895af014f98e80a6cc 15-Jan-2010 Ray Chen <raychen@google.com> Add GpsDateTime support to ExifInterface and correct images table's date_taken value to UTC timestamp.
http://b/2376777
edia/ExifInterface.java
edia/MediaScanner.java
c371194e4e0651c328f1870a90bbfd4e217c747b 20-Jan-2010 James Dong <jdong@google.com> Initial check-in for xml-based encoder capabilities retrieval
- Changed the Java API as suggested
- Treat /etc/media_profiles.xml as the default xml configurtion file
edia/EncoderCapabilities.java
bf124e7e41f7850ac1b7be808221a462db6f3447 26-Jan-2010 Ray Chen <raychen@google.com> Unhide ThumbnailUtils to support Camera unbundling.
http://b/2375978
edia/MiniThumbFile.java
edia/ThumbnailUtil.java
edia/ThumbnailUtils.java
256430093679e1d62b54fb0c852126e54d162f6f 28-Jan-2010 Andreas Huber <andih@google.com> API Extension: Support for optionally specifying a map of extra request headers when specifying the uri of media data to be played.

related-to-bug: 2393577

Original change by Andrei Popescu <andreip@google.com>
edia/MediaPlayer.java
23f25cda0c73f8eb878844dea32fb0bd419edca2 25-Jan-2010 Eric Laurent <elaurent@google.com> Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active.

Modified AudioService.getActiveStreamType() so that STREAM_VOICE_CALL is selected when a track using this stream
type is playing.

Chanded isMusicActive() for a more generic isStreamActive(stream) method in AudioSystem, IAudioFlinger and AudioFlinger.
edia/AudioManager.java
edia/AudioService.java
edia/AudioSystem.java
9272b4b4a44fe1f33e3030810618194f817caaec 24-Jan-2010 Eric Laurent <elaurent@google.com> Fix issue 2349345: Media sound output stuck on earpiece rather than speaker.

This change fixes a problem occuring when an application (for instance a VoIP application)
changes the audio mode to MODE_IN_CALL and crashes. In this case, the audio routing policy
remains as if we were in call until the audio mode is changed back to MODE_NORMAL, for instance when a new call
made or received and terminated.

The fix consists in registering a death receipient to the binder that made the setMode() request and resetting the audio
mode in case of client process crash.
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
35b002a9c873fb40116179c8626b9841b0abae74 22-Jan-2010 Marco Nelissen <marcone@google.com> Make the media scanner disregard database entries that do not have
absolute path names. This allows us to store other things (perhaps
with http or content URIs) in the database, without the media scanner
removing them again.
edia/MediaScanner.java
1cb02bf661807ffc6525dcc13e16d7ce027bef00 13-Jan-2010 Andreas Huber <andih@google.com> Support for determining the mime type of media via metadata extraction.
edia/MediaMetadataRetriever.java
84b42b836845a921c853a3f8aa93227e1177f61d 09-Jan-2010 Eric Laurent <elaurent@google.com> am d31d7397: am 663ec308: Fix issue 2361949: A2DP suspend parameters set wrongly.

Merge commit 'd31d7397ba26dcd913e96d06f0a8fd593780d629'

* commit 'd31d7397ba26dcd913e96d06f0a8fd593780d629':
Fix issue 2361949: A2DP suspend parameters set wrongly.
d31d7397ba26dcd913e96d06f0a8fd593780d629 08-Jan-2010 Eric Laurent <elaurent@google.com> am 663ec308: Fix issue 2361949: A2DP suspend parameters set wrongly.

Merge commit '663ec308801a34de82db9ab993f0e906da690f89' into eclair-plus-aosp

* commit '663ec308801a34de82db9ab993f0e906da690f89':
Fix issue 2361949: A2DP suspend parameters set wrongly.
663ec308801a34de82db9ab993f0e906da690f89 08-Jan-2010 Eric Laurent <elaurent@google.com> Fix issue 2361949: A2DP suspend parameters set wrongly.

Move reset of A2DP suspend state from handleSinkStateChange() in BluetoothA2dpService to
BluetoothA2dp.ACTION_SINK_STATE_CHANGED intent receiver in AudioService.
Previous implementation could cause a false reset of suspend state if a new sink attempted to
connect while A2DP was suspended.
New implementation only resets A2DP suspend state when a new sink is actually connected.
edia/AudioService.java
1b50044a271208bdb0893ed941bd21168faf90c4 16-Dec-2009 James Dong <jdong@google.com> Add MPEG to the file extensions that scanner cares
edia/MediaFile.java
9a488b44cb479bc42375d2cfcdd4aa6161dc17cf 05-Jan-2010 Marco Nelissen <marcone@google.com> MediaFile.UNKNOWN_STRING -> MediaStore.UNKNOWN_STRING
edia/MediaFile.java
edia/MediaScanner.java
a0b517609dfd8436a98bdebb31466f19ffec6cb5 28-Dec-2009 Eric Laurent <elaurent@google.com> am 68e9014e: am 484d2888: Fix issue 2299360: Change in in-call volume affects the Bluetooth in-call volume and vice versa.

Merge commit '68e9014e47f7350b3889e1704dde809b2a926968'

* commit '68e9014e47f7350b3889e1704dde809b2a926968':
Fix issue 2299360: Change in in-call volume affects the Bluetooth in-call volume and vice versa.
011a3dfd8502aba17fb9c5b202ea2267880213d4 23-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9120be33

* changes:
Add OnLoadCompleteListener to SoundPool.
f6e43bf29084760b39257b2273e0f04c2815fdc5 08-Dec-2009 Dave Sparks <davidsparks@android.com> Add OnLoadCompleteListener to SoundPool.
edia/SoundPool.java
cf4fc6263c1c24ffa91a65a75edb126143a2617e 23-Dec-2009 Eric Laurent <elaurent@google.com> am f31f365a: am eb5ffc23: Merge change Id8e98194 into eclair

Merge commit 'f31f365a7708c931e955670bc6213fdc8f91a87a'

* commit 'f31f365a7708c931e955670bc6213fdc8f91a87a':
Fix issues 2333450 and 2333559:
f31f365a7708c931e955670bc6213fdc8f91a87a 23-Dec-2009 Eric Laurent <elaurent@google.com> am eb5ffc23: Merge change Id8e98194 into eclair

Merge commit 'eb5ffc239b6482b9c1e046f6f5872187043d852c' into eclair-plus-aosp

* commit 'eb5ffc239b6482b9c1e046f6f5872187043d852c':
Fix issues 2333450 and 2333559:
68e9014e47f7350b3889e1704dde809b2a926968 23-Dec-2009 Eric Laurent <elaurent@google.com> am 484d2888: Fix issue 2299360: Change in in-call volume affects the Bluetooth in-call volume and vice versa.

Merge commit '484d2888680e18e6ad8c3fcc51e3b70a705a096e' into eclair-mr2-plus-aosp

* commit '484d2888680e18e6ad8c3fcc51e3b70a705a096e':
Fix issue 2299360: Change in in-call volume affects the Bluetooth in-call volume and vice versa.
eb14a783be073b5fd6e8c8c9bc87d2d1919f2c9e 17-Dec-2009 Eric Laurent <elaurent@google.com> Fix issues 2333450 and 2333559:

Add new config values to AudioSystem::FOR_DOCK force usage to differenciate car and desk docks.
Use a receiver for the sticky Intent.ACTION_DOCK_EVENT in AudioService to detect the type
of dock and select force usage accordingly.
edia/AudioService.java
edia/AudioSystem.java
484d2888680e18e6ad8c3fcc51e3b70a705a096e 08-Dec-2009 Eric Laurent <elaurent@google.com> Fix issue 2299360: Change in in-call volume affects the Bluetooth in-call volume and vice versa.

Add a separate system settings entry for bluetooth SCO volume.
edia/AudioService.java
83652ebfe1963bcecdcf24383165904223baca6e 15-Dec-2009 Dianne Hackborn <hackbod@google.com> am 3a3fd2ba: Merge change Iaf1f0918 into eclair-mr2

Merge commit '3a3fd2ba1ffc6171725375396cc59711a34bb39e' into eclair-mr2-plus-aosp

* commit '3a3fd2ba1ffc6171725375396cc59711a34bb39e':
Implement API to have new broadcasts replace existing broadcasts.
1c633fc89bae9bf0af6fe643ac7ad2e744f27bed 09-Dec-2009 Dianne Hackborn <hackbod@google.com> Implement API to have new broadcasts replace existing broadcasts.

Use this in various places where it should serve no purpose to deliver
both broadcasts. This is intended to reduce somewhat the flurry of
broadcasts that we churn through during boot.
edia/AudioService.java
899858a39647803c0cb506d2320fdaf2e4d3b8b9 11-Dec-2009 Jean-Michel Trivi <jmtrivi@google.com> am 6608bd0d: am 86ed86d2: Merge change I0f73439a into eclair

Merge commit '6608bd0d3af3f9c365b73f8b19d9ec0b7d5ee70b' into eclair-mr2-plus-aosp

* commit '6608bd0d3af3f9c365b73f8b19d9ec0b7d5ee70b':
Partially fix bug 2111240 Detect docking / undocking event by reporting
6608bd0d3af3f9c365b73f8b19d9ec0b7d5ee70b 11-Dec-2009 Jean-Michel Trivi <jmtrivi@google.com> am 86ed86d2: Merge change I0f73439a into eclair

Merge commit '86ed86d2260932bdf2217b1d8431ac9e04d47534' into eclair-mr2

* commit '86ed86d2260932bdf2217b1d8431ac9e04d47534':
Partially fix bug 2111240 Detect docking / undocking event by reporting
ed3e7ab3bf15bc1eefaade7e1f641d02d04c80c2 09-Dec-2009 Jean-Michel Trivi <jmtrivi@google.com> am 86ed86d2: Merge change I0f73439a into eclair

Merge commit '86ed86d2260932bdf2217b1d8431ac9e04d47534' into eclair-plus-aosp

* commit '86ed86d2260932bdf2217b1d8431ac9e04d47534':
Partially fix bug 2111240 Detect docking / undocking event by reporting
6154412ee8e07e9cde129cccb944dd7ed9dcef53 08-Dec-2009 Jean-Michel Trivi <jmtrivi@google.com> Partially fix bug 2111240 Detect docking / undocking event by reporting
to the AudioPolicyManager a new forced usage AudioSystem::FOR_DOCK
which can take the FORCE_NONE, FORCE_BT_DOCK or FORCE_WIRED_ACCESSORY
values. This CL is complemented by an update of the APM to take into
account the FOR_DOCK usage.
edia/AudioService.java
edia/AudioSystem.java
e30bae7f8ef0489788c155ae44d9a57beca1acf5 07-Dec-2009 Eric Laurent <elaurent@google.com> am b8341cf7: am 6d42d806: Merge change I9cc489a2 into eclair

Merge commit 'b8341cf7c8b0b4af14ea87a4c2335e28865adff1' into eclair-mr2-plus-aosp

* commit 'b8341cf7c8b0b4af14ea87a4c2335e28865adff1':
Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent "error 8" state on future attempts and breaks voice search.
a4dde1da5f8663fea34fe538900e78611cb48f4f 07-Dec-2009 Eric Laurent <elaurent@google.com> am 6d42d806: Merge change I9cc489a2 into eclair

Merge commit '6d42d80653f2c41f3e72a878a1d9a6f9693b89f7' into eclair-plus-aosp

* commit '6d42d80653f2c41f3e72a878a1d9a6f9693b89f7':
Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent "error 8" state on future attempts and breaks voice search.
b8341cf7c8b0b4af14ea87a4c2335e28865adff1 07-Dec-2009 Eric Laurent <elaurent@google.com> am 6d42d806: Merge change I9cc489a2 into eclair

Merge commit '6d42d80653f2c41f3e72a878a1d9a6f9693b89f7' into eclair-mr2

* commit '6d42d80653f2c41f3e72a878a1d9a6f9693b89f7':
Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent "error 8" state on future attempts and breaks voice search.
9cc489a2196e449dbe090ad9bdbc5cedd0b8334f 05-Dec-2009 Eric Laurent <elaurent@google.com> Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent "error 8" state on future attempts and breaks voice search.

Fixed AudioFlinger::openInput() broken in change ddb78e7753be03937ad57ce7c3c842c52bdad65e
so that an invalid IO handle (0) is returned in case of failure.
Applied the same correction to openOutput().
Modified RecordThread start procedure so that a failure occuring during the first read from audio input stream is detected and causes
the record start to fail.
Modified RecordThread stop procedure to make sure that audio input stream fd is closed before we exit the stop function.

Fixed AudioRecord JAVA and JNI implementation to take status of native AudioRecord::start() into account
and not change mRecordingState to RECORDSTATE_RECORDING if start fails.
edia/AudioRecord.java
da32419584d6761bfcbcad6a72275dbc3cea50fe 04-Dec-2009 Ray Chen <raychen@google.com> am 8a576620: am 052d9c8b: Images.Media.DATE_TAKEN should be in milliseconds. http://b/2297371

Merge commit '8a576620cdc7257fc026026c77f7c946bfb760d1' into eclair-mr2-plus-aosp

* commit '8a576620cdc7257fc026026c77f7c946bfb760d1':
Images.Media.DATE_TAKEN should be in milliseconds.
d9fae01d5a26408a41b6260f18a33003c6c7d98f 04-Dec-2009 Ray Chen <raychen@google.com> am 052d9c8b: Images.Media.DATE_TAKEN should be in milliseconds. http://b/2297371

Merge commit '052d9c8b414dc9eb1c70d849660592d9bc3b2644' into eclair-plus-aosp

* commit '052d9c8b414dc9eb1c70d849660592d9bc3b2644':
Images.Media.DATE_TAKEN should be in milliseconds.
8a576620cdc7257fc026026c77f7c946bfb760d1 04-Dec-2009 Ray Chen <raychen@google.com> am 052d9c8b: Images.Media.DATE_TAKEN should be in milliseconds. http://b/2297371

Merge commit '052d9c8b414dc9eb1c70d849660592d9bc3b2644' into eclair-mr2

* commit '052d9c8b414dc9eb1c70d849660592d9bc3b2644':
Images.Media.DATE_TAKEN should be in milliseconds.
052d9c8b414dc9eb1c70d849660592d9bc3b2644 04-Dec-2009 Ray Chen <raychen@google.com> Images.Media.DATE_TAKEN should be in milliseconds.
http://b/2297371
edia/ExifInterface.java
edia/MediaScanner.java
29d503c6cc9df7882859c689d23609a543b24d8a 04-Dec-2009 Ray Chen <raychen@google.com> am 1b794bbb: am e12de4d5: Merge change Id5fa58cf into eclair

Merge commit '1b794bbbdc961558a9f0ee956d9d3f684d1f0497' into eclair-mr2-plus-aosp

* commit '1b794bbbdc961558a9f0ee956d9d3f684d1f0497':
Fix timezone issue to comply with EXIF standard.
1b794bbbdc961558a9f0ee956d9d3f684d1f0497 03-Dec-2009 Ray Chen <raychen@google.com> am e12de4d5: Merge change Id5fa58cf into eclair

Merge commit 'e12de4d5041e05f77cc4376a6bfc953a48e2c3c1' into eclair-mr2

* commit 'e12de4d5041e05f77cc4376a6bfc953a48e2c3c1':
Fix timezone issue to comply with EXIF standard.
3bd0a4843a0738dc68cabf7fb35bab332179d770 03-Dec-2009 Ray Chen <raychen@google.com> am e12de4d5: Merge change Id5fa58cf into eclair

Merge commit 'e12de4d5041e05f77cc4376a6bfc953a48e2c3c1' into eclair-plus-aosp

* commit 'e12de4d5041e05f77cc4376a6bfc953a48e2c3c1':
Fix timezone issue to comply with EXIF standard.
e12de4d5041e05f77cc4376a6bfc953a48e2c3c1 03-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id5fa58cf into eclair

* changes:
Fix timezone issue to comply with EXIF standard.
cb6203cdcbfbcb0c2909964b9173d0a873f086c4 02-Dec-2009 Ray Chen <raychen@google.com> am 9db1a37c: am f27eb326: Merge change I0b6ee9fc into eclair

Merge commit '9db1a37cc48a01a66ee8026de303faaf4a83667d' into eclair-mr2-plus-aosp

* commit '9db1a37cc48a01a66ee8026de303faaf4a83667d':
DATE_TAKEN should be in millisecond instead of second.
9db1a37cc48a01a66ee8026de303faaf4a83667d 02-Dec-2009 Ray Chen <raychen@google.com> am f27eb326: Merge change I0b6ee9fc into eclair

Merge commit 'f27eb3264d4b5d3fd154834a709a9a53cc878b58' into eclair-mr2

* commit 'f27eb3264d4b5d3fd154834a709a9a53cc878b58':
DATE_TAKEN should be in millisecond instead of second.
e77d40834589ec70abcf71d93a82d24ca6e5535b 02-Dec-2009 Eric Laurent <elaurent@google.com> am 5e392e2b: am bb3bb57a: Merge change I524dc046 into eclair

Merge commit '5e392e2b028fb0f92b2efe6de24b60a57cd4c565' into eclair-mr2-plus-aosp

* commit '5e392e2b028fb0f92b2efe6de24b60a57cd4c565':
Fix issue 2192673: Music Pausing Even when notifications are set to silent.
6f762b2d8475f9e2b05340b5300e969718a482e6 02-Dec-2009 Ray Chen <raychen@google.com> am f27eb326: Merge change I0b6ee9fc into eclair

Merge commit 'f27eb3264d4b5d3fd154834a709a9a53cc878b58' into eclair-plus-aosp

* commit 'f27eb3264d4b5d3fd154834a709a9a53cc878b58':
DATE_TAKEN should be in millisecond instead of second.
5e392e2b028fb0f92b2efe6de24b60a57cd4c565 02-Dec-2009 Eric Laurent <elaurent@google.com> am bb3bb57a: Merge change I524dc046 into eclair

Merge commit 'bb3bb57a6330f71323fcd7e93e88dbdab55daec3' into eclair-mr2

* commit 'bb3bb57a6330f71323fcd7e93e88dbdab55daec3':
Fix issue 2192673: Music Pausing Even when notifications are set to silent.
d5fa58cf3d71f2cf94299584050b2698fa3753ec 30-Nov-2009 Ray Chen <raychen@google.com> Fix timezone issue to comply with EXIF standard.
edia/ExifInterface.java
0b6ee9fc5e9da370e31dce686e7062e5d255fcda 30-Nov-2009 Ray Chen <raychen@google.com> DATE_TAKEN should be in millisecond instead of second.
edia/MediaScanner.java
55da000c1d2e0f50bf96953ea967d69b27d70ea3 30-Nov-2009 Eric Laurent <elaurent@google.com> am bb3bb57a: Merge change I524dc046 into eclair

Merge commit 'bb3bb57a6330f71323fcd7e93e88dbdab55daec3' into eclair-plus-aosp

* commit 'bb3bb57a6330f71323fcd7e93e88dbdab55daec3':
Fix issue 2192673: Music Pausing Even when notifications are set to silent.
524dc046b1225087f481878a5c3ae7f733c9f0e2 27-Nov-2009 Eric Laurent <elaurent@google.com> Fix issue 2192673: Music Pausing Even when notifications are set to silent.

Do not play ringtones, notifications or camera sounds if ringer mode is silent.
edia/Ringtone.java
03c185bf763fd2a289131d64e4b14d4a5461d80f 25-Nov-2009 Gloria Wang <gwang@google.com> am c61b0de8: Merge change Id6ccc9bc into eclair-mr2

Merge commit 'c61b0de83bc0c6f7bb1d10bcfc02ab29f3a49caa' into eclair-mr2-plus-aosp

* commit 'c61b0de83bc0c6f7bb1d10bcfc02ab29f3a49caa':
Update documentation: The width of the image for face detection must be even.
d6ccc9bcf0bdbca315d0c57c69f26df975eb5264 25-Nov-2009 Gloria Wang <gwang@google.com> Update documentation: The width of the image for face detection must be even.
edia/FaceDetector.java
15b0bd2e6efd0960c85320b1d7dfae3b8bc4e008 19-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am 4eaf35b9: am a0e37e9d: Merge change I941136fd into eclair

Merge commit '4eaf35b99deb2abbb350383dd6458f1ea12e5bee' into eclair-mr2-plus-aosp

* commit '4eaf35b99deb2abbb350383dd6458f1ea12e5bee':
Fix bug 2271468 Update the javadoc for MediaRecorder.AudioSource
e78c72663eb8450614bbac653a99c83888bbb90c 19-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am a0e37e9d: Merge change I941136fd into eclair

Merge commit 'a0e37e9defea04e8c0d97828db02361fe511c53f' into eclair-plus-aosp

* commit 'a0e37e9defea04e8c0d97828db02361fe511c53f':
Fix bug 2271468 Update the javadoc for MediaRecorder.AudioSource
4eaf35b99deb2abbb350383dd6458f1ea12e5bee 19-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am a0e37e9d: Merge change I941136fd into eclair

Merge commit 'a0e37e9defea04e8c0d97828db02361fe511c53f' into eclair-mr2

* commit 'a0e37e9defea04e8c0d97828db02361fe511c53f':
Fix bug 2271468 Update the javadoc for MediaRecorder.AudioSource
941136fd089d40a80d63fcaf99b4a0bdeb6e349c 19-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2271468 Update the javadoc for MediaRecorder.AudioSource
to define how the two new audio sources behave when used on devices
that don't support them.
edia/MediaRecorder.java
edc1b064ee1da7bca9d9a6114e984962b2633530 18-Nov-2009 Ray Chen <raychen@google.com> am ae9dd9b7: am b3f35041: Merge change I86db22ef into eclair

Merge commit 'ae9dd9b77d37b430459b55120c13553dc5e67cfc' into eclair-mr2-plus-aosp

* commit 'ae9dd9b77d37b430459b55120c13553dc5e67cfc':
Fix issue 2265955 Use dateCreated when dateTaken isn't valid when writing images/videos to database.
ae9dd9b77d37b430459b55120c13553dc5e67cfc 17-Nov-2009 Ray Chen <raychen@google.com> am b3f35041: Merge change I86db22ef into eclair

Merge commit 'b3f35041aa50839e5d8ed3a4ad72e6eef2cb4ea6' into eclair-mr2

* commit 'b3f35041aa50839e5d8ed3a4ad72e6eef2cb4ea6':
Fix issue 2265955 Use dateCreated when dateTaken isn't valid when writing images/videos to database.
1c8270001b4e499ebc6b1277d82237b853961f0d 17-Nov-2009 Ray Chen <raychen@google.com> am b3f35041: Merge change I86db22ef into eclair

Merge commit 'b3f35041aa50839e5d8ed3a4ad72e6eef2cb4ea6' into eclair-plus-aosp

* commit 'b3f35041aa50839e5d8ed3a4ad72e6eef2cb4ea6':
Fix issue 2265955 Use dateCreated when dateTaken isn't valid when writing images/videos to database.
05df33ea748d1c497206302f62886f73c7ff1f93 17-Nov-2009 Ray Chen <raychen@google.com> Fix issue 2265955 Use dateCreated when dateTaken isn't valid when writing images/videos to database.
edia/MediaScanner.java
355743c70d9810fda3e59d718d055f9513fb05b7 13-Nov-2009 Eric Laurent <elaurent@google.com> am 609acfd2: am 1aa9f3ca: Merge change I923d7d72 into eclair

Merge commit '609acfd2a1067f49e51925776484b070a24d8301' into eclair-mr2-plus-aosp

* commit '609acfd2a1067f49e51925776484b070a24d8301':
Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
609acfd2a1067f49e51925776484b070a24d8301 13-Nov-2009 Eric Laurent <elaurent@google.com> am 1aa9f3ca: Merge change I923d7d72 into eclair

Merge commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54' into eclair-mr2

* commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54':
Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
e8302a64c7fb2e12bd04ac70114682c3a1260d03 13-Nov-2009 Eric Laurent <elaurent@google.com> am 1aa9f3ca: Merge change I923d7d72 into eclair

Merge commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54' into eclair-plus-aosp

* commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54':
Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
923d7d721d37f6ba5148e7d79d61a4fa48e79df2 12-Nov-2009 Eric Laurent <elaurent@google.com> Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.

The headset state indicated by HeadsetObserver in the broadcast intent ACTION_HEADSET_PLUG was not 0 or 1 as specified in the java doc but contained a bit field indicating the type of headset connected.

Modified HeadsetObserver to broacast a state conforming to java doc.
Added an extra to intent ACTION_HEADSET_PLUG to indicate if headset has a microphone or not.
Removed handling of non standard headset indications from HeadsetObserver.
Removed platform specific devices from output devices defined in AudioSystem.
Modified AudioService to use new ACTION_HEADSET_PLUG intent extra instead of bitfield in state.
edia/AudioService.java
edia/AudioSystem.java
fa43c063a3263e9c6c7363d62aff7d93a69b5624 06-Nov-2009 Wei-Ta Chen <weita@google.com> am d512a3b3: Merge change Ic1d72f56 into eclair-mr2

Merge commit 'd512a3b3a8d0adb37bd0208181a02c91dc8025fb' into eclair-mr2-plus-aosp

* commit 'd512a3b3a8d0adb37bd0208181a02c91dc8025fb':
Make createThumbnailFromEXIF prefer choosing a thumbnail from the exif
d512a3b3a8d0adb37bd0208181a02c91dc8025fb 06-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic1d72f56 into eclair-mr2

* changes:
Make createThumbnailFromEXIF prefer choosing a thumbnail from the exif to from the full image, if both can generate of a thumbnail of same size.
c1d72f56974c113e01a76c80e673277cbb74c44a 06-Nov-2009 Wei-Ta Chen <weita@google.com> Make createThumbnailFromEXIF prefer choosing a thumbnail from the exif
to from the full image, if both can generate of a thumbnail of same size.
edia/ThumbnailUtil.java
5a76b6dfcb8223cd156a8580fa0fc4ded97983db 06-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am 571529f8: am d94ed379: Merge change I1dc2ae28 into eclair

Merge commit '571529f82159a3205547a61d1b720b695dc066be' into eclair-mr2-plus-aosp

* commit '571529f82159a3205547a61d1b720b695dc066be':
Fix bug 2242585 to unhide the new audio recording sources.
571529f82159a3205547a61d1b720b695dc066be 06-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am d94ed379: Merge change I1dc2ae28 into eclair

Merge commit 'd94ed3794c68b93ac9faa357bb3517f4fae88162' into eclair-mr2

* commit 'd94ed3794c68b93ac9faa357bb3517f4fae88162':
Fix bug 2242585 to unhide the new audio recording sources.
eb918b0da4891b90d1331081be4e9a34bd254970 06-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am d94ed379: Merge change I1dc2ae28 into eclair

Merge commit 'd94ed3794c68b93ac9faa357bb3517f4fae88162' into eclair-plus-aosp

* commit 'd94ed3794c68b93ac9faa357bb3517f4fae88162':
Fix bug 2242585 to unhide the new audio recording sources.
1dc2ae2871aa3e958229e08ccf34099dff2fa402 06-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2242585 to unhide the new audio recording sources.
Unhide CAMCORDER and VOICE_RECOGNITION in android.media.MediaRecorder
edia/MediaRecorder.java
940bc05b38f5295b31fb80e820a98e32200e492f 05-Nov-2009 Wei-Ta Chen <weita@google.com> am 97f96ef9: Merge change I7f9db307 into eclair-mr2

Merge commit '97f96ef9f795e0fe0058251bd696fb4a4d747d3c' into eclair-mr2-plus-aosp

* commit '97f96ef9f795e0fe0058251bd696fb4a4d747d3c':
Modify the behavior of createThumbnailForEXIF() to:
97f96ef9f795e0fe0058251bd696fb4a4d747d3c 05-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I7f9db307 into eclair-mr2

* changes:
Modify the behavior of createThumbnailForEXIF() to: returning SizedThumbnailBitmap, which contains the downsampled bitmap either from the thumbnail in EXIF or the full image.
6706caf937bf39571b8e315d1a1e9ae4c6b27a41 29-Oct-2009 Wei-Ta Chen <weita@google.com> Modify the behavior of createThumbnailForEXIF() to:
returning SizedThumbnailBitmap, which contains the downsampled
bitmap either from the thumbnail in EXIF or the full image.
edia/ThumbnailUtil.java
bd38397bc4f754c040d4abf5435c2469c3357924 04-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am 3d2d155a: am 7ed0ceeb: Merge change I6869df3a into eclair

Merge commit '3d2d155a87cdd3038a2e6df8741181431cb250e1' into eclair-mr2-plus-aosp

* commit '3d2d155a87cdd3038a2e6df8741181431cb250e1':
Add new audio sources to support the A1026 recording configurations.
39995fdf3104b5e7c0cf1306f1b90aea49f56cec 04-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am 7ed0ceeb: Merge change I6869df3a into eclair

Merge commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488' into eclair-plus-aosp

* commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488':
Add new audio sources to support the A1026 recording configurations.
3d2d155a87cdd3038a2e6df8741181431cb250e1 04-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am 7ed0ceeb: Merge change I6869df3a into eclair

Merge commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488' into eclair-mr2

* commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488':
Add new audio sources to support the A1026 recording configurations.
6869df3a5db0ca0037394f0fd14aecc1d80b5b42 04-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> Add new audio sources to support the A1026 recording configurations.
edia/MediaRecorder.java
5fc26f609aaf0a878bd821e9d8df96be025fe2f8 29-Oct-2009 Jean-Michel Trivi <jmtrivi@google.com> am ee507eb5: am 89889733: Merge change I4e83a76a into eclair

Merge commit 'ee507eb560319643946d73627bc7ad3e13591f2a' into eclair-mr2-plus-aosp

* commit 'ee507eb560319643946d73627bc7ad3e13591f2a':
Fix bug 2201417. Whenever the System setting that indicates
a628d54d108b365b66934e4b83aac739ee5ad9cc 29-Oct-2009 Dave Sparks <davidsparks@android.com> am 63733498: am 98de26e0: Merge change I8cc42c52 into eclair

Merge commit '6373349836237abffc3de8a3632234170bc1cfca' into eclair-mr2-plus-aosp

* commit '6373349836237abffc3de8a3632234170bc1cfca':
Add some logging to detect if AsyncPlayer is lagging. Bug 2201082.
ee507eb560319643946d73627bc7ad3e13591f2a 29-Oct-2009 Jean-Michel Trivi <jmtrivi@google.com> am 89889733: Merge change I4e83a76a into eclair

Merge commit '898897338dfd62a268a89fb55ee900a9bd5a683f' into eclair-mr2

* commit '898897338dfd62a268a89fb55ee900a9bd5a683f':
Fix bug 2201417. Whenever the System setting that indicates
6373349836237abffc3de8a3632234170bc1cfca 29-Oct-2009 Dave Sparks <davidsparks@android.com> am 98de26e0: Merge change I8cc42c52 into eclair

Merge commit '98de26e06aeab9d3e6abd92080eec9ad54f537b6' into eclair-mr2

* commit '98de26e06aeab9d3e6abd92080eec9ad54f537b6':
Add some logging to detect if AsyncPlayer is lagging. Bug 2201082.
b029bd69ce58ab6775949aacd6a70abae997b655 28-Oct-2009 Jean-Michel Trivi <jmtrivi@google.com> am 89889733: Merge change I4e83a76a into eclair

Merge commit '898897338dfd62a268a89fb55ee900a9bd5a683f' into eclair-plus-aosp

* commit '898897338dfd62a268a89fb55ee900a9bd5a683f':
Fix bug 2201417. Whenever the System setting that indicates
898897338dfd62a268a89fb55ee900a9bd5a683f 28-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4e83a76a into eclair

* changes:
Fix bug 2201417. Whenever the System setting that indicates whether the notifcation stream uses the ring volume changes, the table of stream volume aliases in AudioService is updated. But the name of the alias stored in VolumeStreamState.mVolumeIndexSettingName was not updated whenever the NOTIFICATIONS_USE_RING_VOLUME setting was updated. This caused the wrong volume setting to be persisted. This change ensures the setting name is updated whenever the volume alias is, and persists the notification volume change right away (instead of after a delay), so that registered observers are notified right away. The notification seekbar in the sound settings is an example of such an observer.
11a74a75653197a3d31fe91590cd8312f5270c44 28-Oct-2009 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2201417. Whenever the System setting that indicates
whether the notifcation stream uses the ring volume changes, the
table of stream volume aliases in AudioService is updated. But the
name of the alias stored in VolumeStreamState.mVolumeIndexSettingName
was not updated whenever the NOTIFICATIONS_USE_RING_VOLUME setting
was updated. This caused the wrong volume setting to be persisted.
This change ensures the setting name is updated whenever the volume
alias is, and persists the notification volume change right away
(instead of after a delay), so that registered observers are notified
right away. The notification seekbar in the sound settings is an
example of such an observer.
edia/AudioService.java
97949b8f8bc1967306e71d2e07ac06ab250bfe74 27-Oct-2009 Dave Sparks <davidsparks@android.com> am 98de26e0: Merge change I8cc42c52 into eclair

Merge commit '98de26e06aeab9d3e6abd92080eec9ad54f537b6' into eclair-plus-aosp

* commit '98de26e06aeab9d3e6abd92080eec9ad54f537b6':
Add some logging to detect if AsyncPlayer is lagging. Bug 2201082.
8cc42c5230eb02db8c28391dd15f83851df4f948 27-Oct-2009 Dave Sparks <davidsparks@android.com> Add some logging to detect if AsyncPlayer is lagging. Bug 2201082.
edia/AsyncPlayer.java
b7463eb0c739d3d28c96c644f98f7f685027b62e 14-Oct-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
34cc52922d4268633b3730dfd73658be6a06a2c5 13-Oct-2009 Ray Chen <raychen@google.com> am b65a90d7: Merge change I73b00501 into eclair-mr2

Merge commit 'b65a90d76ff486208974f0b1dac8e880ba29174b' into eclair-mr2-plus-aosp

* commit 'b65a90d76ff486208974f0b1dac8e880ba29174b':
Check cursor and URI value for nullity to prevent NPE.
73b0050111452a71c9d2aecb10f8089b1061efb5 12-Oct-2009 Ray Chen <raychen@google.com> Check cursor and URI value for nullity to prevent NPE.
edia/ThumbnailUtil.java
7c86fc066a010ed50877ee3066d542f873d762c2 09-Oct-2009 Ray Chen <raychen@google.com> am 23a2d92f: Merge change Ib01005ea into eclair-mr2

Merge commit '23a2d92f2dd122a6f7ba39580b1d7be088ce6de0' into eclair-mr2-plus-aosp

* commit '23a2d92f2dd122a6f7ba39580b1d7be088ce6de0':
Avoid extracting EXIF data for non-JPEG images.
b01005ea21be2aedd0871fb4d41301dd09ef428a 08-Oct-2009 Ray Chen <raychen@google.com> Avoid extracting EXIF data for non-JPEG images.
edia/ThumbnailUtil.java
15097318640591f9e582dbdd57ec0e9d97a7683e 07-Oct-2009 gwang@google.com <gwang@google.com> am 521f4f3a: Merge change I3d6cf8aa into eclair

Merge commit '521f4f3af94e3a093a37af887d3e317a526b61a1' into eclair-plus-aosp

* commit '521f4f3af94e3a093a37af887d3e317a526b61a1':
Fix for bug 2158794. Hide MediaPlayer.invoke() and MediaPlayer.newRequest(), and Fix bad links in ToneGenerator documentation.
38729e69ad641f82ca3bc8b604aeb954a8935ded 07-Oct-2009 Marco Nelissen <marcone@google.com> am c39d2e3c: Music visualizer support hack. This currently assumes 44k stereo (won\'t crash on other formats, but won\'t give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.

Merge commit 'c39d2e3c012fb96999991e30659a474f9f30f789' into eclair-plus-aosp

* commit 'c39d2e3c012fb96999991e30659a474f9f30f789':
Music visualizer support hack.
35a82b6b5be55287589028e1f8874b65f50245f4 07-Oct-2009 Josh Guilfoyle <jasta00@gmail.com> am 1b7ad876: Merge change I6b51a98a into eclair-mr2

Merge commit '1b7ad876f1274787d7609a31e4a2a852adb94c3c' into eclair-mr2-plus-aosp

* commit '1b7ad876f1274787d7609a31e4a2a852adb94c3c':
Fixed issue #4098: Ringtone#getTitle does not close its cursor.
1b7ad876f1274787d7609a31e4a2a852adb94c3c 07-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I6b51a98a into eclair-mr2

* changes:
Fixed issue #4098: Ringtone#getTitle does not close its cursor.
ed2247dc685233b82c7769a5e17f103c1c603ab9 07-Oct-2009 gwang@google.com <gwang@google.com> am 3e655688: am 521f4f3a: Merge change I3d6cf8aa into eclair

Merge commit '3e655688728e352e51dc9718490589f1bfb8622d' into eclair-mr2-plus-aosp

* commit '3e655688728e352e51dc9718490589f1bfb8622d':
Fix for bug 2158794. Hide MediaPlayer.invoke() and MediaPlayer.newRequest(), and Fix bad links in ToneGenerator documentation.
3b49e9b52558b5c45240d098410bd5afbd29e1fe 03-Oct-2009 gwang@google.com <gwang@google.com> Fix for bug 2158794. Hide MediaPlayer.invoke() and MediaPlayer.newRequest(), and Fix bad links in ToneGenerator documentation.
edia/MediaPlayer.java
edia/ToneGenerator.java
6b51a98acbc710a4e1a1656d85bb5d3c92f82fe9 03-Oct-2009 Josh Guilfoyle <jasta00@gmail.com> Fixed issue #4098: Ringtone#getTitle does not close its cursor.

http://code.google.com/p/android/issues/detail?id=4098
edia/Ringtone.java
2c3dc14acb7308570b9d695ba9ac904a9502b043 06-Oct-2009 Marco Nelissen <marcone@google.com> am a97402e1: am c39d2e3c: Music visualizer support hack. This currently assumes 44k stereo (won\'t crash on other formats, but won\'t give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.

Merge commit 'a97402e1cbadbdc874afa9ffdbd23f1c62fb8177' into eclair-mr2-plus-aosp

* commit 'a97402e1cbadbdc874afa9ffdbd23f1c62fb8177':
Music visualizer support hack.
c39d2e3c012fb96999991e30659a474f9f30f789 20-Sep-2009 Marco Nelissen <marcone@google.com> Music visualizer support hack.
This currently assumes 44k stereo (won't crash on other formats, but won't give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.
edia/MediaPlayer.java
336a0ee90fd1dad9874af752c076523313aa0e6b 03-Oct-2009 Josh Guilfoyle <jasta00@gmail.com> Fixed issue #4098: Ringtone#getTitle does not close its cursor.

http://code.google.com/p/android/issues/detail?id=4098
edia/Ringtone.java
943c8e7de682eb0d55167fe4c434e9f1c532a5ae 01-Oct-2009 Dianne Hackborn <hackbod@google.com> am 29e4a3c5: Update from API review.

Merge commit '29e4a3c566f435c32f0b95e4ac8e8b33cac6faba' into eclair-plus-aosp

* commit '29e4a3c566f435c32f0b95e4ac8e8b33cac6faba':
Update from API review.
29e4a3c566f435c32f0b95e4ac8e8b33cac6faba 01-Oct-2009 Dianne Hackborn <hackbod@google.com> Update from API review.

Change-Id: I16b1c566f91167aac9615ac59dd297a154c828ea
edia/ExifInterface.java
a6715ca6f9e2125f2ea5db5cf71714e75618e9fa 01-Oct-2009 Ray Chen <raychen@google.com> am f09edd60: Merge change Id60fa26a into eclair

Merge commit 'f09edd60376f6ad755ebaaf0c1f89f561f78468c' into eclair-plus-aosp

* commit 'f09edd60376f6ad755ebaaf0c1f89f561f78468c':
Fix issue 2152541 thumbnail images stretched.
f09edd60376f6ad755ebaaf0c1f89f561f78468c 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id60fa26a into eclair

* changes:
Fix issue 2152541 thumbnail images stretched.
ef093cd6c4ab4d3c8a1c8be5ed7147d5f06d7027 30-Sep-2009 Ray Chen <raychen@google.com> Fix issue 2152541 thumbnail images stretched.
edia/MiniThumbFile.java
edia/ThumbnailUtil.java
46c5fdf60be5ba31ed7f31da42afdee639cddf15 01-Oct-2009 Eric Laurent <elaurent@google.com> am 3f56d21b: Merge change I89e74ba1 into eclair

Merge commit '3f56d21bf10e0ce866e16112a4ad043c6af1923e' into eclair-plus-aosp

* commit '3f56d21bf10e0ce866e16112a4ad043c6af1923e':
Fix Issue 2158631: AudioService: volume control sometimes not restored after media server process crash.
89e74ba1419732dd5c7f939e48d4aa7989fd3a51 01-Oct-2009 Eric Laurent <elaurent@google.com> Fix Issue 2158631: AudioService: volume control sometimes not restored after media server process crash.

The problem comes from the fact that the AudioSystem callback indicating that the media server is active again is ignored if it is received before the delayed message indicating media server death. This happens if another application or service running in the system server process makes a request to the AudioSystem in the interval between the death of the media server and the reception of the corresponding delayed message.

The fix consists in resetting mMediaServerOk flags immediately when the death callback is received and not when the delayed message is received.
edia/AudioService.java
412933234ad114c0fbb237f068b07821afb6e484 30-Sep-2009 Chih-Chung Chang <chihchung@google.com> am 8bbba0e3: Merge change If5722b3f into eclair

Merge commit '8bbba0e35b0dd5191c94b2aa039aa4eae0aecad0' into eclair-plus-aosp

* commit '8bbba0e35b0dd5191c94b2aa039aa4eae0aecad0':
Dont NPE if the thumbnail file cannot be opened.
8bbba0e35b0dd5191c94b2aa039aa4eae0aecad0 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change If5722b3f into eclair

* changes:
Dont NPE if the thumbnail file cannot be opened.
f5722b3f22e016a8f21c628776cd0746ef164c19 30-Sep-2009 Chih-Chung Chang <chihchung@google.com> Dont NPE if the thumbnail file cannot be opened.
edia/MiniThumbFile.java
efc42d3a5bff6b58b3439b50f318f43c7c1ea1ad 30-Sep-2009 Eric Laurent <elaurent@google.com> am 7d987180: Merge change I19f2928b into eclair

Merge commit '7d9871805beef4ea5e319f1a11ab32f610031845' into eclair-plus-aosp

* commit '7d9871805beef4ea5e319f1a11ab32f610031845':
Fix issue 2141503: Keyclick sound doesn't honor volume settings.
7d9871805beef4ea5e319f1a11ab32f610031845 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I19f2928b into eclair

* changes:
Fix issue 2141503: Keyclick sound doesn't honor volume settings.
a2ef57dba9ac77d8eccacd646b2b8a8d99fe9d8b 28-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 2141503: Keyclick sound doesn't honor volume settings.

Use music stream volume minus 3 dB for sound effects if volume is not explicitly requested by application.
edia/AudioManager.java
edia/AudioService.java
06e5b76667f02e4e45b2689d56d7d0596b4ef477 29-Sep-2009 Ray Chen <raychen@google.com> am 0167263b: Merge change Ide90d0cc into eclair

Merge commit '0167263bf457164a17f612ec551313f1b9e42972' into eclair-plus-aosp

* commit '0167263bf457164a17f612ec551313f1b9e42972':
Unify Java NIO to read/write MiniThumbFile.
ecc97cc9491f40c507e372a30bcd58a9e08066a8 29-Sep-2009 Ray Chen <raychen@google.com> Unify Java NIO to read/write MiniThumbFile.
edia/MiniThumbFile.java
14e8e988cfdd01b665f5b49fb6f95a6c11ce3660 28-Sep-2009 Marco Nelissen <marcone@google.com> am 7d973514: Merge change 27449 into eclair

Merge commit '7d9735142f75c3bf30b420fdd006dc356f32fede' into eclair-plus-aosp

* commit '7d9735142f75c3bf30b420fdd006dc356f32fede':
Always consider m4a files as audio, even when they contain a video track.
7d9735142f75c3bf30b420fdd006dc356f32fede 28-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 27449 into eclair

* changes:
Always consider m4a files as audio, even when they contain a video track.
1851db6804cbdf8d2c8ede0725e73be6fda0f3c0 28-Sep-2009 Marco Nelissen <marcone@google.com> Always consider m4a files as audio, even when they contain a video track.
edia/MediaScanner.java
aa507136493b24a899b270367b08a7158085c9b8 28-Sep-2009 Marco Nelissen <marcone@google.com> am dba93b68: Merge change 27318 into eclair

Merge commit 'dba93b68326f139f669aefa6770d50daff032746' into eclair-plus-aosp

* commit 'dba93b68326f139f669aefa6770d50daff032746':
Check that playlist entries refer to a row in the audio table.
dba93b68326f139f669aefa6770d50daff032746 28-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 27318 into eclair

* changes:
Check that playlist entries refer to a row in the audio table.
d4f3586c93cd9c29056e95cd79f3cb19ac456f3b 28-Sep-2009 Marco Nelissen <marcone@google.com> Check that playlist entries refer to a row in the audio table.
edia/MediaScanner.java
1055e0d830f9e594721ee8e64fa3f2c29dd163dd 27-Sep-2009 Ray Chen <raychen@google.com> am cc96652c: Remove fflush when storing thumbanil to sdcard.

Merge commit 'cc96652c7049569c1bc7b1f93ba454a7cb891fd8' into eclair-plus-aosp

* commit 'cc96652c7049569c1bc7b1f93ba454a7cb891fd8':
Remove fflush when storing thumbanil to sdcard.
cc96652c7049569c1bc7b1f93ba454a7cb891fd8 25-Sep-2009 Ray Chen <raychen@google.com> Remove fflush when storing thumbanil to sdcard.
edia/MiniThumbFile.java
c46f886b63772be33c6e6864475140606a79e126 27-Sep-2009 Marco Nelissen <marcone@google.com> am 0faa5c6c: Merge change 27271 into eclair

Merge commit '0faa5c6c5a6da598fd6cdac3a5c1f1f9a2090ad2' into eclair-plus-aosp

* commit '0faa5c6c5a6da598fd6cdac3a5c1f1f9a2090ad2':
Only scan windows media files when those codecs are enabled.
0ddbc35dc4974fbe18a4191e579b1eda5a7ef2b1 27-Sep-2009 Marco Nelissen <marcone@google.com> Only scan windows media files when those codecs are enabled.
edia/MediaFile.java
d503453ca093a1aac3781cdf6d86fd0700de6600 25-Sep-2009 Ray Chen <raychen@google.com> am 80d8ace4: Merge change 26997 into eclair

Merge commit '80d8ace484525f0272b8a56142ef838f5f4d38e4' into eclair-plus-aosp

* commit '80d8ace484525f0272b8a56142ef838f5f4d38e4':
Fix issue 2128896 The thumbnail generated after picture capture with max zoom is overlapped with previous thumbnail.
343449f018e255fbea1806b394151868a5174e63 25-Sep-2009 Ray Chen <raychen@google.com> Fix issue 2128896 The thumbnail generated after picture capture with max zoom is overlapped with previous thumbnail.
edia/ThumbnailUtil.java
94cdc3d0e2c7f4f001177829f6bbf3b52ce07b98 23-Sep-2009 Ray Chen <raychen@google.com> am 830207ca: Merge change 25635 into eclair

Merge commit '830207cab4047431d7a38443531a3a912bfecf3a' into eclair-plus-aosp

* commit '830207cab4047431d7a38443531a3a912bfecf3a':
Add new thumbnail API.
00c575a3fccb9d3065e913f1b8fcf93e18d44eaf 28-Aug-2009 Ray Chen <raychen@google.com> Add new thumbnail API.
edia/MediaScanner.java
edia/MiniThumbFile.java
edia/ThumbnailUtil.java
1e577ced7dcd973267f38351616d28f8a090f013 22-Sep-2009 Chih-Chung Chang <chihchung@google.com> am 7b7029e0: Merge change 26236 into eclair

Merge commit '7b7029e0325b1a096bdbe5da3f8ec795c2aff9d6' into eclair-plus-aosp

* commit '7b7029e0325b1a096bdbe5da3f8ec795c2aff9d6':
Make media scanner read the jpeg orientation tag.
b8f4725d1bb750e3358a5b5dfcec7b1c5d3b9939 21-Sep-2009 Chih-Chung Chang <chihchung@google.com> Make media scanner read the jpeg orientation tag.
edia/MediaScanner.java
87012028344dae6e9a0b0ad4615797284ce6c83f 18-Sep-2009 Chih-Chung Chang <chihchung@google.com> am f22b7410: Merge change 25464 into eclair

Merge commit 'f22b74103a2ea2fecdb80deb6a0baffa84e66776' into eclair-plus-aosp

* commit 'f22b74103a2ea2fecdb80deb6a0baffa84e66776':
Improve ExifInterface API.
872a30ec723ebdd97de764406544516545d7c9d4 17-Sep-2009 Chih-Chung Chang <chihchung@google.com> Improve ExifInterface API.

Change-Id: Ic6c4df8244b51b9a0d1c73c3797847220d86604d
edia/ExifInterface.java
edia/MediaScanner.java
e525eef4b8e284ac8eb023bd0df4eeed37916d4b 17-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
ea5f767246ad201a9e2bba0d657404e002cd7c70 17-Sep-2009 Jean-Baptiste Queru <jbq@google.com> Update documentation for getVideoWidth and getVideoHeight.

Ref: http://code.google.com/p/android/issues/detail?id=3024
edia/MediaPlayer.java
d5423a9fc8c0caebdd29d1c673cf14725ad7205e 16-Sep-2009 Chih-Chung Chang <chihchung@google.com> am fc5f1026: Merge change 25291 into eclair

Merge commit 'fc5f10265fd676c14554a3c85fb665dfed5efe70' into eclair-plus-aosp

* commit 'fc5f10265fd676c14554a3c85fb665dfed5efe70':
Try to fix sdk build again.
fc5f10265fd676c14554a3c85fb665dfed5efe70 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25291 into eclair

* changes:
Try to fix sdk build again.
8bc2495e5ee83d2815b3e7ed151271dae057db67 16-Sep-2009 Chih-Chung Chang <chihchung@google.com> am de88c515: Merge change 25286 into eclair

Merge commit 'de88c515ce3ba2ca15cfeff632ef80d01bfac4df' into eclair-plus-aosp

* commit 'de88c515ce3ba2ca15cfeff632ef80d01bfac4df':
Fix sdk build.
9081aec61fede12049fa9adbad41a0b35813ed64 16-Sep-2009 Chih-Chung Chang <chihchung@google.com> Try to fix sdk build again.
edia/ExifInterface.java
de88c515ce3ba2ca15cfeff632ef80d01bfac4df 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25286 into eclair

* changes:
Fix sdk build.
7b886f9e8cc6e59643ead376a13c374a4d975568 16-Sep-2009 Chih-Chung Chang <chihchung@google.com> Fix sdk build.
edia/ExifInterface.java
53a673661cebc93649532a716b19cc22497c5bb6 16-Sep-2009 Chih-Chung Chang <chihchung@google.com> am d3ba4811: Merge change 25272 into eclair

Merge commit 'd3ba4811d48e01e85b4faa57da159471022e6daa' into eclair-plus-aosp

* commit 'd3ba4811d48e01e85b4faa57da159471022e6daa':
Make ExifInterface public.
d3ba4811d48e01e85b4faa57da159471022e6daa 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25272 into eclair

* changes:
Make ExifInterface public.
2edbd217af15ce3e1e3632da1e679db5153111b8 16-Sep-2009 Jean-Michel Trivi <jmtrivi@google.com> am b53eaac6: Merge change 25155 into eclair

Merge commit 'b53eaac659f93ae41cac8963c58a12d38e33eac8' into eclair-plus-aosp

* commit 'b53eaac659f93ae41cac8963c58a12d38e33eac8':
Fix bug 2115258 where the AudioManager javadoc doesn't warn against
b53eaac659f93ae41cac8963c58a12d38e33eac8 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25155 into eclair

* changes:
Fix bug 2115258 where the AudioManager javadoc doesn't warn against misuse of some of the methods that should only be used to implement the Settings and Phone apps, and the audio service.
017bb4ccf75375b359662932432cc61bd08fec24 16-Sep-2009 Chih-Chung Chang <chihchung@google.com> Make ExifInterface public.
edia/ExifInterface.java
e1c64f8f14700c5ef090fbbc231b971b9cd6e8de 16-Sep-2009 Chih-Chung Chang <chihchung@google.com> am ccd064d4: Merge change 25255 into eclair

Merge commit 'ccd064d4117bef3fc2a0914f03ccc84a1b50aaa1' into eclair-plus-aosp

* commit 'ccd064d4117bef3fc2a0914f03ccc84a1b50aaa1':
Clean ExifInterface. Prepare to make it public.
700beb484624a9a34649cb6ff088468e78b758ff 16-Sep-2009 Chih-Chung Chang <chihchung@google.com> Clean ExifInterface. Prepare to make it public.

Change-Id: Ibff719d02f525c1e8583d1892737224a0cc42c37
edia/ExifInterface.java
edia/MediaScanner.java
fccb25d2074358c54d4c60eb321aeaa08a5de59a 16-Sep-2009 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2115258 where the AudioManager javadoc doesn't warn against
misuse of some of the methods that should only be used to implement
the Settings and Phone apps, and the audio service.
edia/AudioManager.java
e7eb85cae02375b8bc486d71f429ca0c60980d79 11-Sep-2009 Nick Pelly <npelly@google.com> am 005b228c: API_CHANGE: Cleanup, javadoc and unhide more Bluetooth API.

Merge commit '005b228cdfb369d9b3b325884c0337ba5968bf8c' into eclair-plus-aosp

* commit '005b228cdfb369d9b3b325884c0337ba5968bf8c':
API_CHANGE: Cleanup, javadoc and unhide more Bluetooth API.
005b228cdfb369d9b3b325884c0337ba5968bf8c 10-Sep-2009 Nick Pelly <npelly@google.com> API_CHANGE: Cleanup, javadoc and unhide more Bluetooth API.

This is a large batch, and covers:

-- Bluetooth Device Discovery --
BluetoothAdapter.ACTION_DISCOVERY_STARTED
BluetoothAdapter.ACTION_DISCOVERY_FINISHED
BluetoothAdapter.startDiscovery()
BluetoothAdapter.cancelDiscovery()
BluetoothAdapter.isDiscovering()

-- Bluetooth bonding (pairing) --
BluetoothAdapter.getBondedDevices()
BluetoothDevice.ACTION_BOND_STATE_CHANGED
BluetoothDevice.EXTRA_BOND_STATE
BluetoothDevice.EXTRA_PREVIOUS_BOND_STATE
BluetoothDevice.BOND_NONE
BluetoothDevice.BOND_BONDING
BluetoothDevice.BOND_BONDED
BluetoothDevice.getBondState()
BluetoothDevice.createBond()
BluetoothDevice.cancelBondProcess()
BluetoothDevice.removeBond()

-- BluetoothClass --
BluetoothDevice.ACTION_CLASS_CHANGED
BluetoothDevice.EXTRA_CLASS
BluetoothDevice.getBluetoothClass()
BluetoothClass.Service.*
BluetoothClass.Device.Major.*
BluetoothClass.Device.*
BluetoothClass.getDeviceClass()
BluetoothClass.getMajorDeviceClass()
BluetoothClass.hasService()

-- Misc BluetoothDevice --
BluetoothDevice.ACTION_ACL_CONNECTED
BluetoothDevice.ACTION_ACL_DISCONNECTED_REQUESTED
BluetoothDevice.ACTION_ACL_DISCONNECTED
BluetoothDevice.ACTION_DISCOVERED
BluetoothDevice.ACTION_NAME_CHANGED
BluetoothDevice.EXTRA_DEVICE
BluetoothDevice.EXTRA_NAME
BluetoothDevice.EXTRA_RSSI

-- Misc BluetoothAdapter --
BluetoothAdapter.ACTION_LOCAL_NAME_CHANGED
BluetoothAdapter.EXTRA_LOCAL_NAME
BluetoothAdapter.checkBluetoothAddress()

I deprecated BluetoothIntent and moved each intent into the class it relates
to.

Change-Id: I877b1280428ab46278b2bc25668bb44cda22dc36
edia/AudioService.java
c6f6253ad2095b7d23735ed484706630a080ea8f 10-Sep-2009 Eric Laurent <elaurent@google.com> am f63e3f3c: Merge change 24512 into eclair

Merge commit 'f63e3f3cc8c61bc9eeda980f314795412eb03b79' into eclair-plus-aosp

* commit 'f63e3f3cc8c61bc9eeda980f314795412eb03b79':
Fix issue android.permission.cts.NoAudioPermissionTest:testRouting is failing.
dc1d17a1dbfc2ae01c20012133a836b62f5b6930 10-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue android.permission.cts.NoAudioPermissionTest:testRouting is failing.

Add audio permission checks in setSpeakerphoneOn() and setBluetoothScoOn() methods.
edia/AudioService.java
7ff0d9a60ab6af7025eb283d01158f0fd4736173 09-Sep-2009 James Stokebrand <stokebrand@pv.com> am 16b72bbb: Merge change 24391 into eclair

Merge commit '16b72bbbc985cba7c59f52bf6969b4015f185830' into eclair-plus-aosp

* commit '16b72bbbc985cba7c59f52bf6969b4015f185830':
RIO-7461: Update media scanner to scan AAC files.
a79da2e9b4b57ca72aa9634f80a7a975b9d7a877 09-Sep-2009 James Stokebrand <stokebrand@pv.com> RIO-7461: Update media scanner to scan AAC files.
(Change in frameworks/base git)
edia/MediaScanner.java
d3a31996e6ef915bc25ff67f1f35274447a14862 09-Sep-2009 Eric Laurent <elaurent@google.com> am db603b0b: Merge change 24114 into eclair

Merge commit 'db603b0b2c7c06ea78b8aa0bdc7ea8f08b335c3d' into eclair-plus-aosp

* commit 'db603b0b2c7c06ea78b8aa0bdc7ea8f08b335c3d':
Fix issue 1992233: DTMF tones on Sholes is really long.
96c08a69ea0b95d1d8a8edb67f73bd9548e09f16 07-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 1992233: DTMF tones on Sholes is really long.

Add a parameter to ToneGenerator.startTone() allowing the caller to specify the tone duration. This is used by the phone application to have a precise control on the DTMF tone duration which was not possible with the use of delayed messaged.
Also modified AudioFlinger output threads so that 0s are written to the audio output stream when no more tracks are ready to mix instead of just sleeping. This avoids an issue where the end of a previous DTMF tone could stay in audio hardware buffers and be played just before the beginning of the next DTMF tone.
edia/ToneGenerator.java
be8e36e32b9cb2bb37e28e4c0d414ee0e46c84a2 04-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from donut
5e5288410702ea426c401be19e9221f63532cfe8 03-Sep-2009 Marco Nelissen <marcone@google.com> am e1da8be5: Merge change 23835 into eclair

Merge commit 'e1da8be501e953cdf50b0ba2edf8fe68af8cf2b9' into eclair-plus-aosp

* commit 'e1da8be501e953cdf50b0ba2edf8fe68af8cf2b9':
When encountering a .nomedia file, notify the MediaScannerClient,
e1da8be501e953cdf50b0ba2edf8fe68af8cf2b9 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23835 into eclair

* changes:
When encountering a .nomedia file, notify the MediaScannerClient, so that it can erase the data column for entries that are in the folder containing the .nomedia file. This prevents us from deleting (via a delete trigger) files when somebody adds a .nomedia file after the fact.
8b0466170082fdf12f78d7b70358002520e99e9b 03-Sep-2009 Marco Nelissen <marcone@google.com> When encountering a .nomedia file, notify the MediaScannerClient,
so that it can erase the data column for entries that are in the
folder containing the .nomedia file. This prevents us from
deleting (via a delete trigger) files when somebody adds a
.nomedia file after the fact.
edia/MediaScanner.java
edia/MediaScannerClient.java
7838887af4e63a1d31d98a9c4d31e1c40dabe297 03-Sep-2009 Eric Laurent <elaurent@google.com> am cabd01f4: Merge change 23798 into eclair

Merge commit 'cabd01f42afd0661d6a29217c62353c2eae3149a' into eclair-plus-aosp

* commit 'cabd01f42afd0661d6a29217c62353c2eae3149a':
Fix issue 2097083: STREAM_SYSTEM should be at max volume.
9d85d5adf90e7363304e2d4a22d60a2114bb7ab9 03-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 2097083: STREAM_SYSTEM should be at max volume.

Changed default volume for STREAM_SYSTEM and STREAM_SYSTEM_ENFORCED to the maximum value.
edia/AudioManager.java
85a2c7f1cad8fd55ed72a8a3dbb2b36632ebbff3 01-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
a7bdedabf447a559e0b914e4e5623f3af5ac8ef1 31-Aug-2009 Chih-Chung Chang <chihchung@google.com> Fix 2081525: NPE in MediaScannerService.

Handle the case where the datetime string in jpeg exif is not in the format we expect.

Change-Id: I5462052c3dd723d01bce45f4924137632d081400
edia/ExifInterface.java
72b1f379d5c97c8ff31d2201e78215af777d6bda 31-Aug-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
edia/ExifInterface.java
78333dd750c7353e47163407a662ef39a3c6b24a 27-Aug-2009 Jaikumar Ganesh <jaikumar@google.com> Set Routing to A2DP only when state is Connected.

We were setting the routing to A2DP when the state was Connecting too.
This was incorrect and can cause problems. One such problem was when
handling an incoming connection we set the routing to A2DP before
authorization. And even if authorization succeeds we get out sync with
AVDTP command state.
edia/AudioService.java
6ee9952bc20be72b9419cb653c9e2e833889a3d3 25-Aug-2009 Eric Laurent <elaurent@google.com> Fix issue 2076322: AudioService, too many stream volume steps.

MAX_STREAM_VOLUME[] now contains the maximum valid index instead of the number of indexes for all stream types.
edia/AudioService.java
e1a7ad23e0cefefc1e5c762a3d88179971077dcc 25-Aug-2009 Dianne Hackborn <hackbod@google.com> Fix build.

Change-Id: I7a21bc2151fb2a9a1135f676b563f40609bc997b
edia/MediaRecorder.java
4a51c20ce607c74914f90fd897f04080121ac13b 22-Aug-2009 Dianne Hackborn <hackbod@google.com> I am getting tired of the java doc warnings, so fix them.

Change-Id: I2205eebae419eaf4a0992c9f5b7cd807eb843fe1
edia/AudioManager.java
edia/AudioSystem.java
edia/MediaPlayer.java
edia/MediaRecorder.java
6ab180aa65d2b4f155518af0ac7bb2777f9ce61f 13-Jun-2009 Kenny Root <kenny@the-b.org> Documentation: Clarify that a FileDescriptor must be seekable

In MediaPlayer, methods with an offset specified must be passed a
FileDescriptor that is seekable. This change notes that in the
JavaDoc.
edia/MediaPlayer.java
a56d1c72190462aa9e377906583eceb58e0efcdd 19-Aug-2009 Nick Pelly <npelly@google.com> Fix AudioService on HFP power off due to new Bluetooth API.

HEADSET_STATE_CHANGED_ACTION contains a null BluetoothDevice when the HFP
disconnects.
edia/AudioService.java
bd022f423a33f0794bb53e5b0720da2d67e4631c 15-Aug-2009 Nick Pelly <npelly@google.com> Bluetooth: API change.

Split BluetoothDevice into BluetoothDevice and BluetoothAdapter.

BluetoothAdapter: Represents the local BT adapter. Operations on the local
adapter (start a scan, etc).
BluetoothDevice: Represents a remote BT device. Operations on remote devices
(pair, connect, etc).

IBluetoothDevice.aidl -> Bluetooth.aidl
BluetoothDeviceService.java -> BluetoothDeviceService.java

TODO:
Javadoc
edia/AudioService.java
099397cbd07c8c991f3126d0d0ac64bb6b3c0b47 17-Aug-2009 Chih-Chung Chang <chihchung@google.com> Fix 1860351: Put datetime in jpeg exif to datetaken field.
edia/ExifInterface.java
edia/MediaScanner.java
c9706f0262a2f399f95e0d78ba2b7616e08d0069 14-Aug-2009 Sahil Sachdeva <sahils@google.com> DO NOT MERGE, ALready merged to master.
1440173 [NJ-1331] MetaData utility parse the wrong m4a meta data. Changes to Java, application side.
edia/MediaMetadataRetriever.java
edia/MediaScanner.java
5982013cfc8274ff0bafaba83c676b3a8890cba9 14-Aug-2009 Jared Suttles <jared.suttles@motorola.com> Change the number of volume steps from 6 to 7 per Verizon Requirements

Submitted on behalf of Helen Tran <Helen.Tran@motorola.com>
Signed-off-by: Jared Suttles <jared.suttles@motorola.com>
edia/AudioManager.java
edia/AudioService.java
2ac8c279881a6a12f979f54954cab69c98ba9d98 12-Aug-2009 Wu-cheng Li <wuchengli@google.com> am cb2b2378: Merge change 20729 into donut

Merge commit 'cb2b2378c735e687c15e2af7f908c68ffae5fe90'

* commit 'cb2b2378c735e687c15e2af7f908c68ffae5fe90':
Fix the bug that EXIF attributes are always cached.
ac1e59d887651220f5367cc7fa4207b34eab774d 11-Aug-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
edia/MediaScanner.java
b826bf9182f4636ea891d1da156e26944b784ef7 11-Aug-2009 Wu-cheng Li <wuchengli@google.com> Fix the bug that EXIF attributes are always cached.

b2039501
edia/ExifInterface.java
d5603c126acdd94d9f7400bb1d04188020a425b4 06-Aug-2009 Eric Laurent <elaurent@google.com> AudioService now differentiates BT headsets and car kits.

The BT headset detection now makes the difference between car kits and headsets, which can be used by audio policy manager.
The headset connection is also detected earlier, that is when the headset is connected and not when the SCO socket is connected as it was the case before. This allows the audio policy manager to suspend A2DP output while ringing if a SCO headset is connected.
edia/AudioService.java
20b153bffc57711534c0f581258e06fa86afd67a 03-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> am 5fd26775: Merge change 9390 into donut

Merge commit '5fd26775bdd14b15058521c82e34b562e0c1e327'

* commit '5fd26775bdd14b15058521c82e34b562e0c1e327':
Name unknown albums after the folder they're in, similar to how songs
4935d05eaa306cef88cf0ab13eca386f270409ec 03-Aug-2009 Marco Nelissen <marcone@google.com> Untangle MediaPlayer, MediaRecorder, MediaScanner and MediaMetadataRetriever JNI
code, so that creating one of those doesn't initialize all the others. Shaves
a hundred milliseconds or so off music app startup time.
edia/MediaMetadataRetriever.java
edia/MediaPlayer.java
edia/MediaRecorder.java
edia/MediaScanner.java
5c1207be90fdf296c1b83034b7c68915e1749284 01-Aug-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
edia/JetPlayer.java
c3c08ba5d67d836274fabdf4c1bff6f1053d95a3 01-Aug-2009 Marco Nelissen <marcone@google.com> Name unknown albums after the folder they're in, similar to how songs
with no title metadata are named after the file. Only files that are
in the root of the card will still belong to the "Unknown Album"
edia/MediaScanner.java
ed9584068144adedfdd6d119e2f928da595a1953 31-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am dccfaefd: Merge change 9285 into donut

Merge commit 'dccfaefd681a3895f6d4f9eedd106be817e1555d'

* commit 'dccfaefd681a3895f6d4f9eedd106be817e1555d':
Clear singleton reference during JetPlayer.release()
176e650931b7b03680c233368b92752f4ff3d25b 31-Jul-2009 Phil Dubach <phillipd@google.com> Clear singleton reference during JetPlayer.release()

Only one JetPlayer instance is supported at a time. A singleton reference is
created and returned in JetPlayer.getInstance(). When calling release() on the
instance, the corresponding native player is finalized. Therefore, release()
must also clear the singleton reference, so that any subsequent call to
getInstance() re-initializes the native player.
edia/JetPlayer.java
a8675f67e33bc7337d148358783b0fd138b501ff 29-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
edia/AudioManager.java
edia/AudioService.java
edia/ExifInterface.java
edia/IAudioService.aidl
edia/MediaScanner.java
c42ac9d4d03f62c3a1ba197a28a81fda44bd8b7f 29-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 2019031: Volume changes have no effect.

Send initStreamVolume() for each stream when media server restarts.
Also added restoring of phone state, device connection state and forced device for communications.
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
69f593ccb7414ee98991b1da1a4bfbd9951e3570 28-Jul-2009 Marco Nelissen <marcone@google.com> Support for selection of silent ringtone from the ringtone picker.
This doesn't actually enable that, but adds the necessary code to make it work when enabled, and cleans up some ringtone related code.
edia/RingtoneManager.java
3026a023b8979b7ddcb3fe97bbc45531c89fda92 27-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 2001517: AudioTrack compatibility issue.

Modified enum values in AudioFormat.java and AudioSystem.h.
Added code for backward compatibility in AudioTrack.java and AudioRecord.java.
edia/AudioFormat.java
edia/AudioRecord.java
edia/AudioTrack.java
d25ae67ca8f003ada2881154514523d8614d4b7e 27-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 2004738: Settings Backup Agent consistently throws ArrayIndexOutOfBoundsException during restore.

Use stream alias when accessing VOLUME_SETTINGS array.
edia/AudioService.java
974ff946d114610ec41172fb6076d9d8810c3680 27-Jun-2009 Ravi K Yenduri <yenduri@pv.com> Add support for .aac and .asf extensions.
edia/MediaFile.java
a553c25b33c99b345cf1c8688f8df0ed8df14e5a 17-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1795088 Improve audio routing code

Initial commit for review.
Integrated comments after patch set 1 review.
Fixed lockup in AudioFlinger::ThreadBase::exit()
Fixed lockup when playing tone with AudioPlocyService startTone()
edia/AudioFormat.java
edia/AudioManager.java
edia/AudioRecord.java
edia/AudioService.java
edia/AudioSystem.java
edia/AudioTrack.java
edia/IAudioService.aidl
edia/JetPlayer.java
edia/ToneGenerator.java
bc7269278042e448299c2e80e4dbb16fed05791d 21-Jul-2009 niko <niko@google.com> Added native metadata support.

Metadata.java:
Fixed typo 8k != 8092. The comment was correct though.

In Metadata.h, the new Metadata class is declared in the ns android::media
to limit the chances of conflict with other packages.

The MetadataType in MediaPlayerInterface is gone and moved to Metadata as
an inner typedef.

Similarly the SortedVector<MetadataType> instance have been replace by a
new type Metadata::Filter.

All the keys declared in the java counterpart are also in Metadata.h.

Metadata.cpp:
Contains the implementation of the native metadata packing.

There an associated change in the opencore package that should go in
at the same time as this one.
edia/Metadata.java
cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f 21-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
edia/AudioRecord.java
edia/AudioService.java
edia/AudioTrack.java
edia/MediaPlayer.java
edia/MediaRecorder.java
edia/MediaScanner.java
edia/RingtoneManager.java
edia/ToneGenerator.java
6fa41bbb56e0756d3eac15d6314007e4a450c9d3 20-Jul-2009 niko <niko@google.com> Minor cleanup in Metadata.java

Use a constant to express the size of a 32bits int.

In MediaPlayerMetadataParserTest, removed unused kTocken constant.
edia/Metadata.java
c39173be3237be9f39d2b57bb38249126e183c53 20-Jul-2009 niko <niko@google.com> Fixed a bug in the parser.

When we parse the metadata we check that there is enough data in the parcel by checking
the byte availables and the size in the header.
Since the size is in the header has been read, we should make sure than dataAvailable() >= size - 4

This bug was hidden by some test code which has been removed.
edia/Metadata.java
3e664221b6271cdc403656100187ff2420e1a107 20-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7747

* changes:
Added 3 metadata types for pause/seek forward/seek backward.
b8b117e1e7fffdeb245afd673068924b038d08d6 20-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am a8d5644b: Merge change 7726 into donut

Merge commit 'a8d5644b548263d68e2c9bfff58958b29c3525ff'

* commit 'a8d5644b548263d68e2c9bfff58958b29c3525ff':
Fix issue 1985479 lots of backup NPEs.
a8d5644b548263d68e2c9bfff58958b29c3525ff 18-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7726 into donut

* changes:
Fix issue 1985479 lots of backup NPEs.
ab6ee15f8cd2f34aa5e3f1d84dbd910ce7f49ddd 18-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 474b0f29: Merge change 7686 into donut

Merge commit '474b0f2941430b97b4f24f16f7173e5249ccc8f2'

* commit '474b0f2941430b97b4f24f16f7173e5249ccc8f2':
MediaScanner: Add check for null object in empty title handling code.
716383a686b086f68533a51785ba77186359ce6b 17-Jul-2009 Nicolas Catania <niko@google.com> Added 3 metadata types for pause/seek forward/seek backward.
edia/Metadata.java
fd6e4820c6ee91c9c232a7598c1e45c002b868e7 17-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1985479 lots of backup NPEs.

Check that stream type is not STREAM_BLUETOOTH_SCO before writting to settings.
edia/AudioService.java
da3785ae9f165c2bced1f90e94f428a98c6e6ce7 17-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7624

* changes:
Impl. of the metadata getters.
bdc0e82f9c075edb67da4a2583e557824c280415 17-Jul-2009 Mike Lockwood <lockwood@android.com> MediaScanner: Add check for null object in empty title handling code.

Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/MediaScanner.java
cb2e00eedce99b30faf5f238136a00bc5448c5f2 16-Jul-2009 Nicolas Catania <niko@google.com> Impl. of the metadata getters.

In Metadata, implemented the method that unmarshall the data from
a metadata parcel an return java entities.

Add 2 new types of metadata (Boolean and Date) and fixed an issue
in TimedText: the w3c standard specify a duration as well as the
time to be played => added a duration field.

In MetadataParserTest.java:
Moved the util private methods at the bottom of the file.
Added new tests for the getters (GETTERS section)
edia/Metadata.java
5b3f4578452647d867305dd7f7ccfec761a51b84 17-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 58d19d1f: Merge change 7581 into donut

Merge commit '58d19d1f6321161fdcd10140fe7b9d9053f80bd2'

* commit '58d19d1f6321161fdcd10140fe7b9d9053f80bd2':
Fix bug that would cause files with blank title tags to not be shown in the music app.
55973f1aade915824d2fa7ccab039bcd01a9a80a 16-Jul-2009 Marco Nelissen <marcone@google.com> Fix bug that would cause files with blank title tags to not be shown in the music app.
edia/MediaScanner.java
a5ccb22a3ddb342fe3f7e5493095c6e6dceda60b 15-Jul-2009 Nicolas Catania <niko@google.com> Partial implementation of the parsing of Parcel into Metadata.

In this first cut, a raw parcel is parsed to check that the overall
format is correct.

At the same time, we record the metadata seen and their position in
the parcel for later retrieval using the get* methods.

This means that the 'has' method to check the existence of a metadata
should work.

Removed size and iterator methods. Instead, I added a new method
to give access to the set of keys. The user can make use of the set
to call size(), empty(), iterator() etc...
edia/Metadata.java
5d55c7119820ee9bb06fc072e416fe98ba77cd28 09-Jul-2009 Nicolas Catania <niko@google.com> Basic plumbing to retrieve metadata from the native player.

IMediaPlayer.h
Added a getMetadata method that mirrors the on in MediaPlayer.java.

MediaPlayer.java
Added a native method to get the metadata from the native player.
Parse the parcel into a Metadata object.

Metadata.java
Added a stub to parse the Parcel returned by the native player into
a set of metadata.

android_media_MediaPlayer.cpp
JNI call to forward the getMetadata call.

MediaPlayerService.cpp
MediaPlayerService::Client implements the new getMetadata method added in IMediaPlayer.h
edia/MediaPlayer.java
edia/Metadata.java
c494ba2544699e576370b35b7e94fe09e29d1226 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6636

* changes:
Implemented the metadata changed notification filters.
5e7e8da04d4a7c5bef51cbb1121f956f1496784e 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am b799616d: Merge change 6208 into donut

Merge commit 'b799616d8f0f94e866767fa730f56d82543fb49b'

* commit 'b799616d8f0f94e866767fa730f56d82543fb49b':
Move ExifInterface to android.media package so we can reference it from MediaScanner.
b2c693919be966f179080a9ec70a7a82dbf57627 08-Jul-2009 Nicolas Catania <niko@google.com> Implemented the metadata changed notification filters.

IMediaPlayer:
new setMetadataFilter method so set a filter (2 lists of allowed and blocked metadata type)
serialized in a Parcel.

MediaPlayer.java/android_media_MediaPlayer.cpp/mediaplayer.cpp
new setMetadataFilter that passes the filter down to the MediaPlayerService's binder interface.

MediaPlayerService.cpp
The Client inner class holds the allowed and blocked metadata types.
These are in 2 vectors that get populated in the setMetadataFilter.

A new shourldDropMetadata method returns true if a type of metadata should be dropped according
to the filters.

The notify method in run the metadata update notifications thru the filter and possibly drop them.
edia/MediaPlayer.java
edia/Metadata.java
b799616d8f0f94e866767fa730f56d82543fb49b 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6208 into donut

* changes:
Move ExifInterface to android.media package so we can reference it from MediaScanner. Also hide public constructor and wrap common use cases as atomic operation to avoid race condition in jhead native codes.
9193e08dc1d91401fdf1846eaad4689da3911dc1 06-Jul-2009 Nicolas Catania <niko@google.com> New Metadata API for the MediaPlayer.

MediaPlayer.java
New method getMetadata to fetch metadata from the player.
New method setMetadataFilter to filter metadata notification and fetches.

Metadata.java
Added basic interface. Implementation incomplete.
edia/MediaPlayer.java
edia/Metadata.java
f751c8c2ca3b838330b0b71d43c91192dce42ca3 08-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am e9ac96f7: Merge change 6454 into donut

Merge commit 'e9ac96f76d513d2cee50dfea7d70b14669643ba9'

* commit 'e9ac96f76d513d2cee50dfea7d70b14669643ba9':
Fix issue 1967295: Add a method to request reloading of audio settings by AudioService.
4050c93601b3c3609b21cc1e18a29b64747e7fa9 08-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1967295: Add a method to request reloading of audio settings by AudioService.
edia/AudioManager.java
edia/AudioService.java
edia/IAudioService.aidl
20b03ea70bda3c4fb34e53cdf25cf98c4adb193f 06-Jul-2009 repo sync <raychen@google.com> Move ExifInterface to android.media package so we can reference it from MediaScanner.
Also hide public constructor and wrap common use cases as atomic operation to avoid
race condition in jhead native codes.
edia/ExifInterface.java
edia/MediaScanner.java
fcc5be99e0497f25a12e77622c27b4de30e45b3d 07-Jul-2009 Eric Laurent <elaurent@google.com> am 88e209dc: Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR

Merge commit '88e209dcf8c2ebddda5c272f46d1bd5478bc639c'

* commit '88e209dcf8c2ebddda5c272f46d1bd5478bc639c':
Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR
88e209dcf8c2ebddda5c272f46d1bd5478bc639c 07-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR

Store sample rate on 32 bits instead of 16 bits in audio_track_cblk_t.
Removed sampleRate() methods from AudioTrack and AudioRecord: replaced by getSampleRate().
AudioTrack::setSampleRate() no returns a status.
edia/AudioTrack.java
6231e3a778a4ffe61683abefa2479127f4566d4c 06-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am ef1f21b3: Merge change 6231 into donut

Merge commit 'ef1f21b34f5624adb7436d3da927660ed16c97c7'

* commit 'ef1f21b34f5624adb7436d3da927660ed16c97c7':
Don't trim() in the mediascanner, as that would remove the special "sort first" character.
513d8068b4a34fa83640af924720ac4e89ab11f2 06-Jul-2009 Marco Nelissen <marcone@google.com> am 899725b0: Make sure ringtones are sorted correctly.

Merge commit '899725b05dd5c8c51f9f802d4f0a7190532ce0a5'

* commit '899725b05dd5c8c51f9f802d4f0a7190532ce0a5':
Make sure ringtones are sorted correctly.
73bb511adee5444ecd041146fbbd3677fb635949 06-Jul-2009 Marco Nelissen <marcone@google.com> Don't trim() in the mediascanner, as that would remove the special "sort first" character.
edia/MediaScanner.java
899725b05dd5c8c51f9f802d4f0a7190532ce0a5 06-Jul-2009 Marco Nelissen <marcone@google.com> Make sure ringtones are sorted correctly.
edia/RingtoneManager.java
20cb94eeb5b9672573fc86bf51e09bd66a774581 13-May-2009 Nicolas Catania <niko@google.com> Direct api to the native media player.

MediaPlayer.java has 3 new methods:
* newRequest creates a Parcel that can be used to send data to the
native player using invoke.
* invoke issues synchronous calls to the native player using opaque
parcels for the request and reply.

IMediaPlayer.h has 1 new abstract method:
* invoke

The Midi and Vorbis players have a stub for these. So far only PV
makes use of that new feature.

To avoid any copy overhead, the JNI interface uses Parcel as a java
object (no serialization/copy happens at the JNI layer).

The remote interface token is inserted when the Parcel is constructed
in java. That way the parcel is already routable when it reaches
IMediaPlayer.cpp (proxy). No extra copy is needed there.
edia/MediaPlayer.java
cf01aa3cfff321a774139c054e7cfc262ee27921 23-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 1bee98af: Merge change 5100 into donut

Merge commit '1bee98af6532eba3c6cda636eee890530c95a2a7'

* commit '1bee98af6532eba3c6cda636eee890530c95a2a7':
Fill in CDMA gaps and clean up ToneGenerator code
b6d90ca1292ffab015d5068f9e184b1dc84b7233 17-Jun-2009 David Krause <david.krause@motorola.com> Fill in CDMA gaps and clean up ToneGenerator code
edia/ToneGenerator.java
a877427e2ffdb091801cd6803bb880104c753ef6 16-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 0e3d77af: Merge change 4324 into donut

Merge commit '0e3d77af4ec6cd4961cfb144045ee9dfe479ccf6'

* commit '0e3d77af4ec6cd4961cfb144045ee9dfe479ccf6':
AudioService: Fix routing problem recently introduced in setRouting().
d1f362fe144e6cbcb759fa9086a80adbfe9c7589 16-Jun-2009 Mike Lockwood <lockwood@android.com> AudioService: Fix routing problem recently introduced in setRouting().

Do not disable a route unless routes is zero, to avoid accidentally disabling
if the same route is enabled twice in a row.

Signed-off-by: Mike Lockwood <lockwood@android.com>
edia/AudioService.java
cca860fa6bf35471ea71ed5e14186c81a9a41afc 12-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 3d4b7065: Merge change 4047 into donut

Merge commit '3d4b7065e960cdaecc8d9fd609c2e508a1f9d8f5'

* commit '3d4b7065e960cdaecc8d9fd609c2e508a1f9d8f5':
Fix issue #899198 MODE_RINGER_STREAMS_AFFECTED does not restore volumes correctly
5f80742306d6d66b1641f96b57ad819c3667b18e 12-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am d670b8c6: Merge change 3981 into donut

Merge commit 'd670b8c61ebd13324ac21bdbc08d8a02fc0a765a'

* commit 'd670b8c61ebd13324ac21bdbc08d8a02fc0a765a':
Removed trailing whitespaces.
3d4b7065e960cdaecc8d9fd609c2e508a1f9d8f5 12-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4047 into donut

* changes:
Fix issue #899198 MODE_RINGER_STREAMS_AFFECTED does not restore volumes correctly
9bcf401d13d47416043a704430388abd59aef7cd 12-Jun-2009 Eric Laurent <elaurent@google.com> Fix issue #899198 MODE_RINGER_STREAMS_AFFECTED does not restore volumes correctly

The problem is that setRingerModeInt() does not handle streams not affected by ringer mode: when enabling "Alarm in silent mode" while in silent mode, setRingerModeInt is called after alarm streamis removed from ringer mode affected streams, and nothing is done.

The fix constists in also processing streams that are not affected by ringer mode and to restore last audible volume for them. It does not arm reapplying the volume for streams the are never affected by ringer mode as we don't do this very often.

The other problem noted in the bug report (ringer volume always restored to non zero value when exiting silent mode even if set to zero before) is also fixed: a new parameter is added to setIndex() and setStreamVolumeInt() to explicitely request to store the volume index as last audible instead of doing it automatically if index > 0.
edia/AudioService.java
32f82774884bdd709789ab9f3ccdf5b972ff7681 12-Jun-2009 Nicolas Catania <niko@google.com> Removed trailing whitespaces.
edia/MediaPlayer.java
9da6971d8a10cbe95e2569cabd80ca337deba18c 10-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am faf41044: Merge change 3644 into donut

Merge commit 'faf410443f0c2ab2d30a1c8ce90f83157b5e593b'

* commit 'faf410443f0c2ab2d30a1c8ce90f83157b5e593b':
Print a message to the log when a file can't be opened on the client side.
a2df60598ac0158468ce242498b7bd3cb9383e13 10-Jun-2009 Marco Nelissen <marcone@google.com> Print a message to the log when a file can't be opened on the client side.
edia/MediaPlayer.java
f5b746e15708bea6a8ef5bb7f7cfea03d7415a7f 09-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am b2df1699: Merge change 1548 into donut

Merge commit 'b2df1699c996e62baa78877978cd2c5607ea4194'

* commit 'b2df1699c996e62baa78877978cd2c5607ea4194':
NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).
2bcda90c0234f67f210a96f195b355493ca7d1ff 08-Jun-2009 Jianhong Jiang <jianhong@google.com> NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).
edia/MediaRecorder.java
27b3eaf4de9e093bef27803dcfc6d572be5b08ca 29-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 0f5179c7: Merge change 2716 into donut

Merge commit '0f5179c7d333ddab729b5943766637c21d1b74db'

* commit '0f5179c7d333ddab729b5943766637c21d1b74db':
Update MediaPlayer to allow setVideoSurface calls after prepare. Also allow
0f5179c7d333ddab729b5943766637c21d1b74db 29-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2716 into donut

* changes:
Update MediaPlayer to allow setVideoSurface calls after prepare. Also allow passing a null surface. The API is now enabled to change the surface while the video is playing. This could allow orientation changes during playback or to allow the audio track from a video to play in the background. NOTE: There are still changes required to pmem driver to allow remapping shared physical memory into a process in order for this to work. This change only enables the API to send the appropriate calls when the lower level code supports it.
8b0b174198793cabb2b3fcc015f9bfdc9d5082b5 29-May-2009 Dave Sparks <davidsparks@android.com> Update MediaPlayer to allow setVideoSurface calls after prepare. Also allow
passing a null surface. The API is now enabled to change the surface while
the video is playing. This could allow orientation changes during playback
or to allow the audio track from a video to play in the background.
NOTE: There are still changes required to pmem driver to allow remapping
shared physical memory into a process in order for this to work. This
change only enables the API to send the appropriate calls when the lower
level code supports it.
edia/MediaPlayer.java
a70396cd0a914d61081eb201864e0bb18f478b84 29-May-2009 Android (Google) Code Review <android-gerrit@google.com> am f6355e24: Merge change 2399 into donut

Merge commit 'f6355e24f5382356ea197135fdeff827aabfdb90'

* commit 'f6355e24f5382356ea197135fdeff827aabfdb90':
Motorola additions for CDMA support without CdmaSuppConnTracker
dda5391d5079537e275c9f4ed2637a1484d0e4e8 29-May-2009 Wink Saville <wink@google.com> Motorola additions for CDMA support without CdmaSuppConnTracker

There are corresponding changes to hardware/ril and packages/apps/Phone
that are required to go with these changes.
edia/ToneGenerator.java
c5d0343b677d5ddc2d69fd15b81b084a40ab12ac 26-May-2009 Android (Google) Code Review <android-gerrit@google.com> am de8268d6: Merge change 2331 into donut

Merge commit 'de8268d6d1cd168510c490b17e93154d2eab767c'

* commit 'de8268d6d1cd168510c490b17e93154d2eab767c':
Fix issue 1846343 - part 1
4bc035a65cac177be9294e69f110497e3b6e34e6 22-May-2009 Eric Laurent <elaurent@google.com> Fix issue 1846343 - part 1

This change is the first part of a fix for issue 1846343, :
- Added new enum values for input sources in AudioRecord and MediaRecorder for voice uplink, downlink and uplink+downlink sources.
- renamed streamType to inputSource in all native functions handling audio record.

A second change is required in opencore author driver and android audio input to completely fix the issue.
edia/AudioRecord.java
edia/MediaRecorder.java
843ef36f7b96cc19ea7d2996b7c8661b41ec3452 20-May-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
edia/AudioManager.java
edia/AudioRecord.java
edia/AudioService.java
edia/AudioSystem.java
edia/AudioTrack.java
edia/JetPlayer.java
edia/MediaFile.java
edia/MediaScanner.java
edia/SoundPool.java
edia/ToneGenerator.java
6f3cbac7ebf3e74933e733354afee160475a13c8 19-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 65ff54c4: Merge change 1967 into donut

Merge commit '65ff54c44bbd8c1dd6818d42b7c91c634c644aa9'

* commit '65ff54c44bbd8c1dd6818d42b7c91c634c644aa9':
Document the media scanner's flow through native and java code, since
77f2c4c1f9d1b8b9266a18e8e28fcabdf6599399 19-May-2009 Marco Nelissen <marcone@google.com> Document the media scanner's flow through native and java code, since
I always forget how it works after a while.
edia/MediaScanner.java
4ae6aa232be6c139c725e8bea579947be677840e 14-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 109b21ba: Merge change 1677 into donut

Merge commit '109b21bab5a9eb6c17e067b11784ade36129f24f'

* commit '109b21bab5a9eb6c17e067b11784ade36129f24f':
Findbugs fixes.
d282ac8610f72d964105efefe41120a5340f1ce0 14-May-2009 Marco Nelissen <marcone@google.com> Findbugs fixes.
edia/AudioManager.java
edia/MediaFile.java
edia/SoundPool.java
56b7eeaa01fa34de1dad1b113f5355e999ee1d10 07-May-2009 The Android Open Source Project <initial-contribution@android.com> manual merge f3af740bdfc261b1cb25c0799af780d3753d4518

Merge commit 'f3af740bdfc261b1cb25c0799af780d3753d4518'
761daf7550c256258886824fdb939b352c5fd08c 07-May-2009 The Android Open Source Project <initial-contribution@android.com> manual merge for b9c9d260f21b321527c4622a123af9767630d94d

Merge commit 'b9c9d260f21b321527c4622a123af9767630d94d'
f3af740bdfc261b1cb25c0799af780d3753d4518 05-May-2009 Eric Laurent <elaurent@google.com> Fixed issue 1709450: Requirements for CDMA Tone Generator

Added new tone types for CDMA IS-95 specific tones.
Automatic selection between IS-95, CEPT and JAPAN version base on operator
country code for call supervisory tones.
Also improved tone generator capabilities:
- Each tone segment can now generate its own set of frequencies
- A tone does not have to be a succession of alternating ON/OFF segments
- The sequence repetition does not have to start from first segment
edia/ToneGenerator.java
b9c9d260f21b321527c4622a123af9767630d94d 06-May-2009 Eric Laurent <elaurent@google.com> fix issue 1713090: After a Bluetooth call, MusicPlayer starts playing on speaker rather than wired external audio.

Temporary fix until audio routing is refactored in Eclair release:
- centralized and synchronized all audio routing control in AudioService.setRouting()
- deprecated AudioManager.setRouting() and AudioManager.getRouting() methods
edia/AudioManager.java
edia/AudioService.java
74008f608af0c567456d37e63d48643689388c74 23-Apr-2009 Jean-Baptiste Queru <jbq@google.com> Merge donut into master
9f0b1a48506af8e18162f62570561135b65a4ed1 22-Apr-2009 Marco Nelissen <marcone@google.com> Do case-insensitive matching when determining whether something is music, an alarm sound, notification sound, etc.
edia/MediaScanner.java
ef02827d4c3b9c0601eddc9c348fc2ea866420a2 21-Apr-2009 Eric Laurent <elaurent@google.com> Fix issue 1745312: Various cleanups in media framework

AudioTrack, AudioRecord:
- remove useless mAudioFlinger member of AudioTrack and AudioRecord.
- signal cblk.cv condition in stop() method to speed up stop completion.
- extend wait condition timeout in obtainBuffer() when waitCount is -1 to avoid waking up callback thread unnecessarily

AudioFlinger:
- remove some warnings in AudioFlinger.cpp.
- remove function AudioFlinger::MixerThread::removetrack_l() as its content is never executed.
- remove useless call to setMasterVolume in AudioFlinger::handleForcedSpeakerRoute().
- Offset VOICE_CALL stream volume to reflect actual volume that is never 0 in hardware (this fix has been made in the open source): 0.01 + v * 0.99.

AudioSystem.java:
- correct typo in comment

IAudioflinger, IAudioFlingerClient:
- make AudioFlinger binder interfaces used for callbacks ONEWAY.

AudioHardwareInterface:
- correct routeStrings[] table in AudioHardwareInteface.cpp
edia/AudioSystem.java
f3af6a0267dff0acacdeebf646f2b8647b1f7199 21-Apr-2009 Jean-Michel Trivi <> AI 147036: am: CL 147035 am: CL 147032 Finalize JetPlayer javadoc.
Original author: jmtrivi
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 147036
edia/JetPlayer.java
6fb5a1d0ee18b2d94340f3b35f86ad7319f3a11c 21-Apr-2009 Jean-Michel Trivi <> AI 147035: am: CL 147032 Finalize JetPlayer javadoc.
Original author: jmtrivi
Merged from: //branches/cupcake/...

Automated import of CL 147035
edia/JetPlayer.java
954bbe9fa356175f9019d51227c47cd48a077fb9 20-Apr-2009 Jean-Michel Trivi <> AI 146941: am: CL 146938 am: CL 146937 Finalize AudioRecord javadoc.
Original author: jmtrivi
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 146941
edia/AudioRecord.java
ea63a41d269abd25d070c9fc9c5a249763cb549d 20-Apr-2009 Jean-Michel Trivi <> AI 146938: am: CL 146937 Finalize AudioRecord javadoc.
Original author: jmtrivi
Merged from: //branches/cupcake/...

Automated import of CL 146938
edia/AudioRecord.java
1bc5c2645df96b22385f2cdb63a92576e388350e 19-Apr-2009 Dave Sparks <> AI 146833: am: CL 146755 am: CL 146754 Fix some problems in the SoundPool docs and add additional text.
Original author: davidsparks
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 146833
edia/SoundPool.java
3946a2b75b36cbdd1ac4d67d16dafdbabc8d2055 19-Apr-2009 Jean-Michel Trivi <> AI 146832: am: CL 146752 am: CL 146751 Finalize AudioTrack javadoc.
Original author: jmtrivi
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 146832
edia/AudioTrack.java
32346a89c3b40a4f87186550d0ed2d75ced6f42c 19-Apr-2009 Dave Sparks <> AI 146671: am: CL 146668 am: CL 146667 Add advice in MediaRecorder Java docs about using MPEG-4 container format
Original author: davidsparks
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 146671
edia/MediaRecorder.java
40a9d1608766b5ddcb2bf837e9dd1b556bcfde47 19-Apr-2009 Dave Sparks <> AI 146658: am: CL 146655 am: CL 146654 Add java docs for SoundPool
Original author: davidsparks
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 146658
edia/SoundPool.java
6cb9900e6f884adb6c9aa0243f2bf88985f671f8 17-Apr-2009 Dave Sparks <> AI 146755: am: CL 146754 Fix some problems in the SoundPool docs and add additional text.
Original author: davidsparks
Merged from: //branches/cupcake/...

Automated import of CL 146755
edia/SoundPool.java
ff14c25339da3f6cd86edd66ef42640e6d0c0787 17-Apr-2009 Jean-Michel Trivi <> AI 146752: am: CL 146751 Finalize AudioTrack javadoc.
Original author: jmtrivi
Merged from: //branches/cupcake/...

Automated import of CL 146752
edia/AudioTrack.java
2170312ab0b6766e8b73b806efbe6abdbb702bbc 17-Apr-2009 Dave Sparks <> AI 146668: am: CL 146667 Add advice in MediaRecorder Java docs about using MPEG-4 container format
Original author: davidsparks
Merged from: //branches/cupcake/...

Automated import of CL 146668
edia/MediaRecorder.java
6cb76f6c238afdad0b37628a003c7d88186b5c2f 17-Apr-2009 Dave Sparks <> AI 146667: Add advice in MediaRecorder Java docs about using MPEG-4 container format
BUG=1753020

Automated import of CL 146667
edia/MediaRecorder.java
cef302d0950a02fdc6920475d0c357d3949e85c3 17-Apr-2009 Dave Sparks <> AI 146655: am: CL 146654 Add java docs for SoundPool
Original author: davidsparks
Merged from: //branches/cupcake/...

Automated import of CL 146655
edia/SoundPool.java
b1520e9333efdcc6ce3605be7c02bd0f0c9a0139 17-Apr-2009 Dave Sparks <> AI 146654: Add java docs for SoundPool
BUG=1795461

Automated import of CL 146654
edia/SoundPool.java
935ae463d495d41155e27feb849768ad2b8b16db 14-Apr-2009 Dianne Hackborn <> AI 145994: Integrate #145778 from Donut.

Automated import of CL 145994
edia/RingtoneManager.java
3156bb00dd3ab3d6ec732bb6a64a2e84d08c34f0 13-Apr-2009 Patrick Scott <> AI 145870: Add a build property for the default alarm alert. Update the various
framework classes to deal with the new property. Also update various
documentation that mentions the default ringtones.
Use the build property as the default alert when the user has not chosen
an alert for an alarm. This is also used if the alarm alert is null when
the alarm fires.
BUG=1723684

Automated import of CL 145870
edia/MediaScanner.java
edia/RingtoneManager.java
f8a7ceaef2e7d5cd530c9426bde91b6fa9a40b75 11-Apr-2009 Andy Stadler <> AI 145778: Manual merge changes 145382-145384 from cupcake.

Automated import of CL 145778
edia/RingtoneManager.java
48276ab989a4d775961ce30a43635a317052672a 09-Apr-2009 Dianne Hackborn <> AI 145383: API review: clean up a bunch of @hides that have been pending API review.
Either expose them, or official hide them with an explanation for why.
BUG=1779439

Automated import of CL 145383
edia/RingtoneManager.java
26a857e18198548417ec9fd871f0a322b648b226 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/master/...@142377,142377
edia/JetPlayer.java
3d78f9ab080c582443d1b78d933c899b52588fb2 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/donutburger/...@142376,142376
edia/JetPlayer.java
4a0029f95db144ba735b35e636400e8ce535383f 25-Mar-2009 Niko Catania <> Automated import from //branches/donutburger/...@141213,141213
edia/MediaPlayer.java
a06f6e328dd969699b1dcf347476d31a76a0f9fb 25-Mar-2009 Niko Catania <> Automated import from //branches/master/...@141214,141214
edia/MediaPlayer.java
cb80d9fd97a4e188f0befc2721eea6a5c92a5047 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/cupcake/...@142374,142374
edia/JetPlayer.java
d01721d5ca5bfa943760ed61cc99ca1ffc044c50 25-Mar-2009 Niko Catania <> Automated import from //branches/donutburger/...@140811,140811
edia/AudioTrack.java
70322464af6c08624667cd37bb252053673f2e63 25-Mar-2009 Niko Catania <> Automated import from //branches/master/...@140812,140812
edia/AudioTrack.java
1a9f7399bb32c81ad5cc8c9d74ab3065b4a150ac 25-Mar-2009 Niko Catania <> Automated import from //branches/donutburger/...@140800,140800
edia/AudioService.java
5f44349c1239fdce883ae0d79e9990455a16e04a 25-Mar-2009 Niko Catania <> Automated import from //branches/master/...@140804,140804
edia/AudioService.java
a5e5643d5d022b59f37cae7f7dec8b24fe9510c1 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/master/...@140567,140567
edia/AudioRecord.java
470f71f4a4d6d3a504b62473bd435bf80493414f 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/donutburger/...@140566,140566
edia/AudioRecord.java
3ff637187ab528137fb1fd82875ce08383265edb 25-Mar-2009 Jason Parekh <> Automated import from //branches/master/...@140509,140509
edia/AudioService.java
b109615ebebd6f3b9ae789412279f576c3ace46b 25-Mar-2009 Jason Parekh <> Automated import from //branches/donutburger/...@140507,140507
edia/AudioService.java
c2ad241504fcaa12d4579d3b0b4038d1ca8d08c9 20-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@141571
edia/AudioRecord.java
edia/AudioService.java
edia/AudioTrack.java
edia/MediaPlayer.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
edia/AudioManager.java
edia/AudioTrack.java
edia/JetPlayer.java
edia/MediaPlayer.java
edia/MediaRecorder.java
ba87e3e6c985e7175152993b5efcc7dd2f0e1c93 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
edia/MediaRecorder.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
edia/MediaPlayer.java
4df2423a947bcd3f024cc3d3a1a315a8dc428598 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
edia/AudioTrack.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
rm/mobile1/DrmConstraintInfo.java
rm/mobile1/DrmException.java
rm/mobile1/DrmRawContent.java
rm/mobile1/DrmRights.java
rm/mobile1/DrmRightsManager.java
rm/mobile1/package.html
edia/AmrInputStream.java
edia/AsyncPlayer.java
edia/AudioFormat.java
edia/AudioManager.java
edia/AudioRecord.java
edia/AudioService.java
edia/AudioSystem.java
edia/AudioTrack.java
edia/FaceDetector.java
edia/IAudioService.aidl
edia/IMediaScannerListener.aidl
edia/IMediaScannerService.aidl
edia/JetPlayer.java
edia/MediaFile.java
edia/MediaMetadataRetriever.java
edia/MediaPlayer.java
edia/MediaRecorder.java
edia/MediaScanner.java
edia/MediaScannerClient.java
edia/MediaScannerConnection.java
edia/ResampleInputStream.java
edia/Ringtone.java
edia/RingtoneManager.java
edia/SoundPool.java
edia/ToneGenerator.java
edia/package.html
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
rm/mobile1/DrmConstraintInfo.java
rm/mobile1/DrmException.java
rm/mobile1/DrmRawContent.java
rm/mobile1/DrmRights.java
rm/mobile1/DrmRightsManager.java
rm/mobile1/package.html
edia/AmrInputStream.java
edia/AsyncPlayer.java
edia/AudioFormat.java
edia/AudioManager.java
edia/AudioRecord.java
edia/AudioService.java
edia/AudioSystem.java
edia/AudioTrack.java
edia/FaceDetector.java
edia/IAudioService.aidl
edia/IMediaScannerListener.aidl
edia/IMediaScannerService.aidl
edia/JetPlayer.java
edia/MediaFile.java
edia/MediaMetadataRetriever.java
edia/MediaPlayer.java
edia/MediaRecorder.java
edia/MediaScanner.java
edia/MediaScannerClient.java
edia/MediaScannerConnection.java
edia/ResampleInputStream.java
edia/Ringtone.java
edia/RingtoneManager.java
edia/SoundPool.java
edia/ToneGenerator.java
edia/package.html
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
edia/AudioRecord.java
edia/AudioTrack.java
edia/JetPlayer.java
edia/MediaMetadataRetriever.java
edia/MediaPlayer.java
edia/MediaRecorder.java
edia/Ringtone.java
edia/SoundPool.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
edia/AudioRecord.java
edia/AudioTrack.java
edia/JetPlayer.java
edia/MediaMetadataRetriever.java
edia/MediaPlayer.java
edia/MediaRecorder.java
edia/Ringtone.java
edia/SoundPool.java
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
edia/AsyncPlayer.java
edia/AudioManager.java
edia/AudioService.java
edia/AudioTrack.java
edia/IAudioService.aidl
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
edia/AudioManager.java
edia/AudioRecord.java
edia/AudioService.java
edia/AudioTrack.java
edia/MediaRecorder.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
edia/AudioFormat.java
edia/AudioManager.java
edia/AudioRecord.java
edia/AudioService.java
edia/AudioSystem.java
edia/AudioTrack.java
edia/JetPlayer.java
edia/MediaFile.java
edia/MediaPlayer.java
edia/MediaRecorder.java
edia/MediaScanner.java
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
edia/AudioManager.java
edia/AudioTrack.java
edia/JetPlayer.java
edia/MediaMetadataRetriever.java
edia/ResampleInputStream.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
edia/AmrInputStream.java
edia/AudioFormat.java
edia/AudioManager.java
edia/AudioRecord.java
edia/AudioService.java
edia/AudioSystem.java
edia/AudioTrack.java
edia/MediaMetadataRetriever.java
edia/MediaPlayer.java
edia/MediaRecorder.java
edia/MediaScanner.java
edia/Ringtone.java
edia/RingtoneManager.java
edia/SoundPool.java
e70cfafe580c6f2994c4827cd8a534aabf3eb05c 21-Nov-2008 Jean-Baptiste Queru <jbq@google.com> Change ROUTE_ALL from 15 (4-bit mask) to -1 (32-bit mask) to allow for more routes in the future.
edia/AudioSystem.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
rm/mobile1/DrmConstraintInfo.java
rm/mobile1/DrmException.java
rm/mobile1/DrmRawContent.java
rm/mobile1/DrmRights.java
rm/mobile1/DrmRightsManager.java
rm/mobile1/package.html
edia/AsyncPlayer.java
edia/AudioManager.java
edia/AudioService.java
edia/AudioSystem.java
edia/FaceDetector.java
edia/IAudioService.aidl
edia/IMediaScannerListener.aidl
edia/IMediaScannerService.aidl
edia/MediaFile.java
edia/MediaMetadataRetriever.java
edia/MediaPlayer.java
edia/MediaRecorder.java
edia/MediaScanner.java
edia/MediaScannerClient.java
edia/MediaScannerConnection.java
edia/Ringtone.java
edia/RingtoneManager.java
edia/SoundPool.java
edia/ToneGenerator.java
edia/package.html