• Home
  • History
  • Annotate
  • only in /frameworks/base/media/java/android/media/
History log of /frameworks/base/media/java/android/media/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6cad6513e0058467d11f4cf99519cf79eb65d48f 06-Feb-2015 Chong Zhang <chz@google.com> Merge "reset col position to 1 on row PAC" into lmp-mr1-dev
6286f8ec05ff213f52169a6828aaae3ffd1f20ca 06-Feb-2015 Chong Zhang <chz@google.com> reset col position to 1 on row PAC

bug: 19284568
Change-Id: I7d439027ab6411bcd5c149580babee80dc5f9478
losedCaptionRenderer.java
b561ccedd89f92b249c06522e960b135a02107d8 30-Jan-2015 Wonsik Kim <wonsik@google.com> audio: allow audio port cache update even when audio patches contain invalidated sources/sinks

When an audio device disconnects from Android, custom audio patches
containing the device become invalidated.
AudioManager::updateAudioPortCache() used to fail in that case, but
it causes onAudioPortListUpdated() event never gets called so that
the creator of the custom audio patch cannot update it. Let
updateAudioPortCached() succeed even in the case so that the entity
that created the audio patch can get notified.

Bug: 18909299
Change-Id: If4f6ed73f69213d792117fb42aec103ae2e50b79
udioManager.java
4fb442617cdea52b11ed622b5cf0490337928ec1 23-Jan-2015 Lajos Molnar <lajos@google.com> ImageReader: add support for compatible flexYUV buffers

Bug: 17906609
Change-Id: Ia21aff632b9a92f4e391b3917a7774af46fd81a0
mage.java
711914421896ad15ab3c944c3adc838ac67cf2a6 29-Jan-2015 Jae Seo <jaeseo@google.com> TIF: Do not call session callbacks when the session is already released

Bug: 19146382
Change-Id: I5592d4bf033478e5e5e1013bd2ad5ea572df44dd
v/TvInputService.java
c525cf7a33430f44246f63d1c68c4cda4b92254e 23-Jan-2015 Matthew Xie <mattx@google.com> Delay the second message for 30ms more than the last message for a2dp

In function setBluetoothA2dpDeviceConnectionState, current code calculate
the delay of the second state update message to be exactly the same as the
last delayed messages. This causes a problem that the sequence of the
messages may be altered.
Bug: 19036411

Change-Id: I35762873fd3341ec098dd229ac96bd42d6f34195
udioService.java
267603f3bbf7a6a707aaf055297ae0c3afae51d8 20-Jan-2015 Christopher Tate <ctate@google.com> Don't launch broadcast receiver processes during boot

Broadcasts that might be sent before the boot process has completed must
be restricted to registered receivers, at least while still in the
middle of booting.

Bug 19060618

Change-Id: Ib4e0990cf252f34344f7a0bd19a0e72919013e0f
udioService.java
f076db407029e734703d8676f806bea94393e824 14-Jan-2015 Eric Laurent <elaurent@google.com> AudioManager: make AudioPortEventHandler static

Make AudioPortEventHandler and audio port and patch caches
static members of AudioManager. There is only one callback
per process in AudioSystem for audio port updates
and having those non static would not work when more than
one AudioManager instance exists in one app.

Bug: 18727023.
Change-Id: I4c1041dc6441d168be4efa066e14289cc5f41872
udioManager.java
udioPortEventHandler.java
4fb3b602156d093c1082be88f2f016f3a791a978 13-Jan-2015 Eric Laurent <elaurent@google.com> AudioService: handle stream mute by stream alias

Handle stream mute/unmute requests at the stream
alias level (like is done volume changes) to be consistent.
E.g a request to mute/unmute a stream will affect all streams
sharing the same alias for volume management.

Bug: 18844550.
Change-Id: Ie2e463c58df0371589150f0ebb9b36c38b14e1be
udioService.java
695233fe83152832db26e123aabde850850c4333 12-Jan-2015 Eric Laurent <elaurent@google.com> Merge "AudioService: send connection intent for HDMI ARC device" into lmp-mr1-dev
6d3cff12648f8ca3bcc0ac190d1d6d2e49514b66 10-Jan-2015 Rachad <rachad@google.com> Merge "MediaCodec: Added E-AC3 mime type (@hide)." into lmp-mr1-dev
6fa4245589c93025d91aab7dc6681babdd91ee41 10-Jan-2015 Eric Laurent <elaurent@google.com> AudioService: send connection intent for HDMI ARC device

Bug: 18921279.
Change-Id: I1e23b5aed7a2835feb0fea2a412f3622c01cbe55
udioService.java
af84e073bce12c6ae0c737339804e96314bb663d 24-Dec-2014 John Spurlock <jspurlock@google.com> Merge "Audio Policy: Clear calling identity for all paths setting ringer mode." into lmp-mr1-dev
6564f5be74f7c2cd1db5c5c5693338c613c2074e 24-Dec-2014 Rachad <rachad@google.com> MediaCodec: Added E-AC3 mime type (@hide).

Bug: 17883772
Change-Id: I48b2ab64812d860bb1a01d0a14e10690b86c4519
ediaFormat.java
af88a19165a1de77948d58b2692c9a7e13712a59 23-Dec-2014 John Spurlock <jspurlock@google.com> Audio Policy: Clear calling identity for all paths setting ringer mode.

For proper appops bookkeeping and zen setting changes.

Bug: 18832923
Change-Id: Ic029d3226458ca1a9229a0bc5726bedd5e117ad7
udioService.java
996af72b0c2c161e66cee00560e5ba00459f39bf 22-Dec-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioRecord: filter attributes" into lmp-mr1-dev
43bcd8fa74711dddfc27d696e7b9c0a9c4beff08 19-Dec-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioRecord: filter attributes

When creating an AudioRecord instance, filter the tags in the
AudioAttributes to remove tags that are handled at the Java
layer.

Bug: 18733215
Bug: 18736417

Change-Id: I16a3497742086deced4e8677bd6231290396c5f6
udioRecord.java
8d24fe235a6e8f44e32a56a05ab36ed5b35385df 19-Dec-2014 Eric Laurent <elaurent@google.com> Merge "AudioService: fix permission check." into lmp-mr1-dev
69fd01d3e6e8e94eafdb6d424f92a32ada93096d 19-Dec-2014 Oliver Woodman <olly@google.com> Merge "MediaSessionLegacyHelper uses global Application context" into lmp-mr1-dev
38edfda9bdd282228db08e3cc449b554b8744625 19-Dec-2014 Eric Laurent <elaurent@google.com> AudioService: fix permission check.

Clear caller identity before calling TelecomManager.isInCall().

Bug: 18702149.
Change-Id: Ie057f3f261fc0a36dff51840cc8390408621d3bd
udioService.java
9b5257c9c99c4cb541d8e8e78fb04f008b1a9091 19-Dec-2014 Jean-Michel Trivi <jmtrivi@google.com> MediaSessionLegacyHelper uses global Application context

MediaSessionLegacyHelper used a Context passed by an application
which can cause a leak of Activity instances. Use the global
Application context instead.
Also prevent crash if a null Context is supplied (method not
documented as requesting a non-null Context).

Bug 18767503

Change-Id: I8281047d0af233a323f3fc11ababedff848829ec
ession/MediaSessionLegacyHelper.java
57627794b682235afd60adfb235fee46d32f54e2 11-Dec-2014 John Spurlock <jspurlock@google.com> Audio policy: Fix deprecated shouldVibrate api.

And apply zen mode immediately to avoid race conditions
in tests.

Bug: 18702149
Change-Id: Iad156a29b9e6a5998e7c2dafa8b79a71447066f9
udioService.java
a2bc055eeb240c1787e7ad9755ffd4f106bdbb63 14-Dec-2014 Jinsuk Kim <jinsukkim@google.com> Merge "audioservice: Clear calling identity upon calling HdmiControlService" into lmp-mr1-dev
bb177db1fe39f0855f79c15195ae837d87479636 12-Dec-2014 Chong Zhang <chz@google.com> Merge "parse bitrate range for video/audio caps" into lmp-mr1-dev
216e11dcbb4d56699c1740c801489be0d57b16c4 12-Dec-2014 Chong Zhang <chz@google.com> parse bitrate range for video/audio caps

Bug: 18684228
Change-Id: Ib5c3682bb1dfa338b99352ea040edcb99d86ef0b
ediaCodecInfo.java
48cbf292ba9ad550af7e44d950a441b1812428e2 12-Dec-2014 Jinsuk Kim <jinsukkim@google.com> audioservice: Clear calling identity upon calling HdmiControlService

This makes sure that accessing the HdmiControlService via audio service
should be possible without the system permission.

Bug: 18730526
Change-Id: I05b364d8e38218eb75f3c08972a06bb2d71a982b
udioService.java
65bc1125b4bdb0e982b37e76ab8a9a66adefd2e0 10-Dec-2014 Eric Laurent <elaurent@google.com> Merge "AudioSystem JNI: Add audio policy custom mixes registration" into lmp-mr1-dev
c6de3212c2dd8638bf3150719ed331673fdcab06 10-Dec-2014 Michael Wright <michaelwr@google.com> Merge "Don't try to scale the bitmaps for null MediaMetadata." into lmp-mr1-dev
1102e712c11e7679da89a2f66288ca4fad4df85c 10-Dec-2014 Jeff Sharkey <jsharkey@android.com> Merge "Throw IOException when missing default ringtone." into lmp-mr1-dev
87d76f6a3e407925c40bdebbfe851919cca58e68 10-Dec-2014 Jeff Sharkey <jsharkey@android.com> Throw IOException when missing default ringtone.

This is caught by Ringtone, and we then fall back to built-in
ringtone, which matches the expected CTS behavior.

Bug: 18610451
Change-Id: I234d17f7cf623b9b0af434e5d367aed28f203b14
ediaPlayer.java
ingtone.java
3ef5033cdacbc44702d0b6ba687e81383348e2fd 10-Dec-2014 Ruben Brunk <rubenbrunk@google.com> Merge "Camera2: Allow rendering to arbitrary surface sizes in LEGACY mode." into lmp-mr1-dev
f32bd3c5cd8bd2c00f52ea32d7481c30e29d2acc 09-Dec-2014 Michael Wright <michaelwr@google.com> Don't try to scale the bitmaps for null MediaMetadata.

Bug: 18586572
Change-Id: I133e58eeb05136ca82cbd35840b68ebedd9ec365
ession/MediaSession.java
f4a637d0be2e028d1e78c8bf90ad17ec3f84b5f3 21-Nov-2014 Ruben Brunk <rubenbrunk@google.com> Camera2: Allow rendering to arbitrary surface sizes in LEGACY mode.

Bug: 16030677
Change-Id: Ida04e04f41983b9126609522dd12064a7bf9645f
mageReader.java
795a51469701b4339eed4d97b6b06560f2d16d3f 08-Dec-2014 John Spurlock <jspurlock@google.com> Volume: Only play the new vibrate hint once per volume-down.

Bug: 18666334
Change-Id: Idfa1d0c104bb310548fde533932bffc2b41eafff
udioService.java
7f5eb9fe3c10d8d83ff0e2b0fc60a05c2e6d5b02 02-Dec-2014 Eric Laurent <elaurent@google.com> AudioSystem JNI: Add audio policy custom mixes registration

Bug: 16009464.

Change-Id: I3763e79f4fa0331acb56d1d6f575c7a36e0bebd5
udioService.java
udioSystem.java
8638877f14f925ec8fc34a24ac4f239e6d5dfd6c 07-Dec-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Support collaborative audio focus handling" into lmp-mr1-dev
0212be5150fb9fb3c340f3c7e51f6126372cc6f9 24-Nov-2014 Jean-Michel Trivi <jmtrivi@google.com> Support collaborative audio focus handling

Add new flag for an app to define it doesn't duck, but rather
pauses when losing focus with AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK.
This flag is to be used when requesting focus.
Add support for AudioPolicy to specify whether it will implement
ducking itself, rather than it being handled by an app.
When ducking is handled by a policy, do not notify focus owners
when they lose audio focus with LOSS_TRANSIENT_CAN_DUCK, unless
they would have paused, as expressed with the
AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS flag.
Add a focus listener for a policy to be notified of focus changes
so it can properly implement its own ducking.

Bug 16010554

Change-Id: I11d7cdb85c52fd086128a44f4d938aaa44db5c25
udioFocusInfo.aidl
udioFocusInfo.java
udioManager.java
udioService.java
ocusRequester.java
AudioService.aidl
ediaFocusControl.java
udiopolicy/AudioPolicy.java
udiopolicy/AudioPolicyConfig.java
udiopolicy/IAudioPolicyCallback.aidl
846e712dc72c0721131413bcae48f3d8b923411b 19-Nov-2014 Jeff Tinker <jtinker@google.com> Unhide secure stop APIs

Change-Id: If25406a6657c8f9d558e659bf5af73bac9bc434c
related-to-bug: 18053197
related-to-bug: 18076411
ediaDrm.java
d386d0f391c41e3e6e87abab44600df24f45ac4a 06-Dec-2014 RoboErik <epastern@google.com> Merge "Route mute key events through MediaSessionService" into lmp-mr1-dev
7c82ced4fc5b66c09a19eed9a5499039530142fb 05-Dec-2014 RoboErik <epastern@google.com> Route mute key events through MediaSessionService

This sends mute keys to the MediaSessionService and handles them
by toggling the appropriate stream. Muting remote playback is still
not supported.

bug:17501993
Change-Id: I18c5b037cde2175acbb64b118dd708514acfd8c9
udioManager.java
udioManagerInternal.java
udioService.java
ession/MediaSessionLegacyHelper.java
ession/MediaSessionManager.java
670de6b6277768deb32ea67a4e0ae7a4ed2d3540 05-Dec-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: increase the time threshold for tune operation which was too harsh" into lmp-mr1-dev
c0abc9cadb7c5e1793d1fb8e7593291856e5bf36 05-Dec-2014 Dongwon Kang <dwkang@google.com> TIF: increase the time threshold for tune operation which was too harsh

Bug: 18612616
Change-Id: I62ddde2f9796f3b1dd8240f5c88fbff234b3618b
v/ITvInputSessionWrapper.java
610e288de6727d9be3277777e6c5abca4b18aa86 04-Dec-2014 Lajos Molnar <lajos@google.com> media: allow full range of Vorbis sampling rates

Bug: 18615604
Change-Id: I51f0c5c81145b94626f2b7e4505b905b63a572bf
ediaCodecInfo.java
b0bbaec8bec519e85c33b4a25fa138e8017d6424 03-Dec-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: call tune() in HardwareSession" into lmp-mr1-dev
7081a5d1ae6b9fe5d92dca25a85524c2c2421e1e 03-Dec-2014 Michael Wright <michaelwr@google.com> Merge "Correctly iterate through MediaProjection callbacks." into lmp-mr1-dev
57457b98cfec197283c42585a3bc4abb1b21d05b 02-Dec-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioMix address and type, rule exclusion API, dynamic source" into lmp-mr1-dev
b4355ec3d0f7ab0aa44a746df7df250466cd701e 02-Dec-2014 Jinsuk Kim <jinsukkim@google.com> Merge "audioservice: system audio control in master volume mode" into lmp-mr1-dev
7cfe00f69380573e9c989bbbc614930c279f2291 02-Dec-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: fix a race condition when TvInputManager is initialized" into lmp-mr1-dev
5a7445b00d267db966cc72cd905aaf2379e64b6b 02-Dec-2014 Sungsoo Lim <sungsoo@google.com> Merge "Missing Javadoc update while API review" into lmp-mr1-dev
993f81e2380da210c27e1e957ac1bdca3a99100a 27-Nov-2014 Dongwon Kang <dwkang@google.com> TIF: fix a race condition when TvInputManager is initialized

Currently, TvInputManagerService notifies the initial state of each
input via TvInputManagetCallback#onInputStateChanged after TvInputManager
is created. However, this is racy because the client may call methods
like getTvInputState() before the initialization.

This patch makes sure that the client gets the control when the initialization
finishes completely.

Bug: 18419452
Change-Id: I5d8141c20984013e68f2809120710c670557c9ad
v/ITvInputManager.aidl
v/TvInputManager.java
e09dcdba7161170a6b052dffe2a5608d1f07548b 26-Nov-2014 Zhijun He <zhijunhe@google.com> ImageReader: free direct byte buffers once Image is returned

This can prevent apps from accessing an image byte buffer when it is closed.

Bug: 12528089
Change-Id: I04dccf1832204be2ae3aeb3bbe04f616886447e6
mageReader.java
21d68f4808db02aa3252ba5dec8b0220d053cab3 01-Dec-2014 John Spurlock <jspurlock@google.com> Merge "Volume: Improve inline volume controls used in settings." into lmp-mr1-dev
336cdb488ff0e5ec6709c66f55072d3ad22b82ed 28-Nov-2014 Jinsuk Kim <jinsukkim@google.com> audioservice: system audio control in master volume mode

Volume control in master mode should be transformed to
CEC commands if system audio is activated to delegate
the control to the connected AV receiver.

Refactored to use the interface to CEC service for
both master and stream type volume control.

Bug: 18560079

Change-Id: I2aefdc94a1bc3091c14fab849f899a0dc37c47bc
udioService.java
1b3541d5eedb332ea01066b4a78a2d06d5304044 25-Nov-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioMix address and type, rule exclusion API, dynamic source

- Simplify API for defining an exclusion-based rule: don't define
an exclusion rule, add instead a way to exclude a rule.
- API for defining rules for dynamic sources (rule match on capture
preset).
- Verify mix type when creating AudioRecord or AudioTrack for a mix.
- Use hashcode of mix for generating the device address.
- AudioService dump prints info about registered policies.
- Annotate as SystemApi the audio policy-related APIs.
- Express mixing match and exclude rule constants as flags for
future-proofness

Bug 16006090
Bug 16009464

Change-Id: I0dabe71204501acaffea7ef0ddbbab9700e1bd87
udioAttributes.java
udioManager.java
udioService.java
udiopolicy/AudioMix.java
udiopolicy/AudioMixingRule.java
udiopolicy/AudioPolicy.java
udiopolicy/AudioPolicyConfig.java
da39290460b30e5080769f039d6dff352b3c7808 28-Nov-2014 Wally Yau <wyau@google.com> Set stream volume to max when userMasterVolume is set to true.

When useMasterVolume is set, we don't want to apply the volume
attenuation twice, once at the stream mixer and once at the master
volume control. It should only be applied once at the master volume
control.

Change-Id: Id5b1cf97571733515b5680c638f11cde8824cfc0
Fixed: b/18460548
udioService.java
bcc1087af40a0e1bb35dbe8a39c830ecdea8280b 28-Nov-2014 John Spurlock <jspurlock@google.com> Volume: Improve inline volume controls used in settings.

- Make the system internal ringer mode change signal available to
other system components via a standard intent, instead of a
volume-controller-only binder call.
- Update sysui to use new intent for icon policy.
- Add proper muting state to the volumizer, to look more like
the associated volume panel slider.
- Add basic ringer mode state tracking for the notification-ring
slider setting.

Bug: 17899613
Change-Id: Ie2df52edb070055ef59c74039162a0e785d2fdbb
udioManager.java
udioService.java
VolumeController.aidl
266143e1fb15626b545faf0e8f3624bd32dc1c6b 28-Nov-2014 Dongwon Kang <dwkang@google.com> TIF: call tune() in HardwareSession

Background: The underlying passthrough TV input expects tune() command
to show video on the screen and call notifyVideoAvailable().

Bug: 18551619
Change-Id: I257db321c09d621e6bd3c0e69bfe0abfca5742a9
v/TvInputService.java
4e389e557efb7806b73d2059d46e2809c1a9f83d 28-Nov-2014 Sungsoo Lim <sungsoo@google.com> Missing Javadoc update while API review

Bug: 18550989
Change-Id: I766986fd429d58064fca6262a1c650cbcb19bddf
v/TvInputManager.java
bc3226e21dfe881bf1ccae62e10b660d97b2b232 26-Nov-2014 Jinsuk Kim <jinsukkim@google.com> Merge "Do not perform forceVolumeControlStream in master volume mode" into lmp-mr1-dev
1e88cf0796c8b15952b7d6b3160d0d097e857f15 26-Nov-2014 Ryan Lothian <rjlothian@google.com> Fix broken @see javadoc in android.media.* classes

This CL fixes all android.media.* javadoc that includes an "ERROR(...)"
message when rendered to HTML.

Bug: 18537403
Change-Id: Ic60f7cfe4cf4961da163d955387d65a5d2011905
(cherry picked from commit d550f9028ee7f52018fbed3cfd2d0b18d6a7c4f0)
ediaFormat.java
ediaPlayer.java
ediaScannerConnection.java
rojection/MediaProjection.java
57d766f533f212d30c542cee98f31ca9630681a8 26-Nov-2014 Jinsuk Kim <jinsukkim@google.com> Do not perform forceVolumeControlStream in master volume mode

The method should be no-op when in master volume mode.

Bug: 18250921

Change-Id: Iaab806db935ef97aa1124c3447e228d3eaef7584
udioManager.java
f32d06d855a6a7f2cb88886a58cb595518a2bd63 26-Nov-2014 Andy Hung <hunga@google.com> Merge "Allow set loop and position before write for static AudioTracks" into lmp-mr1-dev
e511ddce43ce3586f9bced5f8505e540951ab524 25-Nov-2014 Eric Laurent <elaurent@google.com> Merge "AudioService: use FEATURE_LEANBACK instead of FEATURE_TELEVSION." into lmp-mr1-dev
3ed95fe2589c01e9255f4d75636fb8b0c83a01d5 25-Nov-2014 Lajos Molnar <lajos@google.com> Merge "media: add support for 160-byte image info in MediaCodec" into lmp-mr1-dev
661f2cf45860d2e10924e6b69966a9afe255f28b 17-Nov-2014 John Spurlock <jspurlock@google.com> VolumeZen: Introduce internal vs external ringer mode.

Stabilize mapping between ringer-mode=silent and zen=priority
by keeping track of two ringer modes:
- Internal ringer mode: Used for underlying stream muting
- External ringer mode: Reported to clients

The mapping between external ringer mode + zen is:
- normal = all
- vibrate = all
- silent = priority (read-write) or none (read)

Changes include:
- Remove "zen check" from audio service, back to audio
service having no knowledge of zen.
- Maintain a new external ringer mode in audio service,
this is the ringer mode reported through AudioManager
to callers, also mapped to the change intent.
- Introduce a "ringer mode delegate" to the local
audio manager interface, responsible for observing
external / internal mode changes, and making changes
if necessary.
- Internal ringer mode changes are still interesting
to the volume dialog, wire up a callback through
the existing IVolumeController interface.
- On devices without vibration, the mapping is the same
but since no ringer mode change is possible, disable
the icon toggle and remove the mute icon when volume=0.
- On devices with vibration, volume down presses should
pulse the vibrate icon (and vibrate) as a hint that this
is as low as the device can go using the keys. Since
the mechanics are similar to the existing zen=none hint,
pull into shared helper.
- Log ringer mode changes to the zen log, include calling
package information for issue diagnosis.
- Include whether vibration is supported in the audio service
dump.
- Update the status bar icon policy to use the internal ringer
mode, not the external mode (for vibrate icon).
- Update the "Muted by <x>" logic, include current suppressor
in dumpsys, ensure suppression icon is enabled & !clickable,
regardless of zen mode.

Bug: 17884168
Bug: 15471679
Bug: 16824970
Change-Id: Ia7d3bb23ce6d1e37b24fb6521d1c1ab9bb8f60c0
udioManager.java
udioManagerInternal.java
udioService.java
AudioService.aidl
VolumeController.aidl
5037f945cd25686d092ba88714ed5edde9143a4d 25-Nov-2014 Lajos Molnar <lajos@google.com> media: add support for 160-byte image info in MediaCodec

Some 64-bit compilers now create 160-byte image structures.

Bug: 18513091
Change-Id: I355714affaac0fde0b03578d13ab8f373dd5aa81
ediaCodec.java
78bfa6322bf34e49d5e4426296c701a64f705e49 12-Nov-2014 Andy Hung <hunga@google.com> Allow set loop and position before write for static AudioTracks

Allow setPlaybackHeadPosition and setLoopPoints in STATE_NO_STATIC_DATA
for consistency with other setters and older Android versions (JB).

Bug: 18217633
Change-Id: Id8ada3056540c4dfcb89f8afa887159e48db0263
udioTrack.java
958876fe55ea0fdeb73c72240a2f2bab32833443 17-Nov-2014 Jean-Michel Trivi <jmtrivi@google.com> Add support for audio focus locking

New API for a registered AudioPolicy to lock/unlock the audio
focus stack and prevent any new grant of focus, similar to
the way phone calls behave.

Bug 16010554

Change-Id: If34a58ca9bd43d5479e94a2a7b540750b4c6efe9
udioManager.java
udioService.java
ocusRequester.java
AudioService.aidl
ediaFocusControl.java
9e8d9aca07913b3e8a017614088048c721a82ccb 21-Nov-2014 Michael Wright <michaelwr@google.com> Correctly iterate through MediaProjection callbacks.

Bug: 18393320
Change-Id: I81e46b516e4e94b04a1b8363805b8bb633cb822e
rojection/MediaProjection.java
a4fcb62a224eca99d53b1692d1cc5ae5ff2d2127 21-Nov-2014 Lajos Molnar <lajos@google.com> media: fix isSupportedFormat for integer frame rate

Bug: 18473065
Change-Id: I670cc043d3cb117c26921cb639ff9eecc8f14b0a
ediaCodecInfo.java
09ff91255e945f2588c377614bf7b7c0d512118e 20-Nov-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Convert record channel mask for dynamic mix" into lmp-mr1-dev
8dc1031453377d2f9d9c7847027f276e6726a4c8 20-Nov-2014 Jean-Michel Trivi <jmtrivi@google.com> Convert record channel mask for dynamic mix

When creating the AudioRecord instance for a dynamic mix, convert
the output channel mask of the mix to an input channel mask
to be used by the AudioRecord instance through which the
mixed audio is rerouted.

Bug 16009464

Change-Id: I3addbe85339f6f06b69acc3f9b8e2a765e5d7305
udioFormat.java
udiopolicy/AudioPolicy.java
f66f3052a7e99eac436b423280687b84f1ef77d6 20-Nov-2014 Jae Seo <jaeseo@google.com> Merge "TIF: implement gatherTransparentRegion() and dispatchDraw() in TvView." into lmp-mr1-dev
52bfa3328f076363edb4b5e77f32c8bca2209817 20-Nov-2014 Jae Seo <jaeseo@google.com> Merge "TIF: enhance documentation for TvInputManager.getAvailableStreamConfigs()" into lmp-mr1-dev
ac4af18bbb077a89696260e595fc130d9c172f79 20-Nov-2014 RoboErik <epastern@google.com> Merge "Handle volume events on master volume devices correctly" into lmp-mr1-dev
b9c87fb4034a4a61b57150000a937aa95927861c 19-Nov-2014 RoboErik <epastern@google.com> Scale bitmaps in metadata sent to the system

This scales down any MediaMetadata bitmaps that are sent to the system
through MediaSession.

bug:18114918
bug:18084448
Change-Id: Ib7b040cd8245108ad2dd56afe2499290d2b49f51
ediaMetadata.java
ession/MediaSession.java
5f3cb4a584545927b3dcecb7cb47eb7edb6d2d5d 19-Nov-2014 Dongwon Kang <dwkang@google.com> TIF: implement gatherTransparentRegion() and dispatchDraw() in TvView.

Background: because the hole-punching code lives only in SurfaceView,
the overlay view can be covered by the application if the TV input
changes the position of SurfaceView via Session.layoutSurface().
This change punches a hole as large as TvView so that the underlying
overlayview can be shown properly.

Bug: 18420642
Change-Id: If9a829367083ce2002a4c4a4e4a4bbb623f7ad96
v/TvView.java
0b03f9909be438f45b32ce2a6a2c2c5208a82cc9 19-Nov-2014 Eric Laurent <elaurent@google.com> AudioService: use FEATURE_LEANBACK instead of FEATURE_TELEVSION.

Bug: 18271714.
Change-Id: I2fa6f44ef991aec5a980d70f698813468e7540c6
udioService.java
519c7744b522aa07e12bc3244ac3de14aa2a4ad0 18-Nov-2014 RoboErik <epastern@google.com> Handle volume events on master volume devices correctly

We weren't passing volume events to the master volume correctly on
devices that only use a master volume. This fix checks if the device
only has a master volume and adjusts the master volume instead of the
stream's volume if that's the case.

bug:18305790
Change-Id: Iec35e0a7dc59e6d73c9dfc88da324660bb15b1f3
udioManagerInternal.java
udioService.java
3a9a53cb75890484687c75b6fb134d21f2e7a334 18-Nov-2014 Jae Seo <jaeseo@google.com> Merge "TIF: make the tune request handling more efficient" into lmp-mr1-dev
95ef08b348f4ce17c9d692c730a07c20b703b2a6 18-Nov-2014 John Spurlock <jspurlock@google.com> Volume: Don't allow ringer volume of 0 exiting ringer mode.

For any device with vibration, not only voice-capable devices.

Bug: 18423530
Change-Id: I0f1a7df884d675e6bc6854dcf044426c07f3d2f7
udioService.java
c918172508e8becdb89fc540bdfd5a9f7d3974e8 18-Nov-2014 Dongwon Kang <dwkang@google.com> TIF: make the tune request handling more efficient

- Clear the pending tune operations to handle consecutive tune requests
efficiently.
- Add time out for onTune() to make developers not to handle whole tune
process in the onTune() method.

Bug: 18179595
Change-Id: I571e55b78d7c4d17c7237c5ce70203941bec2130
v/ITvInputSessionWrapper.java
628d2606f757da7b6734c7cd438535069f77b065 13-Nov-2014 Jeff Sharkey <jsharkey@android.com> Merge "Move ringtone redirection to MediaPlayer." into lmp-mr1-dev
3b566b84708eea887ab3e1e1bbba4b2242b261d6 12-Nov-2014 Jeff Sharkey <jsharkey@android.com> Move ringtone redirection to MediaPlayer.

Way back in API 1 we defined Settings.System.DEFAULT_NOTIFICATION_URI
which redirects through SettingsProvider before finally ariving at
the real underlying ContentProvider, usually MediaStore.

With new SELinux rules, we're no longer allowing the system_server
to hold open FDs to shared storage devices, which causes these
proxied openFile() calls to fail.

To work around this, teach MediaPlayer to resolve the final ringtone
Uri without going through the system.

Bug: 18226181
Change-Id: I40c68617c952c0bb3e939e5084f5b68a35e31ae3
ediaPlayer.java
136f54153e412485feae39cf3fe86392f01a2bd6 13-Nov-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Support for delayed audio focus" into lmp-mr1-dev
90e733385d466acd87730676c83c080a17ff495f 08-Nov-2014 Wonsik Kim <wonsik@google.com> TIF: enhance documentation for TvInputManager.getAvailableStreamConfigs()

Bug: 18283466
Change-Id: Ibb5d45c02a327e0b3e837ad3ec3603fa1623ff7b
v/TvInputManager.java
fd6ad747e6c268753d0edf7a5a59b6815b190854 10-Nov-2014 Jean-Michel Trivi <jmtrivi@google.com> Support for delayed audio focus

New internal API for an audio focus requester to always enter
the audio focus stack even if audio focus can't be granted
immediately (e.g. during a phone call).
Remap the "no delay" interface to the new "requestAudioFocus"
method signature and AIDL.

Bug 16010554

Change-Id: Iff91ddb0beb411cca1f8cf98300a9afc4178dc7f
udioManager.java
udioService.java
ocusRequester.java
AudioService.aidl
ediaFocusControl.java
00795e9edda7038022d8f1268ca3304165076d2e 11-Nov-2014 Chong Zhang <chz@google.com> Merge "return error MEDIA_ERROR_UNSUPPORTED when Range request fail" into lmp-mr1-dev
8976a0954cce9cfc8bd8776893fc9067e240a91c 11-Nov-2014 Chong Zhang <chz@google.com> return error MEDIA_ERROR_UNSUPPORTED when Range request fail

Bug: 18235751
Change-Id: I4631daf50bb76b70dd740c45b628294ad1aa45e1
ediaHTTPConnection.java
220b65d21dcb332b9bb39e2c75a5adba5d7c73d9 07-Nov-2014 Jason Parks <jparks@google.com> am 94c3e3bf: Merge "Fix NPE for CTS." into lmp-sprout-dev

* commit '94c3e3bfcfe8d91283560082c737cb62e8d06742':
Fix NPE for CTS.
b1d52e1d2095d0df986d4c338af43c5cd2b6efc5 06-Nov-2014 RoboErik <epastern@google.com> Merge changes If4c38bfe,Id9878186 into lmp-mr1-dev

* changes:
Update metadata artwork and uri docs
skip MediaController callbacks if it's been unregistered
de709869ae10263c4c325aaa72cdc6aada0ae8d5 06-Nov-2014 Jason Parks <jparks@google.com> Fix NPE for CTS.

The effect list can be empty and will return null
from native code. This fixes the CTS crash.

Bug: 18256010
Change-Id: Ifa552efc9de216993427115c001c7071c90403f1
udiofx/AudioEffect.java
a13846ddf34e4e237f698279a120abd2fe01e486 06-Nov-2014 RoboErik <epastern@google.com> Update metadata artwork and uri docs

This updates the Javadoc on the bitmap and uri fields to strongly
suggest Uris be used for high res artwork and strongly suggest Uris
use the content: style and support EXTRA_SIZE.

Change-Id: If4c38bfec20d049473457784b1b56fa4d78abe5e
ediaMetadata.java
fc4e6f70f64676ab375c3e233b6c07e3bc56cb64 06-Nov-2014 Jeff Tinker <jtinker@google.com> Merge "Add missing secure stop methods" into lmp-mr1-dev
3e0cfcda31301e53c92cb2f91ed8be1cd6efd8bc 04-Nov-2014 RoboErik <epastern@google.com> skip MediaController callbacks if it's been unregistered

This gives slightly better gaurantees around when an app will receive
a callback. As long as they remove a callback on the same thread calls
get posted on they won't receive any callbacks after the remove.

bug:18104724
Change-Id: Id9878186f005bf0b35c0380cd35f8fd7e67d1d90
ession/MediaController.java
9af44ddf0367c542d6c1db6060456bd72f3c83ca 05-Nov-2014 RoboErik <epastern@google.com> Merge "Post volume requests to the handler thread in MediaSession" into lmp-mr1-dev
5604a85ac61eb01794cf1dd9ea83321bcf93b57a 05-Nov-2014 RoboErik <epastern@google.com> Merge changes Ia3bc5b0d,I26e662ff into lmp-mr1-dev

* changes:
Add extras to the PlaybackState
Add setRatingType to MediaSession
131e63adaa3333ef44dbe090471b710816447bf6 04-Nov-2014 RoboErik <epastern@google.com> Add extras to the PlaybackState

This allows apps to include extras that are atomic with play state
changes.

bug:18189125
bug:18103891
Change-Id: Ia3bc5b0dcf29960cb70e2ff3a67ec1fdd48b7a5a
ession/PlaybackState.java
566c1ed18f429a7a64aeac01baa0af150fcd1eb4 04-Nov-2014 RoboErik <epastern@google.com> Add setRatingType to MediaSession

This was missing in L. Needed to tell controllers how to rate content.

bug:18051829
Change-Id: I26e662ff04f77ed7f2922bf9e74acf74c850547b
ession/MediaSession.java
ession/PlaybackState.java
fe91d4e6a2ef4e51910965ea258f91c14f5ee0dc 04-Nov-2014 Eric Laurent <elaurent@google.com> Merge "AudioService: fix wired headset insertion delay." into lmp-mr1-dev
085329b69abc0751591f99faf8a7e8fc2dc7c9df 04-Nov-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: Fix a typo and remove an unused method in TvInputService" into lmp-mr1-dev
adbe8bf85f3c8230d16ae5cb3f5d9736e09ed84a 04-Nov-2014 Eric Laurent <elaurent@google.com> AudioService: fix wired headset insertion delay.

Do not systematically delay a device connection
message by 1 second if another message is still in the queue
but calculate delay based on last message insertion time.

Bug: 17882912.

Change-Id: Id86c338488f41eebfa1dfd926032468be0294cec
udioService.java
8befd6fd051e3c5d7c8e4c804664b8c69f91335a 04-Nov-2014 Eric Laurent <elaurent@google.com> Merge "AudioService: fix cross deadlock" into lmp-mr1-dev
8fa4d6f585f40ff5cf5f9bed316d92c64a306f21 30-Oct-2014 Eric Laurent <elaurent@google.com> AudioService: fix cross deadlock

Fix cross deadlock between VolumeStreamState.class and
VolumeStreamState instance synchronization.

Do not synchronize on VolumeStreamState instance anymore.

Also document the locking order for synchronization objects
related to volume management.

Bug: 18159081.
Change-Id: Ibfe0759215cdac778408b95191cf0fd96bf46312
udioService.java
1b51c72e910a91e79efe34c6252e01862516e73d 31-Oct-2014 Jeff Tinker <jtinker@google.com> Add missing secure stop methods

b/18053197
b/18076411

Change-Id: Ide9ecab2fd2021f3544491f23ae84c394c48ac14
ediaDrm.java
79d2b4c810f9359640a0aaa80e610508481cd413 03-Nov-2014 Dongwon Kang <dwkang@google.com> TIF: Fix a typo and remove an unused method in TvInputService

Change-Id: I2c0233678c08a7070ffe507d9671e1ab669fdfd8
v/TvInputService.java
4dd56c93e363aeb10ce94a57a33e8fe4f60e226a 30-Oct-2014 Dongwon Kang <dwkang@google.com> TIF: Add more documentation on start/end time of TvContract.Program

Bug: 18163685
Change-Id: Ifcd57330eb341adfbcb7fcf3482a701471bf729f
v/TvContract.java
38b00a63c9f637bbe43b6ea3785c9577c43dbac5 31-Oct-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "More AudioPolicy registration" into lmp-mr1-dev
8fdb0d4defb6ee2ca8057d3442ead36b408b6c17 17-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> More AudioPolicy registration

Define new usage in AudioAttributes to describe "virtual" sources.
Maintain a registration string in AudioPolicy and AudioMix that
is used for the address of the mix in the native policy manager.
AudioPolicy registration marks the audio policy configuration and
the audio mixes as registered.
The AudioPolicy class is used as the factory for the AudioTrack
and AudioRecord objects that are respectively used as the
source and sink of the mixes created by the policy owner.

Bug 16009464

Change-Id: I8e5bd351495257597c513d22597e273fcabdbc55
udioAttributes.java
udioManager.java
udioService.java
AudioService.aidl
udiopolicy/AudioMix.java
udiopolicy/AudioMixingRule.java
udiopolicy/AudioPolicy.java
udiopolicy/AudioPolicyConfig.java
ce34c6d308629c214ab9b7963755eb60cac03c9d 27-Oct-2014 Dongwon Kang <dwkang@google.com> TIF: handle inputs holding the overlay view even after the session release

Bug: 17336221
Change-Id: I7fb7890039bc3731b62410caa9802db5870ec2e2
v/ITvInputSessionWrapper.java
v/TvInputService.java
c1f26faa2db2062ed42e422b038442fdb0aa3c68 30-Oct-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: Handle notifyXXX() calls requested before the session initialization" into lmp-mr1-dev
3eefa59e37291abc72edd1c30b5469a21993dbbb 29-Oct-2014 Dongwon Kang <dwkang@google.com> TIF: Handle notifyXXX() calls requested before the session initialization

Previously, we relied on a handler by posting runnables when the
session is not initialized yet. However, this trick was broken when we
separated the creation procedure into DO_CREATE_SESSION and
DO_NOTIFY_SESSION_CREATED.

Bug: 17909798
Change-Id: I46f610cb9673f8162266525ac0e343b61c6db9ec
v/TvInputService.java
570cc5302a2e076f2b6ce810f9ac6f3c53bcd125 29-Oct-2014 Andre Eisenbach <eisenbach@google.com> Fix exception in AudioService when no BT Headset is connected.

If AudioManager.startBluetoothSco() is invoked with no Bluetooth Headset
connected, a NullPointerException will ensue.

Added check to make sure mBluetoothHeadsetDevice is set before accessing
it.

Bug: 17601845
Change-Id: Ia00bfffbea5484230b11a74787fe3309c18f824d
udioService.java
563acea6665c45902bbc46db1a22c036344a818b 28-Oct-2014 RoboErik <epastern@google.com> Post volume requests to the handler thread in MediaSession

Volume requests should be getting sent on the same thread as other
callbacks, not on the binder thread.

bug:18156755
Change-Id: I35bceb3f8c74ccba35f3d08ff000a254fcbd04bb
ession/MediaSession.java
5ea17442c59b23e0c2fa8cd0b1e85aef9db92d3b 27-Oct-2014 Lajos Molnar <lajos@google.com> MediaCodec/Image: handle null cropRect correctly

- allow Media.Image.setCropRect(null) to unset cropRect
- use full image if cropRect is null in MediaCodec$Image

Bug: 18124320
Change-Id: I7abb6175402a1fe913e16c0a682fabee79c55741
mage.java
ediaCodec.java
ac7d8c5cc85dc5929b5d1c9d7836aca58a4e9ea5 27-Oct-2014 Mike Lockwood <lockwood@google.com> Merge "Improve toString() methods for audio classes to help with debugging" into lmp-mr1-dev
07cd124b09a63985f0b200de248fab165f736ae4 27-Oct-2014 Mike Lockwood <lockwood@google.com> Improve toString() methods for audio classes to help with debugging

bug: 18139399

Change-Id: I6076f9f5daa3b485bc80a4ff1b16a583e6c93f67
udioDevicePort.java
udioPatch.java
udioPort.java
udioSystem.java
670a82cbb1b62e69fa7ef7387eed545a76c96f76 27-Oct-2014 Eric Laurent <elaurent@google.com> Merge "audioservice: fix default stream volume" into lmp-mr1-dev
91377de6f23af2b0b08adae22810cae6fc35cb1a 11-Oct-2014 Eric Laurent <elaurent@google.com> audioservice: fix default stream volume

When the max stream volume is configurable by
a system property, the default stream volume should
be set accordingly.

Bug: 17507571.

Change-Id: I9d9378292fc7b9c9e32acc55a275cc0ae5b203d4
udioManager.java
udioService.java
e828b6c034f7330ee70d72d1af979b0a35f883d9 27-Oct-2014 John Spurlock <jspurlock@google.com> Merge "AudioService: Restore ringer-mode validation check." into lmp-mr1-dev
9755937ed90f06db45ff5fe4510950ae1516f8f9 24-Oct-2014 John Spurlock <jspurlock@google.com> AudioService: Restore ringer-mode validation check.

Ensure the ringer-mode is valid when set, and forward client calls
to service method to centralize validation.

Bug: 17884168
Change-Id: I500f9beefbce5b7a8bc01ca9eb7b4a7a16114160
udioManager.java
udioService.java
AudioService.aidl
6320fc490fe73b089cdccfc617e4b09f31f5d203 22-Oct-2014 Jae Seo <jaeseo@google.com> TIF: Notify of size change of the video in TvView

Put the necessary plumbing in place to notify of size change of the
video in TvView.
Put together the track related logic in TvInputManager.Session.
Protected track information with a lock.

Also modified debugging messages more consistently and fixed minor
warnings in TvView.

Bug: 17635300
Change-Id: I8d267d8a11056b5ccee1dacbf2d3391be16f811e
v/TvInputManager.java
v/TvView.java
e41d967c5c6ff42ea41f61c731d77aa687b3956f 24-Oct-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Cache the app private command and send it when connection is made" into lmp-mr1-dev
887f52144eeea8d5812d64a29e207af6b97a763d 23-Oct-2014 Jae Seo <jaeseo@google.com> TIF: Cache the app private command and send it when connection is made

Bug: 17559793
Change-Id: If785d1ffceb5b5152381818efc4d1c8b5115143c
v/TvView.java
f6df7bff53d325e11233bc08fbf5a3f212723b79 24-Oct-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: Define more cannonical genres in TvContract" into lmp-mr1-dev
cfc73237e9af57e85b46a7e657c84f9c2cb4b641 24-Oct-2014 Wonsik Kim <wonsik@google.com> Merge "TIF: fix wrong config comparison & confusing method name" into lmp-mr1-dev
5168a7a0d34fc4151b15587c66663451c17434bc 23-Oct-2014 Dongwon Kang <dwkang@google.com> TIF: exclude tuner TV input not having a setup activity in the input list.

By doing this, developers can notice the flaw of the input in advance.

Bug: 17647146
Change-Id: I123a5538566959320a6201a4d7952e205602a28a
v/TvInputInfo.java
8ddb01ec7b1360e9fccf341b5f1989182160fcee 23-Oct-2014 Jae Seo <jaeseo@google.com> Update documentation for notifyTracksChanged() and notifyTrackSelected()

Bug: 18090857
Change-Id: I339a222454612e0111e79725de596a73f4d406b8
v/TvInputService.java
8f24a8b60f9afc1aedb89e7ee80ce65515439600 22-Oct-2014 Wonsik Kim <wonsik@google.com> TIF: fix wrong config comparison & confusing method name

TvStreamConfig should do deep comparison in TvInputHardwareManager
where the object gets created from binder calls. In addition to this
fix, modify [aA]ddStream to [aA]ddOrUpdateStream so that the method
name better reflects what it does.

Bug: 18027719
Change-Id: I43fa668f91cb9433beee97ee31b4b1f58f21bfcf
v/TvStreamConfig.java
a6372b3be4d114c2082d83bbd065a0439f9feb2f 22-Oct-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: add more documentation on Hardware session." into lmp-mr1-dev
f0a284115a8fb089806eb87db1a20468dd55ecd3 21-Oct-2014 RoboErik <epastern@google.com> am 2fa604fc: Merge "Add missing break to switch statement" into lmp-dev

* commit '2fa604fc59ded63a416066a0bc66f63069cae7f3':
Add missing break to switch statement
59759903a9696daefa817079c8432468ed398033 20-Oct-2014 RoboErik <epastern@google.com> Add missing break to switch statement

the skip to queue item case was falling through when it shouldn't.

bug: 18058515
Change-Id: Ica20b59efad12a58ad16501146fc9a0d4595e184
ession/MediaSession.java
26a4309492f5af6828738a469ad8f18f42c44a61 20-Oct-2014 RoboErik <epastern@google.com> am 578fbe89: Merge "Set the metadata rating correctly in RCC" into lmp-dev

* commit '578fbe898f1652b3166bd4e20647572dec9dfb14':
Set the metadata rating correctly in RCC
38696ba77d7f614cb50672aaca99f7ba59b56126 20-Oct-2014 RoboErik <epastern@google.com> Set the metadata rating correctly in RCC

We weren't setting the ratings in the new MediaMetadata from RCC.
This adds some code to set them correctly.

bug:18051829
Change-Id: I358eeb2b25b3fb9bd9a5d207eb3314bb2cdff25e
emoteControlClient.java
49c1b69a568ce58c940e5a2b0641a2c50798cbe2 20-Oct-2014 Dongwon Kang <dwkang@google.com> TIF: add more documentation on Hardware session.

Bug: 17909341
Change-Id: Ie537eb77b6ac4b63e4e9306c1781f84dd4be2719
v/TvInputService.java
3d4aec1bb79caea6fadc36a942fb0c0f84a0f4f2 16-Oct-2014 John Spurlock <jspurlock@google.com> am b2344c81: Merge "Leave zen when apps set ringer-mode = non-silent (normal/vibrate)." into lmp-dev

* commit 'b2344c81bcf49129d303a2919cfffd7a720c261b':
Leave zen when apps set ringer-mode = non-silent (normal/vibrate).
e5b42d97f6fd3eb0220ea84f21e60d530d93fc46 15-Oct-2014 John Spurlock <jspurlock@google.com> Leave zen when apps set ringer-mode = non-silent (normal/vibrate).

Apps can end up in priority mode by setting ringer-mode = silent.

Now they can leave priority mode by setting ringer-mode = non-silent.
(normal or vibrate)

Bug: 17884168
Change-Id: I54c853885f4ae9ee618041dd7ac6ab0663fc7b37
udioManager.java
udioService.java
AudioService.aidl
ba766977f5ce068b7fd0e4c8e8268ff1347e25be 13-Oct-2014 Dongwon Kang <dwkang@google.com> TIF: Define more cannonical genres in TvContract

Background: while categorizing broadcast genres into cannonical genres,
it turned out that the existing 11 genres are not enough. 6 more genres
are added.

Bug: 17597747
Change-Id: I14c00771d69f1e30fc2c0e3978298c67066117e5
v/TvContract.java
d25b996a7ab2589f258d0006dda6589f53d98366 09-Oct-2014 Chong Zhang <chz@google.com> am a6ae8ba4: MediaHTTPConnection: do not use proxy for localhost

* commit 'a6ae8ba4a59f3f893fe8893335e7517388123c10':
MediaHTTPConnection: do not use proxy for localhost
a6ae8ba4a59f3f893fe8893335e7517388123c10 09-Oct-2014 Chong Zhang <chz@google.com> MediaHTTPConnection: do not use proxy for localhost

Bug: 17681512
Change-Id: Iba25d89636d8f96efc0eb90e0dd7a135c82ff16a
ediaHTTPConnection.java
cb13564554e6b61de6f37afbeb6ddb368cee31dc 08-Oct-2014 Jon Eklund <e11237@motorola.com> am 318f0fe4: AudioService: Fix monitorRotation for landscape applications

* commit '318f0fe43bdc4b2f6764edd91d6b78d9875ffdeb':
AudioService: Fix monitorRotation for landscape applications
318f0fe43bdc4b2f6764edd91d6b78d9875ffdeb 24-Jan-2014 Jon Eklund <e11237@motorola.com> AudioService: Fix monitorRotation for landscape applications

Current implmentation only sends rotation updates on orientation
changes, so does not handle direct 0<->180 or 90<->270 transitions.

Update rotation based on an OrientationEventListener instead of
Intent.ACTION_CONFIGURATION_CHANGED

Bug 17606902

Change-Id: I01dfcd1c587f5b2e8a96365c2389782ad77936ef
udioService.java
986468a8ab77ce1e89247078d4e93a3aaa5d294b 07-Oct-2014 Jean-Michel Trivi <jmtrivi@google.com> am dce7a427: Merge "Full volume on remote submix for apps that need it" into lmp-dev

* commit 'dce7a427593c6e11277d9e3075ab027512923276':
Full volume on remote submix for apps that need it
ba5270b88798c66fefc17a1b25b27894e4fb7862 02-Oct-2014 Jean-Michel Trivi <jmtrivi@google.com> Full volume on remote submix for apps that need it

If an AudioRecord is created with the "fixedVolume" tag
when recording from REMOTE_SUBMIX, treat the
device DEVICE_OUT_REMOTE_SUBMIX as a fixed full volume
device during the recording. Also register a death
handler during the recording.
Otherwise this is a no-op.

Bug 17635294

Change-Id: I8d26fe777047126f34308e1e1b7ac28ba269ad89
udioRecord.java
udioService.java
AudioService.aidl
ce4483cb83afb3a42a32ef2cb00cf04d6f9018fd 17-Sep-2014 Benson Huang <benson.huang@mediatek.com> [FM] Add FM_TUNER audio source to support L version FM radio app

1.MediaRecorder.java: Add FM_TUNER audio source type for FM record.
2.AudioRecord.java: For FM output to the other device,
(except the headset case), record the FM tuner signal to a track
and playback the recorded signal by a track.
3.AudioAttributes.java: Thus we use AudioRecord, need to modify
setCapturePreset to support MediaRecorder.AudioSource.FM_TUNER.

Review: https://partner-android-review.git.corp.google.com/#/c/182071

Signed-off-by: Benson Huang <benson.huang@mediatek.com>

Change-Id: If068d0bbbffb4848887004396a8a8d9bcba1334e
udioAttributes.java
udioRecord.java
ediaRecorder.java
51c07bc0bf338c9dd9d2345fe81d2cd964d680ca 03-Oct-2014 RoboErik <epastern@google.com> Fix regression in RCC.editMetadata(false)

Found a very simple fix. Just set the cached metadata so we have
it to copy over when editMetadata(false) is called.

bug:17796693
Change-Id: Ib27f0c3d28e7f2a3c7d9495697f36c8045e2bcf6
emoteControlClient.java
d3f17921bde06c0bd164f0abf0e99dafc7c0c569 19-Sep-2014 Sungsoo Lim <sungsoo@google.com> Update java doc for content rating systems

- DVB and ISDB ratings are added.
- Remove rating systems whose countries uses DVB and ISDB.
- Updated java doc for AR, AU, and BR.

Bug: 17494772
Change-Id: Ia2a63c7914148b42078decb8de1ae45baefb010d
v/TvContentRating.java
c8a3e0dc9d4c1e59ad250f45c2ee416beee8dd89 27-Sep-2014 Yao Chen <yaochen@google.com> Assign bindService() result to a boolean directly. One less if-else

Bug: 17637058
Change-Id: If2f4db2ebf95f1912a752794a1ab482cf30ab014
rowse/MediaBrowser.java
de9ba39c1714f5bc9e1785d8224ad26c132b6293 26-Sep-2014 RoboErik <epastern@google.com> Don't forward media keys to the app if the phone session is active

This checks if the phone app is currently getting or in a call when a
media key event is sent and sends it to the phone session instead of the
foreground app if it is.

bug:17527302
Change-Id: Ie5d6cf0c897da81d106f2b1a0561b79f4fc35e82
ession/ISessionManager.aidl
ession/MediaSessionLegacyHelper.java
ession/MediaSessionManager.java
2b731e7b7cfaa146260607ae0b223cb3aef5d270 26-Sep-2014 RoboErik <epastern@google.com> Merge "Disable MediaSessionLegacyHelper debugging" into lmp-dev
9b2e567ad4ac3967e17d7fab5f73bf5e32433b00 26-Sep-2014 RoboErik <epastern@google.com> Merge "Remove BT routes when BT is turned off" into lmp-dev
08fccd0093433d8ad5f3b9ca945bee552bf75468 26-Sep-2014 Yao Chen <yaochen@google.com> Merge "Check the return value of bindService, and notify media browser client onConnectionFailed if it returns false." into lmp-dev
1dc5ba86655daf1ee2dd7140e7b20c6d488a48d9 24-Sep-2014 RoboErik <epastern@google.com> Disable MediaSessionLegacyHelper debugging

Switched over to using Log.isLoggable instead for release.

Change-Id: Iebd6871adb9994e23292953f14b6a997c83957a0
ession/MediaSessionLegacyHelper.java
5535ea8ef876be25121a6336ffab5a0bf8dbd031 25-Sep-2014 RoboErik <epastern@google.com> Remove BT routes when BT is turned off

A behavior change in the BT stack caused it to stop sending connection
changes for connected devices when you turn BT off. To work around this
we need to remove the connected BT route when BT is turned off.

bug:17512270
Change-Id: I3e5aa8863409c5abac51aa4e93a15f1978cf74b3
udioService.java
f099e7c2144aba7d429b29a006729e61353d06fe 25-Sep-2014 RoboErik <epastern@google.com> Merge "Ensure MediaBrowser state is set to connecting after a reconnect" into lmp-dev
df26651ff45838ab8c2927178250a44a30bac4dd 25-Sep-2014 RoboErik <epastern@google.com> Merge "Allow null queues to be set in MediaSession" into lmp-dev
7e1d525b47404a27fb1c780ea2070f7ca8344461 25-Sep-2014 Ronghua Wu <ronghuawu@google.com> Merge "MediaCodecList: fix findEncoderForFormat." into lmp-dev
e19a80def2146ef8e4e6f920fee57937b717dd30 24-Sep-2014 Ronghua Wu <ronghuawu@google.com> MediaCodecList: fix findEncoderForFormat.

Bug: 17460057
Bug: 17637188
Change-Id: I618ff1a4dbbecf64786207ccb5208b0a67d80ddd
ediaCodecList.java
b15ed6337c7431234ae20472ce92cd353ea302c5 24-Sep-2014 Lajos Molnar <lajos@google.com> MediaCodec: revalidate cached queued input buffers if queue fails (2)

Handle the other ways queueBuffer can fail. Revalidate the buffers
properly, e.g. without clearing them.

Bug: 17630446
Change-Id: I22e0e89c2835eb6a461046a8cf3be03635088302
ediaCodec.java
7e28fc7370ae26666358553122f0dc20e2b2262a 25-Sep-2014 Lajos Molnar <lajos@google.com> Merge "MediaCodec: revalidate cached queued input buffers if queue fails" into lmp-dev
81ba98619b3b7d5856fe3787167333b05fe16f83 25-Sep-2014 Ruben Brunk <rubenbrunk@google.com> Merge "camera2: Hide JPEGs in RGBA gralloc buffers." into lmp-dev
2354c5eb92016a72688b80c80fb6b94ce8ac4047 24-Sep-2014 Yao Chen <yaochen@google.com> Check the return value of bindService, and notify media browser client
onConnectionFailed if it returns false.

Bug: 17637058
Change-Id: I2284c3a982e5ac6323f51ff7d98aae7699c695e5
rowse/MediaBrowser.java
88b84178d6a8551ea1b534d8750def8dceebdc2a 24-Sep-2014 RoboErik <epastern@google.com> Ensure MediaBrowser state is set to connecting after a reconnect

When the binder had disconnected we were setting the state to suspended
and then not setting it back to connecting when we reconnected. This sets
the state correctly when we are trying to connect again.

bug:17593681
Change-Id: I3fe95fa23ba43ac2dc3692fd28309b2f8e5a3599
rowse/MediaBrowser.java
03fce072cac092923e10a6b5f09fcde333375f9e 24-Sep-2014 RoboErik <epastern@google.com> Allow null queues to be set in MediaSession

Also add some test code for it to OneMedia.

bug:17593962
Change-Id: I074e2bb0329d9a97f623e4309bb7dada157b8324
ession/MediaController.java
ession/MediaSession.java
00bbc7d9faa0830ea15e4846083508b38ceff6e5 24-Sep-2014 Lajos Molnar <lajos@google.com> MediaCodec: revalidate cached queued input buffers if queue fails

For legacy behavior (using getInputBuffers) input buffer needs to
be made valid if queue fails. Otherwise, it becomes unusable,
and the buffer still belongs to the user.

In the new model, buffers obtained by getIn/OutputBuffer will
become invalid even if queue/release fails.

We do not do the same logic for output buffers, as these should
not be accessed even if releaseBuffer fails (which really should not
happen anyway unless codec is in bad state).

Bug: 17630446
Change-Id: Ica72a168d8aea97a0ee3f3ef49c60d0ca5a9fa06
ediaCodec.java
63c8e126e7f0b1d0c984c08292962d57db925435 24-Sep-2014 Ruben Brunk <rubenbrunk@google.com> Merge "camera2: Update CamcorderProfile documentation." into lmp-dev
0fd198ad89ec9c600bb1761b10d938146c28bb98 24-Sep-2014 Ruben Brunk <rubenbrunk@google.com> camera2: Hide JPEGs in RGBA gralloc buffers.

Bug: 17379185

- WAR for SW Write usage flags being unavailable on
certain devices for JPEG (blob) format buffers.

Change-Id: Ic7299785b743f35dd47264b9d1cea01a88b71d91
mageReader.java
27a845cf7c965fe149816324e0f4416a8282be8d 02-Jul-2014 Ruben Brunk <rubenbrunk@google.com> camera2: Update CamcorderProfile documentation.

Bug: 17447258

- Update documentation in CamcorderProfile for LEGACY
mode video handling.

Change-Id: If65b93788a38ffe28caec053f81b9afa538c38a0
amcorderProfile.java
c1823452ad82d46534001434cf75b19cb986ca26 24-Sep-2014 Eric Laurent <elaurent@google.com> Merge "AudioRecord: add HW hotword capture flag" into lmp-dev
f7efd5c6a815b65e5401d51e0e9aae0f459eed72 23-Sep-2014 Jeff Tinker <jtinker@google.com> Merge "Implement API review feedback." into lmp-dev
21069d1914ae7ef07e3edf6bea435e7569f28d64 23-Sep-2014 Jeff Tinker <jtinker@google.com> Implement API review feedback.

bug: 17607941
Change-Id: I136b5d7662a1c51395aa3cd545be40714cd4ac6b
ediaCodec.java
ediaDrm.java
bdad1afa92a6e7cd688061d5432f25a3dd15b64e 20-Sep-2014 Eric Laurent <elaurent@google.com> AudioRecord: add HW hotword capture flag

Bug: 17575019.
Change-Id: Ifa8b8342dffa12e1943b8f9105f6ab1fa4a2b1a6
udioAttributes.java
b5245d8904160917942fe91fc8db7f1dfa098fc0 19-Sep-2014 Christoph Studer <chstuder@google.com> SysUI: Correctly compare MediaControllers

Instead of comparing MediaControllers via reference equality
(which is never true), go deeper and check whether the two
controllers are connected to the same IBinder.

Bug: 17571414
Change-Id: Id25d70be0a60d1900e977310dedcc7063552e018
ession/MediaController.java
1a6be6ed3962735f12dbd5ce1bca758120c8fb8d 16-Sep-2014 Jungshik Jang <jayjang@google.com> Adjust volume bar visibility in HDMI-CEC system audio mode

When HDMI-CEC system audio mode is activated.
1. Hide volume bar when volume button is pressed in TV
2. Show volume bar when TV receives volume notification from
Audio Receiver.

Otherwise, (system audio mode off) follows normal TV's behavior.

Bug: 17347499

Change-Id: I1f5bc14285d60d8626a8fbbef9e1959cae7d193b
udioService.java
7f3d41fd124dd7c4a8b72c1d48df08a8ee7209ec 12-Sep-2014 Andrew Lee <anwlee@google.com> Add new DisconnectCause class to telecomm.

+ Add a hidden "UNKNOWN" default type to ToneGenerator.
- Hide the Telephony DisconnectCause from the public API.
+ Add a Telecomm DisconnectCause. This is parcelable, and contains
information (code, user facing message, non-user facing reason,
and tone) to help describe the disconnect state and what behaviors
an application can implement for the user experience. This reduces
the causes for a disconnect to a more generic set.
+ Lots of work to pipe this through. DisconnectCause replaces the
code and message which were formerly passed around.

Bug: 17241433
Bug: 17329632
Change-Id: I9d337e478a8784bcc0ade02267c2df52cac9bf17
oneGenerator.java
c9ff968787d4744194f9985ebaf8ce7efdd12256 15-Sep-2014 Jungshik Jang <jayjang@google.com> Fix volume change failure in HDMI-CEC system audio mode.

In order to get volume change event, output device should not be
in fixed volume device. This change ignores CEC releated outputs
if system audio mode is on.

Along with this, fix invalid output from getStreamForDevice
as AudioPolicManager does.

Bug: 17502272
Change-Id: I7d4406caea7fa6617f17969dc61aabebb87ecf7d
udioService.java
a526ba12170f98434730b58c9ce18fb4f1df853c 16-Sep-2014 Jeff Tinker <jtinker@google.com> Merge "Document retry behavior for MediaCodec.CryptoException" into lmp-dev
6998c37139b191cb495dc4dcbb63b00e4401bb31 15-Sep-2014 Jeff Tinker <jtinker@google.com> Document retry behavior for MediaCodec.CryptoException

bug: 17469693
Change-Id: I8cc204938b28451c638be017ebb499f525fcff50
ediaCodec.java
ee2ec05ed7c0d3cb9115f4ddd7c3613269c4a57b 14-Sep-2014 Jae Seo <jaeseo@google.com> TIF: Turn debugging off

Bug: 17476383
Change-Id: I28ff54a635bf6468c231efe776dbc8e35460d542
v/TvInputService.java
v/TvView.java
ef9f6f957d897ea0ed82114185b8fa3fefd4917b 13-Sep-2014 Tyler Gunn <tgunn@google.com> Renaming Telecomm to Telecom.

- Changing package from android.telecomm to android.telecom
- Changing package from com.android.telecomm to
com.android.server.telecomm.
- Renaming TelecommManager to TelecomManager.

Bug: 17364651
Change-Id: I192cb5d189f55db012ea72ee82ccc5aedbc21638
udioService.java
f47ff5bf97edf9a5c8d20ef47b6a5b4571554546 13-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "more AudioAttributes javadoc" into lmp-dev
3c8e65a30792470dc2721fbe5377e5dc801484d5 13-Sep-2014 Jae Seo <jaeseo@google.com> TIF: Add a system API to retrieve HDMI device information

Bug: 17487782
Change-Id: I53995735fa190c40819ff352a8b98765a6f7753f
v/TvInputInfo.java
04f55a490d0479f73ac5b749eeb7716d9a2d17db 12-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> more AudioAttributes javadoc

Expand the AudioAttributes and associated Builder javadoc.

Bug 17059703

Change-Id: I81b8d48a3b5b3c203f02da3e37228e5ef7b5451d
udioAttributes.java
873cc45da2463a11182fe94a2565364d7e1709bb 12-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioService: modify stream delay for touch exploration

When accessibility services are running, in particular touch
exploration, the default stream override delay in AudioService
makes it hard for the user to change the notification volume
as when TalkBack speaks, the user would control the media
volume during the utterance, and up until 5s after its end.
Use a shorter delay when touch exploration is enabled.

Bug 17140435

Change-Id: Iabadb9778f2957b5aa0aebd1599f2d69bd83222b
udioService.java
cde5bb45cc86d181d96ee69da1832e6132162871 08-Sep-2014 Michael Wright <michaelwr@google.com> Change callback methods from add to register.

Also changes intent returning method from get to create. Both changes
are in response to API council feedback.

Bug: 17389882
Change-Id: I3b57e3fc202148e3bbb24ac61229f04e8b4ac41e
rojection/IMediaProjection.aidl
rojection/MediaProjection.java
rojection/MediaProjectionManager.java
698286847c344e1aa623617b761e476209cdb7cf 11-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "More android.media.AudioFormat.Builder javadoc" into lmp-dev
db8f7ab752de641b147015a2b4a134913fbcb594 11-Sep-2014 Youngsang Cho <youngsang@google.com> Fix build breakage

Change-Id: Ic52e2d767f3adfedfa4e78aa2510d480c537c857
v/TvInputManager.java
d608f3abacb4223c2d6b52db3008039689aa5d55 11-Sep-2014 Terry Heo <terryheo@google.com> Merge "Add a system API to query hdmi system audio mode" into lmp-dev
19ba61affbc0c4a4454abc6cf09f70ea428d1a62 02-Sep-2014 Chulwoo Lee <chulwoo@google.com> Notify of the update of TvInputInfo

The TvInputInfo is updated when
1. the package is reinstalled.
2. the media on which a newer version of TV inputs exists become
available.
3. the media on which a newer version of TV inputs exists become
unavailable.

BUG: 17349383
Change-Id: I983058b13678bd8ecf7d766dc8bdac5fed7df4a0
v/ITvInputManagerCallback.aidl
v/TvInputManager.java
b1644e156de8e931e9afd59a9a2af83f9ce483a4 11-Sep-2014 Lajos Molnar <lajos@google.com> MediaCodec.Image: use image.setCrop() in constructor

This avoids the ReadOnlyBuffer exception for readonly images.

Bug: 17059255
Change-Id: I83de487e8bf60ba09b1cba1c0106191dd741c217
ediaCodec.java
9127e4580c618bc1afae5c2c280f5a271f7a7635 10-Sep-2014 Jae Seo <jaeseo@google.com> TIF: Enable inflating class android.media.tv.TvView on non-TV devices

Needed to pass the CTS for those devices.

Bug: 17455222
Change-Id: Ief9a76835418906d9e8e06d4e5ddc71a3370055d
v/TvInputManager.java
v/TvView.java
f35423bb4e74f6cdc5e4cfc5302e659457e30f5d 10-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Virtualizer: replace device type by virtualization mode" into lmp-dev
b94b5d33b206e8950288bbb73645373fcabf7d4d 10-Sep-2014 Eric Laurent <elaurent@google.com> Merge "Hide AudioDevice class" into lmp-dev
350f2552e4e1301ebc3b40da2e61a9d3fd5a6223 10-Sep-2014 Zhijun He <zhijunhe@google.com> Merge "CamcorderProfile: Add QUALITY_HIGH_SPEED_2160P" into lmp-dev
2c5afa320e617556351ff058f9ef94f7cdbd24cb 10-Sep-2014 Lajos Molnar <lajos@google.com> Merge "MediaCodec/Drm: move from getErrorCode to getDiagnosticInfo" into lmp-dev
8c4d53c3a9299b0c1fce2bf1c363ea199ad9ac16 05-Sep-2014 Robert Shih <robertshih@google.com> MediaPlayer/SubtitleController:fix add/select timed text on start

- scan internal tracks when necessary
- fix overflow in addTimedTextSource
- do not hide timed text track in doSelectDefaultTrack; i.e. apply
hiding logic to subtitle tracks only
- do not notify stop in scheduleUpdate; it will be fired in onStopped
if necessary

Bug: 17323221
Change-Id: I485f7d9197d10562fbd58d0afe5e9aa4cf610f1a
ediaPlayer.java
ubtitleController.java
aea175e499b40cdb8d3b03ae8bdc9ff66ce786ab 09-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> More android.media.AudioFormat.Builder javadoc

Bug 17059703

Change-Id: I1cca2effecbf1998dfa48774d87d94c00285c16c
udioFormat.java
d7e5f680fa64b76c3d1c2a67572896705a0588ed 10-Sep-2014 Lajos Molnar <lajos@google.com> MediaCodec/Drm: move from getErrorCode to getDiagnosticInfo

Bug: 17059255
Change-Id: I9f5f0be61e94795d90ad29e94b3a1a6e6aedfb1d
ediaCodec.java
ediaDrm.java
b00ab012bf3d325f81813fb949d6cc20702ccd7e 10-Sep-2014 Jeff Tinker <jtinker@google.com> Merge "Add support for max-res decode" into lmp-dev
b67c3102c9e67b4d199000bbfe9ec656ae5e9ca3 10-Sep-2014 Zhijun He <zhijunhe@google.com> CamcorderProfile: Add QUALITY_HIGH_SPEED_2160P

Bug: 17059255
Change-Id: Ic6b272e4ceec8fc852c9eb787370f4d366dad0ac
amcorderProfile.java
aa79d9957652af446d01d5e72afd11a44f7e91ed 09-Sep-2014 Lajos Molnar <lajos@google.com> initialize codec list before MediaCodec.getCodecInfo()

Bug: 17374217
Change-Id: I8e8fc3a34ec01afdf5fc577979010183971c878b
ediaCodecList.java
9580f6c6cb24086c250f1d1c09139c060fd8b50a 09-Sep-2014 Jason Monk <jmonk@google.com> Merge "Add user-specific playSoundEffect and use in NavBar" into lmp-dev
fe5998b5add1e96eafd5583528bfc8d9874a4123 09-Sep-2014 Jae Seo <jaeseo@google.com> Add Japanese content ratings

Bug: 17434802
Change-Id: I4be1ff9e5621f0a973c38f1abb377b1c92131a02
v/TvContentRating.java
7c36c8634287f6bd16e1e0efd117911868759a70 09-Sep-2014 Eric Laurent <elaurent@google.com> Merge "unhide AudioAttributes flag FLAG_HW_AV_SYNC" into lmp-dev
56340fc2e87985fb3d396b63b28168bf57ebe7ce 09-Sep-2014 Eric Laurent <elaurent@google.com> unhide AudioAttributes flag FLAG_HW_AV_SYNC

Bug: 17112525.
Change-Id: Ia817d8e4b6e517da04f948bcb138fc38faea6caf
udioAttributes.java
b3bf7d487afdba540b1ce0f5abc57f060a159d0e 08-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> Virtualizer: replace device type by virtualization mode

Define audio virtualization modes that represent the different
audio processing modes.
Change and document the change in the methods used to describe
the virtualizer capabilities and characteristics.
Implement internal conversion functions between virtualization
modes and device types.

Bug 17059703

Change-Id: Ic4db211d6f51492be9088783246abb4b2866d76f
udiofx/Virtualizer.java
9ff7dda93e59e1e0032f5b96633d1479ab307a11 08-Sep-2014 RoboErik <epastern@google.com> Possible fix for dead handler in Music button event sending

I'm still attempting to root cause, but this is a potential fix. I
suspect the callback is getting registerd on a looper that isn't the
main looper which is then getting killed at some point. This change
will make all legacy callbacks happen on the main looper, which should
prevent the state.

bug:17420281
Change-Id: Ia78e694b32b24398d3c09f49d12632755ef45597
ession/MediaSession.java
ession/MediaSessionLegacyHelper.java
0c37ba318847a44cb9256e55eca1160dc1fffd4d 08-Sep-2014 Jason Monk <jmonk@google.com> Add user-specific playSoundEffect and use in NavBar

Add a hidden version of playSoundEffect that takes a userId to
get the correct setting as to whether sound effects should play
or not.

Bug: 15106706
Change-Id: I5c0b74081fd00732a43fe42a76d33d05197333d0
udioManager.java
d254611778be6bcaf091f1b081caf839dedf79ac 07-Sep-2014 Jae Seo <jaeseo@google.com> TIF: Update Java doc for notifyVideoAvailable/notifyVideoUnavailable

TV input services are now required to call these methods to
unblock/block the screen.

Bug: 17364845
Change-Id: Ifb435900d7f61785198dba2e255a2d24dbf44dc6
v/TvInputService.java
6a8eeda65f5e290365029672ef01f9039a83754f 05-Sep-2014 Eric Laurent <elaurent@google.com> Hide AudioDevice class

AudioDevice class is only used by Virtualizer so
far so it does not need to be public yet.
Also removed redundant DEVICE_ prefix to device
types.

Bug: 17059703.
Change-Id: I5c93f66487b35de24f28641141f8e7de9e85c6c2
udioDevice.java
udiofx/Virtualizer.java
afd899c61fb637528310110cb1ca17d793a97548 06-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Respect Android conventions in AudioManager extras" into lmp-dev
2caa0a6070657a7985e11dc1c9f3174ff93d3f81 06-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioAttributes: unhide CREATOR" into lmp-dev
cfc102685c6e9286f76b8cd5c2ed2318e9b2901e 06-Sep-2014 Lajos Molnar <lajos@google.com> Merge "MediaCodecInfo: allow getting info for secure codec" into lmp-dev
b860155de128180919c9cb8f52bf49441b1c7580 06-Sep-2014 Lajos Molnar <lajos@google.com> Merge "MediaCodecInfo: rename createFromProfileLevel" into lmp-dev
deddda5d62498bbaa9789c622be7a08be83f2f51 05-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> Respect Android conventions in AudioManager extras

Update the value of the extras in android.media.AudioManager
used in ACTION_HDMI_AUDIO_PLUG to respect the Android
naming conventions.

Bug 17390818

Change-Id: Ied1830e0ffa3b1fa7235d0675f36f2f43aac554d
udioManager.java
8aacb2e96c62887d5418851396f903b6cc4bb5ab 06-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioAttributes: unhide CREATOR

android.media.AudioAttributes implements the Parcelable interface,
and is part of the SDK, it therefore requires CREATOR, writeToParcel,
and describeContents to be "unhidden".
CREATOR was still @hide

Bug 17390818

Change-Id: I9c1cb1d454fe538cb5be6066ebed290a99352da9
udioAttributes.java
7492a4c1f4a0645f6dae29d127b931dc9b52226b 05-Sep-2014 Jae Seo <jaeseo@google.com> Merge "API review: android.media.tv" into lmp-dev
2778f5a7bd7c45861b6f2fc5639509e327495a4a 04-Sep-2014 Jae Seo <jaeseo@google.com> API review: android.media.tv

TvInputInfo
- Renamed getIntentForSettingsActivity to createSettingsIntent.
- Renamed getIntentForSetupActivity to createSetupIntent.
- Changed the value of EXTRA_INPUT_ID from inputId to
android.media.tv.extra.INPUT_ID.
- Removed @hiden from CREATOR.

TvInputManager
- Renamed TvInputListener to TvInputCallback.
- Renamed registerListener to registerCallback.
- Renamed unregisterListener to unregisterCallback.
- Changed the value of ACTION_BLOCKED_RATINGS_CHANGED from
android.media.tv.TvInputManager.ACTION_BLOCKED_RATINGS_CHANGED
to android.media.tv.action.BLOCKED_RATINGS_CHANGED.
- Changed the value of ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED from
android.media.tv.TvInputManager.ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED
to android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED.
- Changed the value of ACTION_QUERY_CONTENT_RATING_SYSTEMS from
android.media.tv.TvInputManager.ACTION_QUERY_CONTENT_RATING_SYSTEMS
to android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS.
- Changed the value of META_DATA_CONTENT_RATING_SYSTEMS from
android.media.tv.TvInputManager.META_DATA_CONTENT_RATING_SYSTEMS
to android.media.tv.metadata.CONTENT_RATING_SYSTEMS.

TvView
- Renamed TvInputListener to TvInputCallback.
- Renamed setTvInputListener to setCallback.

Bug: 17389538
Change-Id: I3dceee3db67862d77b183aef0da4fd3a8681ab1b
v/TvInputInfo.java
v/TvInputManager.java
v/TvView.java
77a634503f75b58309ad7a7cf669df57f8b477e8 05-Sep-2014 RoboErik <epastern@google.com> Merge "send volume button events to adjustSuggestedStream instead of adjustStream" into lmp-dev
d89025f505daf6c50a7912e54509a5c2c0df5d96 05-Sep-2014 RoboErik <epastern@google.com> Merge "Minor tweaks to MediaBrowser" into lmp-dev
dfafca76919808db583fbe53765b6358ee955122 05-Sep-2014 RoboErik <epastern@google.com> Merge "rename add/removeCallback to register/unregisterCallback" into lmp-dev
845755d6e7febc24a6d7a26e68ec2414fe736367 05-Sep-2014 RoboErik <epastern@google.com> Merge "rename SERVICE_ACTION to SERVICE_INTERFACE" into lmp-dev
272e161c1a200900cb10b5b0cdab8ae1f123cabd 05-Sep-2014 RoboErik <epastern@google.com> send volume button events to adjustSuggestedStream instead of adjustStream

This way the audio system can route the adjustments correctly when a bt
headset is connected.

bug:17281977
Change-Id: Ic41d038e47179baffc86e539562da285446148c7
udioManagerInternal.java
udioService.java
5dfa0a5f7a6365ddf3939f29227366172979e53e 05-Sep-2014 RoboErik <epastern@google.com> Minor tweaks to MediaBrowser

-A swapped the param order on MediaBrowser.MediaItem constructor
-Added a missing aidl file for MediaItem

bug:17205016
Change-Id: I61538d76f76a993ed5a47b881e0d291fef1d8db3
rowse/MediaBrowser.aidl
rowse/MediaBrowser.java
14f717a506a0d22facbec07386b06634e0c6a8ee 05-Sep-2014 RoboErik <epastern@google.com> rename add/removeCallback to register/unregisterCallback

bug:17390821
Change-Id: Id610b481083686dba2a28b6c7c47b747f89eef4f
emoteController.java
ession/MediaController.java
3512bcd3af103d35c5c3503cecc05fbec053c91f 05-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Permission check for entering MODE_IN_CALL" into lmp-dev
ccd654e9d4c38da0d652c442e7a2ca3f447e9abe 04-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> Permission check for entering MODE_IN_CALL

Make the ability to change the audio mode conditional to having
the MODIFY_PHONE_STATE permission.
Make AudioService's internal implementation of the mode setting
(the setModeInt() method) private, it is only meant to be used
by AudioService.
Refer to the permission names through Manifest.permission, not
by their string value.

Bug 14964198

Change-Id: I49870207566e53d5c8764646cece06d8272f93ed
udioService.java
92e565f71526141cb38f864dcb4eeb54d2cbf869 04-Sep-2014 RoboErik <epastern@google.com> rename SERVICE_ACTION to SERVICE_INTERFACE

For API consistency this intent is suppose to be named SERVICE_INTERFACE.

bug:17390782
Change-Id: I4c3b1d8476dd6c939792f73615e92d7bfa6d5758
rowse/MediaBrowser.java
a4b9a191a85507b077f59b6ac5ce210caa0a84a3 04-Sep-2014 RoboErik <epastern@google.com> Merge "Ensure there's a valid handler when registering a sessions listener" into lmp-dev
b6efa23adc55a694ea4a82c400513fcfe38e51d9 04-Sep-2014 Eric Laurent <elaurent@google.com> Merge "AudioManager: only use main looper for AudioPort event handler" into lmp-dev
a18b69f5907ef27b9954dfcbe8f60d29fcec2be7 04-Sep-2014 Lajos Molnar <lajos@google.com> MediaCodecInfo: rename createFromProfileLevel

Bug: 17389380
Change-Id: I1d4dc8dff90deedab80aa1b03454b8554d66860a
ediaCodecInfo.java
f85a08d30f6b9870fc77bd1c3fc97640ab37f60c 04-Sep-2014 RoboErik <epastern@google.com> Merge "Update VolumeProvider apis per feedback" into lmp-dev
e7d6d97f0d95b9e8982b0d4d9f5e8ce688291940 04-Sep-2014 Terry Heo <terryheo@google.com> Add a system API to query hdmi system audio mode

Bug: 17383620
Change-Id: I75f11619845e5070190414a2bbe967ba85001472
udioManager.java
udioService.java
AudioService.aidl
5a7e9207f0e530cd95beda087ddd3680d661e5ab 04-Sep-2014 Eric Laurent <elaurent@google.com> AudioManager: only use main looper for AudioPort event handler

Bug: 17336373.
Change-Id: I0a9a7012778f99acbf027ec2928ca222954ad0bd
udioPortEventHandler.java
8e1e84847e47097a60d9049cbc78b6880f9c5656 04-Sep-2014 RoboErik <epastern@google.com> Ensure there's a valid handler when registering a sessions listener

Some legacy apps register a RemoteController on a thread without a
looper. This ensures a handler with a looper is used when it registers
the sessions listener.

bug:17357029
Change-Id: Ia3d98f5dcc331edd0c3a7e858db1d9e7e2749e14
emoteController.java
a90ae8bebb73a2de3e7adc61cdc4f7b7c5a62976 04-Sep-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Add Quebec ratings for Canada and fix the XML example" into lmp-dev
0a514c0a87fe3f3a7a8ed973f68c2fc23d242baf 04-Sep-2014 Jae Seo <jaeseo@google.com> TIF: Add Quebec ratings for Canada and fix the XML example

Bug: 17332911, Bug: 17321648
Change-Id: Ice884ecdeda246e978ab235913e3e92d0c1e6ec2
v/TvContentRating.java
9ed982d42d943b373fb8f90841c61be6b2e92659 04-Sep-2014 Jungshik Jang <jayjang@google.com> Rename ro.config.music_vol_steps into ro.config.media_vol_steps.

Bug: 17342612
Change-Id: I77b08a606d26e3d3fd909e28c5ecb9898d214be0
udioService.java
0d0f67f5ee5f939a1b611bc4583212707afd9bee 04-Sep-2014 RoboErik <epastern@google.com> Update VolumeProvider apis per feedback

Added currentVolume to constructor.
Removed onGetCurrentVolume and notifyVolume changed.
Added setCurrentVolume and getCurrentVolume.
Updated javadoc to make it clear how they're used.

bug:17258168
Change-Id: I24388aab38824b101ccc18810caa09d46aa7afe0
ediaRouter.java
olumeProvider.java
ession/MediaSession.java
49367a367c97991d58d723f602afc4b402e62b00 03-Sep-2014 Glenn Kasten <gkasten@google.com> Merge "Fix regression in CTS for AudioTrack" into lmp-dev
9df2c1be321a0108b718e7dcd77a03d99ded40d4 03-Sep-2014 Youngsang Cho <youngsang@google.com> Add a warning log when it takes long time to handle a message in TIS

Bug: 17291092
Change-Id: If14ff467ac81d4f8d33febd57dd414dc5f4d3558
v/ITvInputSessionWrapper.java
bcd20f850c1540ff6b5b88b46acea4a67354da99 03-Sep-2014 RoboErik <epastern@google.com> Merge "Allow empty strings in playFromSearch" into lmp-dev
4b253d2bcd62ea2a9afb067c1f1363fa7b752185 02-Sep-2014 RoboErik <epastern@google.com> Allow empty strings in playFromSearch

This allows empty strings to be passed to playFromSearch to indicate
something should be chosen for the user and played. This makes it
consistent with INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH.

bug:17316566
Change-Id: I00ce8d252efa940e05568629e35198450c224a92
ession/MediaController.java
ession/MediaSession.java
42f0a36eceb051f1f06491855598222f97f93f79 03-Sep-2014 RoboErik <epastern@google.com> Merge changes Id38bcf7c,I54f156d9 into lmp-dev

* changes:
Update MediaController comment to mention notification listeners
Don't play a sound when adjusting volume while telephony is active
f2133474afce7808541c92a1e5c78eb8b0950329 03-Sep-2014 RoboErik <epastern@google.com> Update MediaController comment to mention notification listeners

Forgot to update the comment to specify that notification listeners
may also get a MediaController from the manager.

Change-Id: Id38bcf7cb38185bfe4f99bcf8889a6415320dd36
ession/MediaController.java
e8f8bc0ad6f7f2c657b4360033d2c7571c800ccb 03-Sep-2014 Jungshik Jang <jayjang@google.com> Merge "Make stream_music volume configurable." into lmp-dev
859f4f72720abc62cd51fbe27b960a4661009925 02-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Restore permission check for mic muting" into lmp-dev
c56b8085919771b6f027dc64ed6a44915e392464 30-Aug-2014 Glenn Kasten <gkasten@google.com> Fix regression in CTS for AudioTrack

Bug: 17160316
Change-Id: Id1828f6684cdd410ee315c8b313d64785d786e1d
udioTrack.java
02aa75a08303796801ffd74b9c0bd2f8079248af 02-Sep-2014 Michael Wright <michaelwr@google.com> Merge "VirtualDisplay.Callbacks -> Callback" into lmp-dev
5f4cfd3ab73f4d8173db05d7c94c098a06cd5f57 02-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Move *_AUDIO_PLUG actions from Intent to android.media.AudioManager" into lmp-dev
4a4fea0752c8edd33d680765e97ee3b538d777a5 30-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> Restore permission check for mic muting

The implementation for AudioManager.setMicrophoneMute() used to
call directly into AudioSystem which called directly into
AudioFlinger and the mediaserver process, where the check for
the MODIFY_AUDIO_SETTINGS is performed.
A regression was introduced by Ib32138bcc256cfbac4fe21a090d5ba34f5c641fc
which calls first into AudioService which runs in system_process
before calling into AudioSystem, which granted the permission.
This CL adds a permission check in this code path when calling
AudioService.

Bug 17259652

Change-Id: I4ac5269262eb90df80ee81db6ec3d96977ee53be
udioService.java
a7118c9bb2764a98ac5920f211af15d19553c6a8 02-Sep-2014 Ronghua Wu <ronghuawu@google.com> Merge "API: Document android-allow-cross-domain-redirect in MediaPlayer and VideoView" into lmp-dev
17a1b48629138c177106a21d4350a3be0e74aad7 02-Sep-2014 RoboErik <epastern@google.com> Merge "Update MediaBrowser to use String ids instead of Uris" into lmp-dev
65899b10929dca755fbc43161fe5017e1fd0f0cc 02-Sep-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Allow ISO 639-1 code for Channels.COLUMN_AUDIO_LANGUAGE" into lmp-dev
9e85408f12a0a5c172805c8f5863f8998ef570a1 02-Sep-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Fix the Singapore content ratings" into lmp-dev
75f903e1237fa071676871c6cb4f6df46f1e9f86 02-Sep-2014 Sungsoo Lim <sungsoo@google.com> Merge "Do not show the input icon when it's not available." into lmp-dev
363383206361ca9c84b65d87bd4ece2012663afa 02-Sep-2014 Sungsoo Lim <sungsoo@google.com> Do not show the input icon when it's not available.

Bug: 17335230
Change-Id: Icb84949ed55f22bb384df9ed4bbfe3d86949c301
v/TvInputInfo.java
3652e1d8b879fd8e96e8f4e09cefea3c05aa4857 02-Sep-2014 Jae Seo <jaeseo@google.com> TIF: Fix the Singapore content ratings

It is not that Singapore has two different rating systems. There is just one
rating system from Board of Film Censors but each broadcaster uses a different
subset of ratings. For example, Free-To-Air uses PG and PG13 while Pay TV uses
NC16 and M18 ratings in addition to the PG and PG13.

Bug: 17330613
Change-Id: I5a5e47706e7415f13a5e7dc9c00cc2c3c3763965
v/TvContentRating.java
75ee9fcde4d9e1be3883eba6c8d193db4375b052 02-Sep-2014 Michael Wright <michaelwr@google.com> VirtualDisplay.Callbacks -> Callback

Also, rename methods to be onPaused instead of onDisplayPaused, etc.

Bug: 17008630
Change-Id: Id9ead22a42d36ac338309f0f021ba341ed991144
rojection/MediaProjection.java
d6ae33bd6abfe2ec7f6ec6279711f625d75d0924 02-Sep-2014 Jae Seo <jaeseo@google.com> TIF: Allow ISO 639-1 code for Channels.COLUMN_AUDIO_LANGUAGE

Bug: 17331873
Change-Id: Idabeb056ae2105125174d7392dbe4fae614752fc
v/TvContract.java
d71c691bc56ef4c5c3cf6b4cabcc450d6b1820c0 01-Sep-2014 Wonsik Kim <wonsik@google.com> TIF: add SystemApi's for ITvInputHardware related methods

Bug: 17322530
Change-Id: I813d865bc9a77d1d381e52188afac5c5c75a2968
v/TvInputManager.java
32069a1292345b29484079ede47ca92fa87c2448 01-Sep-2014 Jungshik Jang <jayjang@google.com> Make stream_music volume configurable.

AV devices including TV have more fine-grained volume control
for media type (audio and video). But audio service allows
only 15 steps for music type.
This change mimics voice calls approach to make music type
volume configurable.

Bug: 17342612
Change-Id: Ic82ff4d74b29963edfe92975000df07244492ae6
udioService.java
774f6c3657dff9f05ffd90d9a4a90153d06180e1 30-Aug-2014 Ji-Hwan Lee <jihwan@google.com> Add missing checks for the current session callback

Bug: 17336320
Change-Id: I4676c4d76d1ed9d22bd476319098cbfcce52cd6d
v/TvView.java
8b63a2bf503f7feca5c24f1cf9bca657dac9eb25 30-Aug-2014 Rachad <rachad@google.com> Merge "Tunneled Video Playback: Fixed missing AudioHwSync for provided Audio session ID" into lmp-dev
f7255fcc149041ac5c7d91a13e63a9a09d70a13f 30-Aug-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Fix comment on TvContentRating" into lmp-dev
c5258433dd353769ccfa2e5e769a7379378a3a0b 28-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> Move *_AUDIO_PLUG actions from Intent to android.media.AudioManager

For ACTION_HEADSET_PLUG (already in SDK):
- duplicated definition in AudioManager and moved
javadoc there. Javadoc in Intent points to AudioManager.
- the String value is not changed

For ACTION_HDMI_AUDIO_PLUG (being added in SDK):
- moved defintion from Intent to AudioManager
- updated String value to reflect package name "android.media"
instead of using "android.intent"
- added definition of the extras, but removed "name".

For ACTION_ANALOG_AUDIO_DOCK_PLUG,
ACTION_DIGITAL_AUDIO_DOCK_PLUG,
ACTION_USB_AUDIO_ACCESSORY_PLUG,
ACTION_USB_AUDIO_DEVICE_PLUG, all hidden:
- moved definition from Intent to AudioManager,
- changed the value from "android.intent.*" to "android.media.*"

Updated AudioService, UsbDeviceManager and UsbHostManager
to refer to the actions in AudioManager, not Intent.

Bug 17289385

Change-Id: I61dd73140022d2bb9a676a57f595092c8fa89dcc
udioManager.java
udioService.java
b417c9d0e2819e1108b2c3e8dd7c8ea8eae57e6f 30-Aug-2014 Jae Seo <jaeseo@google.com> TIF: Fix comment on TvContentRating

Bug: 17332911
Change-Id: Ia2d76b2c6ecf6b804f8b6aa8cec78a243b70e966
v/TvContentRating.java
2f08888fbeb1bf56033b37e83835415acd497cdf 30-Aug-2014 RoboErik <epastern@google.com> Merge "Document MediaSession.Callback.onMediaButtonEvent and add returns" into lmp-dev
c692d05951561e1d9fde952cc5389ec167bdb7bb 30-Aug-2014 RoboErik <epastern@google.com> Update MediaBrowser to use String ids instead of Uris

Since we converted MediaDescription over to using a String media id
for identifying everything we should also use Strings in the browser
service to make it clear that it should re-use that field.

bug:17333205
Change-Id: I5fd5762bdad05068f5b1aa36074306b43432e686
rowse/MediaBrowser.java
51374011a85e7f5860766c4f56cd73ff39e77528 29-Aug-2014 Andrew Jeon <jeon@google.com> Replace "Comment" to "Description" since description makes more sense in
the context of the java doc.

Change-Id: Id7c2bb76d792680eb6d674cd01290272de723b92
v/TvContentRating.java
cd74270da7a7320904f14a465b8902dd5ea56f1d 29-Aug-2014 RoboErik <epastern@google.com> Document MediaSession.Callback.onMediaButtonEvent and add returns

Documents the return value and makes sure it returns true where
appropriate.

bug:17289717
Change-Id: Ia831a7212b76e8434b745be70da2ed106fa01230
ession/MediaSession.java
c38f9ba81cf8e4493e2d2324be9acf5d5e997b4b 29-Aug-2014 Rachad <rachad@google.com> Tunneled Video Playback:
Fixed missing AudioHwSync for provided Audio session ID

Bug: 17112525
Change-Id: I89509ada88462d4db7fc37007e0ffaea153da5cd
ediaCodec.java
336d3eabc0d57fd2d1b8a9aa4ade7a0450cf183e 29-Aug-2014 Jeff Tinker <jtinker@google.com> Add support for max-res decode

bug: 16034599
Change-Id: I12124aef03518600a27de45bae24eef9c9735be5
ediaCodec.java
4c4eadc33dcfe75c32b28fb3fce3f3b02b8708bd 29-Aug-2014 Dongwon Kang <dwkang@google.com> TIF: update the default value documentation of Channels.COLUMN_BROWSABLE.

Bug: 17310177
Change-Id: Ibd765675983082f63fde3586b7c7cf6cd399c80d
v/TvContract.java
09daab204c4121138b77d43c3c56632474612a4d 29-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "android.media.Ringtone: add getter for AudioAttributes" into lmp-dev
d33c3a7765f91d1cf4b7ac1ebec4af02bb9149cd 29-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "More AudioManager.generateAudioSessionId() javadoc" into lmp-dev
350be2e1c2e4ad8b1a1386a55b40c123f148e94e 28-Aug-2014 RoboErik <epastern@google.com> Merge "Update to MediaBrowser APIs per council feedback" into lmp-dev
4fe4facb6870383754aed09805e6f7f61826bbda 28-Aug-2014 RoboErik <epastern@google.com> Merge "Set/unset session on the callback" into lmp-dev
5ea924bcdb7d1a796937a315f59db44179bb4181 28-Aug-2014 RoboErik <epastern@google.com> Set/unset session on the callback

We lost this somewhere. When a callback is set on a MediaSession it needs
to have a reference to the Session so it can do default routing of media
keys.

bug:17304614
Change-Id: I4af82947da790135049d40c5c69c2996f3cc4ccc
ession/MediaSession.java
3625bf72cb8bcf3c7f8f8cd8d708d7206824cc62 28-Aug-2014 RoboErik <epastern@google.com> Update to MediaBrowser APIs per council feedback

Does all the updates in the bug except the loadIcon/loadBitmap
methods, which are removed per feedback from Sharkey.

bug:17205016
Change-Id: Ie84d4d25a59c6985ce16972c26c8d1e5c02ff5c9
ediaDescription.aidl
ediaDescription.java
ediaMetadata.java
rowse/IMediaBrowserService.aidl
rowse/IMediaBrowserServiceCallbacks.aidl
rowse/MediaBrowser.java
rowse/MediaBrowserItem.java
rowse/MediaBrowserService.java
ession/ISessionCallback.aidl
ession/ISessionController.aidl
ession/MediaController.java
ession/MediaSession.aidl
ession/MediaSession.java
ession/PlaybackState.java
a8528c642090525f0e5f3c35dc3ba5a50ff17093 28-Aug-2014 Julia Reynolds <juliacr@google.com> Merge "Audio/Micrphone user restriction/multiuser updates." into lmp-dev
2b29bc4c1cef64abdf3a68b60bdcf7207193e980 26-Aug-2014 John Spurlock <jspurlock@google.com> Enhance audio service dumpsys.

- Add device name for keys
- Add max volume for streams
- Add missing stream name constant

Bug:16964015
Change-Id: I92facbd8ae49ba299c27bcb10bcf6668fed0d302
udioService.java
udioSystem.java
dbf1552d526e62859e7a40cfea8e68b614a7d413 28-Aug-2014 Lajos Molnar <lajos@google.com> MediaCodecInfo: allow getting info for secure codec

3 minor fixes:
- return correct codec's info from MediaCodec.getCodecInfo()
- treat required features supported
- make feature spec optional in isFormatSupported

Bug: 17154761
Change-Id: Ie98af35ec16caf48a76358fe178f9cc243abad4f
ediaCodec.java
ediaCodecInfo.java
ediaCodecList.java
7b8b560e3fa7687e45994e64b51e0f7a0bc1ac9e 28-Aug-2014 Lajos Molnar <lajos@google.com> Merge "media: update MediaCodec/Info/List/Format APIs based on review comments" into lmp-dev
9c165d6e9a2f085fbdc87b9221f2d52d851b2652 25-Aug-2014 Jae Seo <jaeseo@google.com> TIF: Enable applications to register custom content rating systems

A recent change that moved the string resource for the system supported
content ratings from the framework to the TV app led to a need for
allowing the TV app to publish its own content rating systems. This
change added an intent action and a metadata key to be used by the TV
input manager service for querying available content rating systems,
similarly to the way InputManager defined ACTION_QUERY_KEYBOARD_LAYOUTS
and META_DATA_KEYBOARD_LAYOUTS for custom keyboard layouts. Applications
now can register their own rating systems simply by declaring a
broadcast receiver in their manifests.

Bug: 17167287, Bug: 17114406
Change-Id: I1808c624014b603ea709714737c2a880714bdc0a
v/ITvInputManager.aidl
v/TvContentRating.java
v/TvContentRatingSystemInfo.aidl
v/TvContentRatingSystemInfo.java
v/TvInputInfo.java
v/TvInputManager.java
6c104d84c36196a5dd79f3538ec73d9de1396930 27-Aug-2014 Eric Laurent <elaurent@google.com> Merge "fix condition to send ACTION_AUDIO_BECOMING_NOISY intent" into lmp-dev
217474682ab9c551f331a598cf99d4e8d50f2a8d 23-Aug-2014 Lajos Molnar <lajos@google.com> media: update MediaCodec/Info/List/Format APIs based on review comments

Bug: 17059255
Change-Id: Ifbba2a0799e7db5ae48190ba6b1e4ba13fffa167
mage.java
ediaCodec.java
ediaCodecInfo.java
ediaCodecList.java
ediaFormat.java
84e18ecd4b3fe99c6938f67f415da4a48276428f 27-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> android.media.Ringtone: add getter for AudioAttributes

Bug 17290606

Change-Id: I28406080cc1fb6a916b2859d0ef39980464953e9
ingtone.java
b53453fae037d67e421011936c8fdffe7ba43922 22-Aug-2014 Julia Reynolds <juliacr@google.com> Audio/Micrphone user restriction/multiuser updates.

1. Persist microphone mute state.
2. Set mute state for correct user.
3. Check for settings restrictions as the correct user.

Bug: 17177502
Bug: 16701642
Change-Id: Id8b6cd90c5caceb67fbec862f90aac7ec7a00b3c
udioService.java
27c30e4426302581a266c89d0ef880b340d7b061 27-Aug-2014 Eric Laurent <elaurent@google.com> fix condition to send ACTION_AUDIO_BECOMING_NOISY intent

In checkSendBecomingNoisyIntent(), only output devices
must be taken into account when checking if the device
type is in mBecomingNoisyIntentDevices

Bug: 17298383.
Bug: 16403219.
Change-Id: I2213681184ab9fb3b874029143f2bbd34032d6b8
udioService.java
c0dce273a8af0263b660b57c1a05395a0bd2d2e5 27-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "SoundPool.Builder: document default values" into lmp-dev
ff9ec7779a91972d251d92115f47e083a9067006 26-Aug-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Make TV content rating names consistent" into lmp-dev
56bfc2bc24aec2acbbab0dc66c961243f26fcf1f 26-Aug-2014 Ji-Hwan Lee <jihwan@google.com> Merge "TIF: Reset main TvView only for explicit reset() call" into lmp-dev
d0f00588834806d3f52c95c2d5fb13d9a92bddfc 26-Aug-2014 Ji-Hwan Lee <jihwan@google.com> TIF: Reset main TvView only for explicit reset() call

Or, do not reset when it's called internaly while tuning.

Bug: 17269010
Change-Id: I3447ef0e628c066f71eee5a1416347fa6c721504
v/TvView.java
b2835e2700a200b368a8247739648601d79e2b06 26-Aug-2014 Jae Seo <jaeseo@google.com> TIF: Make TV content rating names consistent

Bug: 17275999
Change-Id: I79e9ce180b23b37799f0e7daffa7778bff9cd3e4
v/TvContentRating.java
c931cc085091345f9667bf1e0ed8afd58e721a62 26-Aug-2014 Youngsang Cho <youngsang@google.com> Merge "Reset a session callback variable when tune is failed" into lmp-dev
7cf67054550e8e6ea2379d7b0f0653796ce85062 26-Aug-2014 Youngsang Cho <youngsang@google.com> Reset a session callback variable when tune is failed

Change-Id: I7c0188d916047f8331c74ce7a29b0a5228583979
v/TvView.java
ffad70bb7efe08ab8f03cb93e783714232a101ac 26-Aug-2014 Chulwoo Lee <chulwoo@google.com> Recreate overlay view after the TIS crashes

The overlay view should be recreated when the session is recreated
after the TIS crash.

Change-Id: I7605aac0feed644ae29d65127f68630c3658343f
v/TvView.java
984d99b584b4d24c160a8725e1624c68ac70f122 26-Aug-2014 Chulwoo Lee <chulwoo@google.com> Fix checking trackId

BUG: 17261638
Change-Id: I141b7c9de1289c49f29d2f1e1ac534045abb333d
v/TvInputManager.java
9e477e408433fe1bd0c695b1e7a0738a76009cfd 26-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> More AudioManager.generateAudioSessionId() javadoc

Expand the javadoc for AudioManager.generateAudioSessionId() to
describe what audio session IDs are used for.

Bug 17059255

Change-Id: I7a8764fd12fa332af747c4d584b0079e80bacf44
udioManager.java
2d17128f6e9954a818a71513ad6da4180e95356b 26-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> SoundPool.Builder: document default values

Complete javadoc for android.media.SoundPool.Builder to document
what the default values are.

Bug 17059255

Change-Id: I966e9ed00ed75a78c9b4741b7f68bae996442cdf
oundPool.java
f178c14919606698c3cec7e788a93b07d4ee6de6 26-Aug-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: fix NPE when notifyXXX is called on c-tor of Session implementation" into lmp-dev
c88b8f8722fbd24d392d8fd128a18e83d26261e5 25-Aug-2014 Dongwon Kang <dwkang@google.com> TIF: fix NPE when notifyXXX is called on c-tor of Session implementation

Bug: 17241260
Change-Id: Ib82ed9fb98f13e31cdf70a3bb273384abcf1b33a
v/TvInputService.java
d38eeb5512016a2709ae99695678e5ca46f24d7f 26-Aug-2014 John Spurlock <jspurlock@google.com> Merge "QS: Wire up screen casting to tile/panel." into lmp-dev
e4b1d57dfd89035a67984e1a295d5ef5b97953be 26-Aug-2014 Nancy Chen <nancychen@google.com> Merge "API review PhoneManager -> TelecommManager. Rename methods (6/6)" into lmp-dev
48db7834830215a3ee00f31a442a62acf33cabfa 25-Aug-2014 Ronghua Wu <ronghuawu@google.com> API: Document android-allow-cross-domain-redirect in MediaPlayer and VideoView

Bug: 17238151
Change-Id: Ib1e780cf5f93b07a7abbca839e7cc9f92a60d451
ediaPlayer.java
78b8c8fbde12b214314cc2ab2644350b5d5189a5 25-Aug-2014 John Spurlock <jspurlock@google.com> QS: Wire up screen casting to tile/panel.

Use MediaProjectionManager to determine whether or not
screencasting is active, when it changes, and to stop
casting.

Also:
- Implement hashCode/equals on MediaProjectionInfo
- Fix unintentional recursion in the service.

Bug:16488053
Change-Id: Icd1a88f23bbdf1d4c1915b30cb2508f8fe9d6d7e
rojection/MediaProjectionInfo.java
cc3e5d5cd197ad45e051e31fd85af28588af4cf7 25-Aug-2014 RoboErik <epastern@google.com> Merge "Ensure current volume is current" into lmp-dev
0eb1e402c7e612887e38dc5516f11506b11fd835 22-Aug-2014 Nancy Chen <nancychen@google.com> API review PhoneManager -> TelecommManager. Rename methods (6/6)

PhoneManager
- handlePinMMI docs should explain what a Pin is and what MMI is
- rename isInAPhoneCall to isInCall
- rename showCallScreen to showInCallScreen
- merge this class into TelecommManager, we don't need both

Bug: 16960458

Change-Id: I7d573e27ed093f2ddb7849703cc62f9916835393
udioService.java
8d0b268e42077bab8948de08963cc499e7ad1030 25-Aug-2014 Wonsik Kim <wonsik@google.com> TIF: define hidden channels columns as @SystemApi

Bug: 17165479
Change-Id: Ic0b0bdbc440eb15e68e4a1a5fa15a4875b17d061
v/TvContract.java
7e2b3008f11cae295c84d20f32d731e1d379562f 22-Aug-2014 RoboErik <epastern@google.com> Ensure current volume is current

This sets the current volume when a session is switched over to
remote playback. Otherwise it won't be current until it changes and
sends an update.

Change-Id: Iabedb24a34e88308e7e3c56a2b1ab279a17b466b
ession/MediaSession.java
a802e26d084acc6ab17fda52d6d9bd2a1a721997 22-Aug-2014 Lajos Molnar <lajos@google.com> Merge "MediaCodeInfo: fix support for feature-can-swap-width-height" into lmp-dev
ae06aec9bb524136497b67b6a677a75e4f42b87d 22-Aug-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Fix comments in TvContentRating" into lmp-dev
ceb51abc74129f5c736ba5aa0400c45f1c4752ac 22-Aug-2014 Jae Seo <jaeseo@google.com> TIF: Fix comments in TvContentRating

Bug: 16876068
Change-Id: I4c8be4ecbbdefac8e85531fa9b918f454b9e45d8
v/TvContentRating.java
e91f83c88e9e15897e498f061fbcb62e4e58e031 22-Aug-2014 Youngsang Cho <youngsang@google.com> Merge "Send notification messages immediatelly" into lmp-dev
9044be13dc0b625f10c459574abdd22603f86d50 22-Aug-2014 Youngsang Cho <youngsang@google.com> Send notification messages immediatelly

Notification messages are posted through a handler with a main thread.
When a caller of TIS.notifyXXX runs also in a main thread, the notification
is delivered after the method including the caller is finished.
So we added runOnMainThread and made notification messages sent through
runOnMainThread.

Change-Id: Ieb2c5c04ff031e42a532acfc45e0174563265c6b
v/TvInputService.java
6ac9da6b181828b88ef2403d8d5ff0a79c173a24 21-Aug-2014 Lajos Molnar <lajos@google.com> MediaCodeInfo: fix support for feature-can-swap-width-height

Also fix an issue with limiting size based on number of
blocks allowed.

Bug: 11990740
Change-Id: I3b01be4031dce6b425e8573da5de527ba2a0995c
ediaCodecInfo.java
c54a76cbcd1e4bc7f27de2010c1c1fd4ed6f845a 22-Aug-2014 Lajos Molnar <lajos@google.com> Merge "MediaCodec: expand documentation on flush/EOS handling and adaptive playback" into lmp-dev
c90c7d257c21a7680c1b642f8da917826fc986c5 22-Aug-2014 Ronghua Wu <ronghuawu@google.com> Merge "MediaHTTPConnection: handles cross protocol redirects." into lmp-dev
5b9305fe9bbe8bb6916bd8daff085c0675b626f3 21-Aug-2014 Ronghua Wu <ronghuawu@google.com> MediaHTTPConnection: handles cross protocol redirects.

Bug: 16899444
Bug: 17106630

Change-Id: I7e416447abffcae31c65fd469ee5f9fc867b4cdc
ediaHTTPConnection.java
6c30ff976dc6b49186c162ecbae08eb571a6b9f1 21-Aug-2014 RoboErik <epastern@google.com> Always set transport control flags

In case we're attaching to a pre-existing session with non-zero flags.

bug:16822064
Change-Id: Ibd5cc8e00de59f1fe30fc3d0e64741aaf9f4746f
emoteControlClient.java
69b131339b141ff9616540d9a88199ed8849a47e 21-Aug-2014 RoboErik <epastern@google.com> Merge "Set transport control flags when a session is created" into lmp-dev
f0e530e4eb1d4af7df76fa8d8e75e6783d6e7c29 21-Aug-2014 Jaewan Kim <jaewan@google.com> TIF: Accept any character for custom label.

Bug: 16874696
Change-Id: Idc42853ea7f4b12a2eda1f45319bc31ee1a8c6b7
v/TvInputInfo.java
c7f440dcd86ae88fc1b51e4394d66e4e80c9e53e 21-Aug-2014 Ji-Hwan Lee <jihwan@google.com> TIF: Release main TvView on reset()

Also, use WeakReference for TvView.sMainTvView.

Change-Id: I6eec1c9f907692f0fbfa96d80c7d1141eabde6e2
v/TvView.java
14355950d5ce42b8043cfb96d192f1c76b93d496 20-Aug-2014 Jae Seo <jaeseo@google.com> API Review: android.media.tv

TvContentRating:
- The XML file: attributes should have android: prefix and should allow
string resource references for labels.

Bug: 17114406
Change-Id: Ife2f4dc6c2c8a5a1714cdeedb27aab40fce73e2b
v/TvContentRating.java
93b466253103eea22690d90a1ada7e77969a6ea1 21-Aug-2014 RoboErik <epastern@google.com> Set transport control flags when a session is created

Some apps only set the transport control flags once when their service
starts. This was leading to them not getting set when a session is
created on their behalf in RCC. This sets the flags when a session
is created if needed.

bug:16822064
Change-Id: Iea1ebf7747b3059101eb3c36b143b594cc51e114
emoteControlClient.java
479cc54307616b079ab37a3c2d083379ccfd3fb9 30-Oct-2013 Lajos Molnar <lajos@google.com> MediaCodec: expand documentation on flush/EOS handling and adaptive playback

Bug: 11216198
Change-Id: I929954ec381511b9b97e53a91ff6fdff75ca1382
ediaCodec.java
f1b2335a36fa6f2b9926f309a7c4ed29a1404ec4 20-Aug-2014 Jeff Brown <jeffbrown@google.com> Only select bluetooth route by default when A2DP is enabled.

Bug: 15756471
Change-Id: I822e51742e009b473000b8d67ec9c9a81c39b702
ediaRouter.java
d2b8c947ddfc6349a3ae6c3968b422b9cf50d7ed 19-Aug-2014 RoboErik <epastern@google.com> Api updates to MediaSession components

-renames get/setBufferPosition to get/setBufferedPosition
-renames getLaunchActivity to getSessionActivity
-adds doc link to setVolumeTo flags param
-renames setLaunchActivity to setSessionActivity
-hides setMediaRouter
-moves PLAYBACK_TYPE_ constants to MediaController.AudioInfo
-adds addOnActiveSessionsChangedListener version with a handler parameter
-renames AudioInfo to PlaybackInfo

bug:17114404
Change-Id: I0fbfe4eb979cb2af98e3f13095c654bb131f7ae5
ession/MediaController.java
ession/MediaSession.java
ession/MediaSessionManager.java
ession/ParcelableVolumeInfo.java
ession/PlaybackState.java
b135d06cb83db03b1328b7a82f064de7868fb16f 20-Aug-2014 Jeff Brown <jeffbrown@google.com> Remove incomplete media router API. (DO NOT MERGE)

Change-Id: I310fadafb5a6b8190a32e5d87f3e1823c87bcef7
outing/IMediaRouteClientCallback.aidl
outing/IMediaRouteService.aidl
outing/IMediaRouter.aidl
outing/IMediaRouterDelegate.aidl
outing/IMediaRouterRoutingCallback.aidl
outing/IMediaRouterStateCallback.aidl
outing/MediaRouteSelector.aidl
outing/MediaRouteSelector.java
outing/MediaRouteService.java
outing/MediaRouter.java
outing/ParcelableConnectionInfo.aidl
outing/ParcelableConnectionInfo.java
outing/ParcelableDestinationInfo.aidl
outing/ParcelableDestinationInfo.java
outing/ParcelableRouteInfo.aidl
outing/ParcelableRouteInfo.java
ession/ISession.aidl
ession/ISessionController.aidl
ession/MediaController.java
ession/MediaSession.java
3acf66f5580b9e411ff20674c676de0901d4b459 20-Aug-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Add the video frame rate information to TvTrackInfo" into lmp-dev
47b9e4afc9dba512680c2b1e8b82d44232f4b5e0 19-Aug-2014 Jae Seo <jaeseo@google.com> TIF: Add the video frame rate information to TvTrackInfo

Bug: 16187997
Change-Id: I25d5489e42502fa8f2537aadc205bb4203980fb2
v/TvTrackInfo.java
1553a528a5e2a2eeb94318601943fad2d9484bb3 19-Aug-2014 Jae Seo <jaeseo@google.com> API Review: android.media.tv

TvView:
- Instead of ERROR_INPUT_DISCONNECTED, a separate callback
onDisconnected; change onError to onConnectionFailed.

Bug: 17114406
Change-Id: I9457ac81c883610f96954494bf75a4e78e53383f
v/TvView.java
d504ab14d264e340fac9422b84b5f3c677d87c5f 18-Aug-2014 Lajos Molnar <lajos@google.com> media.MediaPlayer: don't check file-existence for URI-s with scheme

setDataSource can be called with URI-s as well as with file paths.
Check file-existence only for file:// URI-s as well as URI-s
without scheme (which are assumed to be paths).

Bug: 17109022
Change-Id: I70f16a4f614dcef0b47fa264cf708473036cef4e
ediaPlayer.java
a66c40bf6e0fb79ead6d8a9fc29c5671fa7b1206 16-Aug-2014 RoboErik <epastern@google.com> Update MediaSession APIs for council feedback

-Changes MediaSessionManager.SessionsListener to OnActiveSessionsChangedListener
and makes it an interface.
-Renames MediaController.VolumeInfo to MediaController.AudioInfo
-Renames MediaSession.Track to MediaSession.Item

bug:17059552
Change-Id: I3a0b4371700ad6657972c312a5ab89ddfac6df5b
udioManager.java
emoteController.java
ession/MediaController.java
ession/MediaSession.java
ession/MediaSessionManager.java
ession/ParcelableVolumeInfo.java
ession/PlaybackState.java
15c56aac985bc8d75f38fb4ecb92dda12d2ca06c 18-Aug-2014 Ji-Hwan Lee <jihwan@google.com> TIF: Call setMain(false) when session is released.

Also, rename setMainTvView() and setMainSession() to setMain(), except
ITvInputManager.

Change-Id: I586e3fd42720f07a75d6f31b1ee955ce5c29dd68
v/ITvInputSession.aidl
v/ITvInputSessionWrapper.java
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
67d666f60422454e64885fecc78c1f5c0a0477e4 19-Aug-2014 Jaewan Kim <jaewan@google.com> Merge "Fix NPE when passing null TvContentRating" into lmp-dev
a42be3c95021c5fb7e4ac0a8fbfc542f841f44dd 19-Aug-2014 Jaewan Kim <jaewan@google.com> Fix NPE when passing null TvContentRating

Change-Id: I80b0ca60b1623356fd39015521b50ae9f1eaef07
v/TvInputManager.java
79fc32794cf1258184bc3699041dae2a825e69cf 19-Aug-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: verify the hardware input ID from getHardwareInputId()." into lmp-dev
911d0827ca67d61c141ab91e75816da94b3f414e 19-Aug-2014 Dongwon Kang <dwkang@google.com> TIF: verify the hardware input ID from getHardwareInputId().

This will prevent an input from displaying other tuner inputs.

Change-Id: I77a6b99599eac4a9048a12e2928bc16b34d94343
v/TvInputService.java
5b1caaf7d8408bf0ce78d8d7a36f4649dda17797 19-Aug-2014 Jae Seo <jaeseo@google.com> TIF: Fix some comment warnings

Also fixed some other obvious warnings from Eclipse

Bug: 16876068
Change-Id: Ic9c44caf3fd53e965043aa96039d5f3a5655eaff
v/TvInputInfo.java
v/TvInputManager.java
v/TvInputService.java
d1858574d0d3ba648fc20c55f0caf40e70b5de9a 19-Aug-2014 Michael Wright <michaelwr@google.com> Merge "Add callbacks for MediaProjection start / stop." into lmp-dev
d86ecd26d78c7bcd7f820b9ef5e3f4c3eb037510 13-Aug-2014 Michael Wright <michaelwr@google.com> Add callbacks for MediaProjection start / stop.

Also, enforce that there is only one valid MediaProjection at a time.

Bug: 16488053
Change-Id: Id05445d798c98cb208bc4dab186296392e15d30b
rojection/IMediaProjectionManager.aidl
rojection/IMediaProjectionWatcherCallback.aidl
rojection/MediaProjectionInfo.aidl
rojection/MediaProjectionInfo.java
rojection/MediaProjectionManager.java
c22d0c0941ab65ca69977d002c4431394a735c7d 15-Aug-2014 Jae Seo <jaeseo@google.com> TIF: Make passthrough related method names consistent

Bug: 17063792
Change-Id: Id76b37ae1507db5d78319b8786b395353ded70e1
v/TvContract.java
v/TvInputInfo.java
2aaed141fa22b235ecbd009b11c426abfa5b847c 18-Aug-2014 Andy Hung <hunga@google.com> Merge "Fix 48kHz limitation on AudioTrack" into lmp-dev
70b395e8c1d06ca9288afd418b9e889df4060eab 16-Aug-2014 Andy Hung <hunga@google.com> Fix 48kHz limitation on AudioTrack

Changed to 96kHz.

Bug: 12979141
Bug: 17069369
Change-Id: I7643901f6d365d8b46da4872bd2266ec20cb0339
udioTrack.java
98f4c16a7beba90abffa89d0b32b8ee56a31073d 18-Aug-2014 Jinsuk Kim <jinsukkim@google.com> Merge "CEC: Replace the usage of logical address with id for HdmiDeviceInfo" into lmp-dev
d5bfcff975cadc037d836bdab2f0976a40fad4df 08-Aug-2014 Michael Wright <michaelwr@google.com> Remove MediaProjection#createAudioRecord API

Change-Id: I60def1944a1669b9c1da4cd9aa28af36ad852e94
rojection/MediaProjection.java
efb3a8b37ae1d4dd9f713ceab9783ad96772bbc6 16-Aug-2014 Andy Hung <hunga@google.com> Merge "Fix 7.1 audio playback from AudioTrack" into lmp-dev
ad720aeea741d9058a7b4d326c9ab1b3ebcd7c62 11-Aug-2014 Andy Hung <hunga@google.com> Fix 7.1 audio playback from AudioTrack

Uses AudioFormat.CHANNEL_OUT_7POINT1_SURROUND.

Bug: 16951383
Change-Id: I7e94598d5cae1a741b8b1e0492b202163bf9f9fd
udioTrack.java
be5e3359b14edecd815828cf533a7a30bb826f7b 16-Aug-2014 Lajos Molnar <lajos@google.com> Merge "media: minor fixes for MediaCodecInfo" into lmp-dev
981c344ee7a4472e2a331d66819c132267a681c6 13-Aug-2014 Lajos Molnar <lajos@google.com> media: minor fixes for MediaCodecInfo

- use equals() for Range singularity checks
- parse max-channel-count properly
- add platform defaults to G711 and GSM audio codecs
- allow xml to override platform limits if format,
profile or level is not supported (but recognized to be
possibly valid) by the platform
- set defaut format fields

Bug: 11990470
Change-Id: I06114e2d10dcc205a8a963605a01e6d4f6ecd0f0
ediaCodecInfo.java
tils.java
78c64cdbd82a4d8feb7faf43109b86ab87252dd1 15-Aug-2014 RoboErik <epastern@google.com> Fix crash in legacy apps that register without a looper

Some legacy apps registered their media button receiver in a thread
without a looper. If this happens we need to use the main looper to
prevent a crash.

bug: 16306226
Change-Id: Idf472e649393e2a7ce2a3e1cbb3476003ab17f34
ession/MediaSessionLegacyHelper.java
8960d1b1552729e3dfd33deee951ac75933ad8e5 13-Aug-2014 Jinsuk Kim <jinsukkim@google.com> CEC: Replace the usage of logical address with id for HdmiDeviceInfo

Introduced 'id' of HdmiDeviceInfo to replace the direct use of logical address
as id. This accomodates the identification of MHL device with ease. Also updated
TIF to use id instead of logical address.

Bug: 16986744
Change-Id: Ifa827fb5e5fcf1d2f612f0845accbfe5c03734aa
v/ITvInputServiceCallback.aidl
v/TvInputInfo.java
v/TvInputService.java
1d2a1c917f46b6854e91f9867a20abb76ecb794d 14-Aug-2014 RoboErik <epastern@google.com> Merge "Pipe caller's identity through volume methods" into lmp-dev
0dac35af2c6aa42bcd181981b041747cfd1afa5f 13-Aug-2014 RoboErik <epastern@google.com> Pipe caller's identity through volume methods

setStreamVolume and adjustStreamVolume were always being called
from the session service's uid/package. This adds the plumbing to
allow the original app's info to be passed in to the audio service
when volume is changed.

Change-Id: Ib36639dab1e518b435161dc453c8ba9351df3e9b
udioManagerInternal.java
udioService.java
ession/ISessionController.aidl
ession/MediaController.java
e8deca1a0e2afc3d15e63dbfef6166bd9bb0dcf7 14-Aug-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Rename R.attr.contentRatingSystemXml and fix documentation" into lmp-dev
fc27d6db089d25ab752c0445016fd07760c345f8 14-Aug-2014 Jae Seo <jaeseo@google.com> TIF: Rename R.attr.contentRatingSystemXml and fix documentation

- Rename contentRatingSystemXml to tvContentRatingDescription.
- Change docs to indicate this is a reference to an XML document that
describes TV content rating, not a component name.
- Replace the DTD with an XML example.

Bug: 16960702
Change-Id: Iea985e9847ee5af0f745e896c498792234308b12
v/TvContentRating.java
v/TvInputInfo.java
5ca4a78e3224bb4c6c47a6d31b4bf2566738b20f 14-Aug-2014 RoboErik <epastern@google.com> Merge "Post MediaSessionManager callbacks to the caller's thread" into lmp-dev
b05ea7bb2866035105707e22a977b010ef5062b2 14-Aug-2014 RoboErik <epastern@google.com> Merge "Add an onSessionDestroyed callback to MediaController.Callback" into lmp-dev
24762bffc3358762666079cd802040a316b3260d 14-Aug-2014 RoboErik <epastern@google.com> Add an onSessionDestroyed callback to MediaController.Callback

Callbacks on the controller need to know when the session ceases
to exist.

bug:17009030
Change-Id: I0f1c1cfc51f7dd2203955287cc269667d3765ee4
ession/ISessionControllerCallback.aidl
ession/MediaController.java
d4eb10a88d5c2587490d13a87550bb4b9afd9a9b 13-Aug-2014 Dongwon Kang <dwkang@google.com> TIF: resolve SecurityException on loadCustomLabel().

Bug: 17001118
Change-Id: I357ac2506562c028116c3e4f6dd611ef2b744d28
v/TvInputInfo.java
1d1164012740a486b3074b50d8d2a9c452dbfecc 14-Aug-2014 Sungsoo Lim <sungsoo@google.com> Update Java doc for TV Rating system

Bug: 17007100
Change-Id: Idb3f2184ea6d0421875ccd1e10b7539b3c17080a
v/TvContentRating.java
e2c83c97fb4224c2743ff10fd28bf6efcbd32f74 13-Aug-2014 Jaewan Kim <jaewan@google.com> TIF: Change data type of custom labels and hide inputs

Change-Id: I2783245671a2a2a5500c6f97acf6375f44db8bf4
v/TvInputInfo.java
34cc4db180c20569e62db5860c0b206be65b5117 13-Aug-2014 Glenn Kasten <gkasten@google.com> Move setting to disable automatic USB routing

This moves the setting from System to Secure per review.

Bug: 16381952
Change-Id: I2497ca66b4f346839490c29295528fac70e94494
udioService.java
81d1b4def076ff3788c4f0e9a57a3a319dfd4b32 13-Aug-2014 Chulwoo Lee <chulwoo@google.com> TIF: Enable to build uri for browsableOnly channels

BUG: 16966138
Change-Id: Idf3a349547a269777a8336b6bbbf933b52f5582a
v/TvContract.java
ceb4d418464d1b72c450c5e390b1cc7b1f92a49f 13-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add support for AudioAttributes in android.media.Ringtone" into lmp-dev
a9a29a29e55380ebd30175a75b285b16201002b6 13-Aug-2014 Sungsoo Lim <sungsoo@google.com> Fix hashCode of TvContentRating

Bug: 16963556
Change-Id: I0d419e4a47cd4b0a364d3b05063dcdbfc8a168ae
v/TvContentRating.java
2811dd337262934ea82477f9598f3e49092edb5e 12-Aug-2014 RoboErik <epastern@google.com> Remove REMOTE_STREAM_MUSIC references from AudioService

This removes the fake stream from AudioService and cleans up
references to it. Also removes isLocalOrRemoteMusicActive.

bug:15884752
Change-Id: I1c2b57a2f8ba80061313737f254463f4c80ce8c3
udioManager.java
udioService.java
AudioService.aidl
81f871e2b96125d57b76c07169e868e516443794 07-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> Add support for AudioAttributes in android.media.Ringtone

Deprecate use of stream types.
Map deprecated API to AudioAttributes.
Add new methods to specify AudioAttributes on a Ringtone instance.

Bug 16790748

Change-Id: Ifb3c2e838e1f119614459ad7d71d83a4d7c9ffdb
RingtonePlayer.aidl
ingtone.java
0d194c5e2338b8a920c512e15a433cec5bd63612 12-Aug-2014 RoboErik <epastern@google.com> Post MediaSessionManager callbacks to the caller's thread

We were just sending them from the binder thread. This makes them
post to the thread that registered the listener.

Change-Id: I27c155099da32f3bc8be6e3851272f0463df498b
emoteController.java
ession/MediaSessionManager.java
37d7804627eecaf04e170793c2f5703d5d6d44e8 10-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> HDMI plug intent and associated information

Read HDMI device information from audio ports and add it as
extras in the connection intent.
Document the new extras in the connection intent.
Make Intent.ACTION_HDMI_AUDIO_PLUG public.

Bug 10549017

Change-Id: I6236b5363f00c433e443195fae8c43af2fc834f7
udioService.java
1681ac0b690b8888858ab402742dd8eb285518d0 12-Aug-2014 Sungsoo Lim <sungsoo@google.com> Add equals method of TvContentRating

Bug: 16963556
Change-Id: I09869d322fc2056ef1df5d2ca95891263646b46f
v/TvContentRating.java
22f7c4769f7f77f54e384794f0e74bd50a46417a 12-Aug-2014 Jaewan Kim <jaewan@google.com> Merge "Treat empty subrating as the same as null subratings." into lmp-dev
d22e37acac3a83199423692671e2b20050088426 12-Aug-2014 Jaewan Kim <jaewan@google.com> Treat empty subrating as the same as null subratings.

Change-Id: Ic288c680c639ccba6cf593d1286776a6c891b726
v/TvContentRating.java
6219fa8b2d1a31bd3e436878c92cd27e3be4d822 12-Aug-2014 Sungsoo Lim <sungsoo@google.com> Add version attribute in tv_content_rating_system.xml

- 'version' attribute is added in 'rating-system-definitions' tag.
- Update javadoc for the format change of XML file in TvContentRating.
- Fix some errors in the javadoc comment.

Bug: 16805703
Change-Id: If9473c89cef0777232470d67f1542a5e5eac3182
v/TvContentRating.java
77e54d905f8c0c9925f21a8339a893391179d9d7 11-Aug-2014 John Spurlock <jspurlock@google.com> Talkback: Ensure TTS stream is not affected by ringer mode.

Now that the policy for tablets and phones are unified, follow
the same policy when deciding which streams are never affected
by ringer mode.

Bug:16885683
Change-Id: Iaf526b391de9f429cb9e99ec18a417108443acf6
udioService.java
05abff10e3f724c4a4ea0d3997e49b1498892b45 10-Aug-2014 Jaewan Kim <jaewan@google.com> Ensure that custom label isn't empty

This also changes getHiddenTvInputIds to return mutable ArrayList.

Bug: 16876078
Change-Id: Ib84a071e7a7cf390ac4f9cf69f3d8daf218d657d
v/TvInputInfo.java
98ea5fa8e4a99433da0c32273674af189c65f14b 10-Aug-2014 Sungsoo Lim <sungsoo@google.com> TIF: Add content rating systems

- Change the strings for translation to English only.
- Add content rating systems for many countries.
- Update javadoc of TvContentRating which is auto-generated based on
tv_content_rating_systems.xml and strings.xml

Bug: 16862855, Bug: 16889743
Change-Id: Ifd81c85934b8631e8ae00633639989275982ecfb
v/TvContentRating.java
d86eb6f8a4f26f504f135f1402f95b1f6e0b90f0 10-Aug-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Move watch history logging to TvProvider" into lmp-dev
7eb75dff7a0fb4b19c3e801cd388483d7d471f41 09-Aug-2014 Jae Seo <jaeseo@google.com> TIF: Move watch history logging to TvProvider

There are only two kinds of watch events that can happen on the system:
1. The current TV input session is tuned to a new channel.
2. The session is released for some reason.
The former indicates the end of the previous log entry, if any, followed by the
start of a new entry. The latter indicates the end of the most recent entry for
the given session. Here the system supplies the database the smallest set of
information only that is sufficient to consolidate the log entries while
minimizing database operations in the system service.

Bug: 14791151, Bug: 15921205, Bug: 15988715, Bug: 16831555
Change-Id: Ifcb1a1273c14ee234919d819d082b1004eb92ebc
v/TvContract.java
8b72930bc0ea92561ad9a6ffff2ba3ee0f77b99b 10-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Define FLAG_BEACON in android.media.AudioAttributes" into lmp-dev
6894cd38ebb619a0b7e47831b623655c9c0f6e12 22-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Define FLAG_BEACON in android.media.AudioAttributes

Define FLAG_BEACON as @SystemAPI
Keep track of which flags are public, and the list of all
supported flags for easier code maintenance.

Bug 15415971

Change-Id: Ia7675e8fa4bc7c4d7a8f727fd25ff92ecb68483c
udioAttributes.java
73fc533b2e5700d692fbbf0fb14bc0a32a02fb63 30-Jul-2014 Rachad <rachad@google.com> Added Tunneled video playback support to MediaCodec

Bug:16132368
Change-Id: I8c28cd9fbf3ca2d441f5ffa6892fbc5f70184908
ediaCodec.java
ediaFormat.java
9dfd731db5acf2ad9d1f92b8565c717c266094fe 09-Aug-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: introducing TvInputSettings for put/getting user preferences from Settings." into lmp-dev
4d933a0ef0b436dc2d1dc79ef7ce4a997616929b 08-Aug-2014 Dongwon Kang <dwkang@google.com> TIF: introducing TvInputSettings for put/getting user preferences from Settings.

Reference:
- Settings.Secure.ENABLED_INPUT_METHODS
- InputMethodSettings

Bug: 16876078
Change-Id: I72c1770517052188694f21c10da383338edc8ee2
v/TvInputInfo.java
c566ca54b10fca266216555c3b6fb56a5ac63343 08-Aug-2014 Dongwon Kang <dwkang@google.com> TIF: fix a regression introduced while addressing merge conflict in TIS

Plus, a small code refactoring on DO_CREATE_SESSION for lower indentation
depth.

Bug: 16833301
Change-Id: Id0cb2df26015ea8286a1cf03024c44fa15f2628e
v/TvInputService.java
6d9fe654b5da2f2b7751b6affae535f4ddfa7f64 08-Aug-2014 RoboErik <epastern@google.com> Merge "Combine MediaSession Callback and TransportControlsCallback" into lmp-dev
477d1197c3c25c01ace7ea4494437c23720a2eb3 06-Aug-2014 RoboErik <epastern@google.com> Combine MediaSession Callback and TransportControlsCallback

This combines them into a single Callback class and adds default
handling to media buttons to check the available actions and call
one of the other methods if appropriate.

Change-Id: If9897d8cf6d8d8046aa85a646c22382f1db1461b
emoteControlClient.java
ession/MediaController.java
ession/MediaSession.java
ession/MediaSessionLegacyHelper.java
ession/PlaybackState.java
217e8a2b4661d3ae6dc470a8dc07b3145c560c7e 08-Aug-2014 RoboErik <epastern@google.com> Change URI type metadata back to text

Was accidentally changed in a previous CL. We decided against adding
the URI type.

Change-Id: Ifccf0e784d3fe3196e80cca238de6f8c4456e85e
ediaMetadata.java
546c635ad9a26421fbdf54efa765b5ab0a63c191 07-Aug-2014 Jae Seo <jaeseo@google.com> TIF: Change CEC specific names to more general ones

Now MHL device information is also a part of HdmiDeviceInfo (previously
HdmiCecDeviceInfo). This change adjusts method/variable names across our code
base to reflect that.

Bug: 16215362
Change-Id: I7a6692329f39842a4aec9a4ff036eca5474cfd33
v/ITvInputService.aidl
v/ITvInputServiceCallback.aidl
v/TvContentRating.java
v/TvContract.java
v/TvInputInfo.java
v/TvInputService.java
98cb95a998bdbbc61d496bb7348fa5e739199870 08-Aug-2014 RoboErik <epastern@google.com> Merge "Change URI type metadata back to text" into lmp-dev
67098d09637256a3aa1ddb451a2e25b1967bdd69 07-Aug-2014 RoboErik <epastern@google.com> Unhide MediaMetadata.Description

This unhides the method and inner class for getting a small version
of the metadata for display.

Change-Id: I22f484cecd5f0630ac22bb648baad842d211d135
ediaMetadata.java
156aeecef2cf7b522e290b293484a24521b7b86e 05-Aug-2014 Ji-Hwan Lee <jihwan@google.com> TIF: Make TvContract URI consistent

- input/*/channel -> channel?input=*
- channel/#/program -> program?channel=#

Bug: 16806157, Bug: 16804331
Change-Id: Idbded032da166e789148c4b8e38ea521468fd9fa
v/TvContract.java
6720be4e8c65e90d4453ddad5cef192bc3820038 30-Jul-2014 Michael Wright <michaelwr@google.com> Allow media projections to create public presentations.

Change-Id: I3b6e0b54d658352942a38be6a24486bdfc179efd
rojection/IMediaProjection.aidl
rojection/MediaProjection.java
9e4a66d69673adcf5f32e4b121809322d9ffd97c 07-Aug-2014 Andy Hung <hunga@google.com> Fix track sample rate limit

Should be controlled by SAMPLE_RATE_HZ_MIN and SAMPLE_RATE_HZ_MAX.
Associated with testing the following sample rate bugs.

Bug: 12979141
Bug: 15933066
Change-Id: Id130613fe28c7a1070e42f9bc44ed3b00a4113a3
udioTrack.java
5f5163548424ed3a4d7ea259848f82fb74aaf75d 22-Jul-2014 Glenn Kasten <gkasten@google.com> Add setting to disable automatic USB audio routing

Bug: 16381952
Change-Id: I7335ed4c3ec8d5f9cb9a9bd2a9d2f9e0f3a63c43
udioService.java
579befecb248162021929ab58ffd23f1724cc6be 07-Aug-2014 Jae Seo <jaeseo@google.com> TIF: Do not log non-searchable channel watch history

Bug: 16798476
Change-Id: Ic131009ad65a661331e4f8f0820c5c183a9f4986
v/TvContract.java
785c9a2ae1da6a0523245bbbfbb27dfd560590f0 07-Aug-2014 Lajos Molnar <lajos@google.com> Merge "ImageReader: fix documentation, relax some guarantees" into lmp-dev
8d563a20776b476df77f2a4f3de1feebcf7c255f 11-Jul-2014 Lajos Molnar <lajos@google.com> ImageReader: fix documentation, relax some guarantees

MediaCodec does not guarantee any of this.

Change-Id: Id73c917baad9ca72de87b98c16374505c8028e86
mageReader.java
df9f0a321e0cb2958c9d170395a0367a106fa0e6 06-Aug-2014 Terry Heo <terryheo@google.com> TIF: Add system API 'isSingleSessionActive()'

Bug: 16498558
Change-Id: I4f815f431051dbf786216d2b04e9737be451a508
v/ITvInputManager.aidl
v/TvInputManager.java
61f4fbd2e8436a1ecd478c2a1f516d064a24d43b 06-Aug-2014 Jungshik Jang <jayjang@google.com> Rename HdmiCecDeviceInfo into HdmiDeviceInfo.

In order to include mhl device info to device info,
rename HdmiCecDeviceInfo into HdmiDeviceInfo.

BUG: 16215362

Change-Id: I30fb0216061fbbdd6fdc1b82c63af83f1b678597
v/ITvInputService.aidl
v/TvInputInfo.java
v/TvInputService.java
5caf1e8dda6f7ca9a1078803a25e78e9a7db7157 06-Aug-2014 Youngsang Cho <youngsang@google.com> Make caption setting consistent across sessions

Change-Id: I7cb8ab109188b9f78cceb1025339bce98c776052
v/TvView.java
dc33b6170b5e2f049a333aa0025902bff5a4e99b 06-Aug-2014 Yao Chen <yaochen@google.com> Merge "Adds getServiceComponent() to MediaBrowser, getQueueTitle() and getExtras() to MediaController" into lmp-dev
51fdfa273e036d0e4f5e5c624988b33873fa3ec7 06-Aug-2014 Yao Chen <yaochen@google.com> Adds getServiceComponent() to MediaBrowser, getQueueTitle() and
getExtras() to MediaController

Change-Id: I6092ac1ae05ba55c14a042698bb88bd16e9b1fa7
rowse/MediaBrowser.java
ession/MediaController.java
b287c9388e6d978d88854376d7f29fee3708276c 06-Aug-2014 Eric Laurent <elaurent@google.com> Merge "AudioSystem: add API to query audio HW sync source" into lmp-dev
b634e1b6d6bda56128c354b1803b04b537e3799d 01-Aug-2014 Eric Laurent <elaurent@google.com> AudioSystem: add API to query audio HW sync source

Add a method to query from the audio HAL the HW sync
source used for a given audio session.
Add an AudioAttributes flag to request an output with
HW sync source.

Bug: 16132368.
Change-Id: Ic31b2924b98f242c3aa0d58688879f05ea02d6f7
udioAttributes.java
udioSystem.java
022e7cc2985046af45e4b0a2fce78870f6e6dfac 06-Aug-2014 Sungsoo Lim <sungsoo@google.com> Merge "TIF: Add content ratings for Australia" into lmp-dev
1fd38bd99610d7dc2a9c335ae2af4089fe1006a1 05-Aug-2014 Sungsoo Lim <sungsoo@google.com> TIF: Add content ratings for Australia

Reference: http://www.classification.gov.au/

Change-Id: I79a85124df7e06418ff95ca39ef1db98a83c5af1
v/TvContentRating.java
ac8c3d33588306dcb5c9f00421f823328a8f9fd0 06-Aug-2014 Youngsang Cho <youngsang@google.com> Merge "Remove a Handler constructor parameter Looper in TIS" into lmp-dev
3d13aec546f1c3a3ef77508a36693869e0ec4c88 06-Aug-2014 Youngsang Cho <youngsang@google.com> Remove a Handler constructor parameter Looper in TIS

getMainLooper() returns null in the variable initialization phase.

Change-Id: Iebe52eac8955c0a8394501575f90ff6f2825451c
v/TvInputService.java
ff04ae757a5542d2d5633e75b7adacc4fce1ce7e 02-Jul-2014 Youngsang Cho <youngsang@google.com> Add a method in TIS to relayout SurfaceView

Bug: 15389458
Change-Id: I7f740141e7cf59fea5d321099652e65bc9e5f7d1
v/ITvInputClient.aidl
v/ITvInputSessionCallback.aidl
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
887ad97ebed84749cfdd84e8170c72ba888cb414 06-Aug-2014 Youngsang Cho <youngsang@google.com> Merge "Add a method in TIS to relayout SurfaceView" into lmp-dev
9551e92507564c597a7764473945114d3c3bfff3 06-Aug-2014 Jae Seo <jaeseo@google.com> TIF: Add explanation for TvView

Bug: 16801733
Change-Id: I8fa81a850d1e29f32fdb6caa4bd3dc4b2668e18a
v/TvView.java
65dc05248e2d23c2bb911983d138f9449bd369bf 06-Aug-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: Add content rating system for Spain" into lmp-dev
b1caf4d8178be53b432399747b5114275c200e43 05-Aug-2014 Dongwon Kang <dwkang@google.com> TIF: Add content rating system for Spain

References:
- http://codigodeautorregulacion.rtve.es/senalizacion-de-los-programas/advertencias-opticas/
- http://en.wikipedia.org/wiki/RTVE

Change-Id: Icdde8a7f8cfb07cc4f768f95ba764ae6a519e347
v/TvContentRating.java
66b9e91801ba8867514fbcf0ef8f03a2f4fb8798 05-Aug-2014 Dongwon Kang <dwkang@google.com> TIF: make TvInputService.Session class static

This change would make the developers freely extend the Session class
out of the TvInputService class.

Change-Id: I7dc9501c771a6e4dcfcceeb1b294b95e612596eb
v/TvInputService.java
bf0a4eb158ff5352dd2e7c456339cd36c28bcb43 05-Aug-2014 Youngsang Cho <youngsang@google.com> Add system APIs to set Z-order of TvView

Bug: 16723028
Change-Id: I43c840ca2065920360859f8814a0c76ab2937ac1
v/TvView.java
8811f3457eacf5fae9bc7c3b5b0775c5f23abb63 06-Aug-2014 Sungsoo Lim <sungsoo@google.com> Merge "TIF: Add content ratings for Netherlands" into lmp-dev
3596a9645eae5636706d6d76b3d0e321c3d5c11f 04-Aug-2014 Sungsoo Lim <sungsoo@google.com> TIF: Add content ratings for Netherlands

Change-Id: I17bac9587ea549f5e22bfe9c03fa50999fee5d5f
v/TvContentRating.java
2df7e30839231afd83a3533320eb7797819beb20 06-Aug-2014 Sungsoo Lim <sungsoo@google.com> Merge "TIF: Remove countryCode in TvContentRating" into lmp-dev
39ddf8ddc4e32e640e3e3df490312878554d6d1d 06-Aug-2014 Sungsoo Lim <sungsoo@google.com> Merge "TIF: Add content ratings for Germany" into lmp-dev
6b444eed2cbc6b124c9cfabb47fd924d7a55aa99 05-Aug-2014 Sungsoo Lim <sungsoo@google.com> TIF: Add content ratings for Germany

Change-Id: I7233e5d10550d6e6d2ef6f7c1c4ebd71bc271539
v/TvContentRating.java
f0bcee493d81af7bda593d5a49f7cce4b4fe9eb0 06-Aug-2014 Sungsoo Lim <sungsoo@google.com> Merge "TIF: Add content ratings for France" into lmp-dev
4acc7c3f4e1d63e702b9a4782b01e4a4ef152e71 04-Aug-2014 Sungsoo Lim <sungsoo@google.com> TIF: Add content ratings for France

Change-Id: Ib90a9ab918a6a7187a05323fe0f0122ffe747add
v/TvContentRating.java
e377ea5de67aaca36c86ac8971ce0a9126c5af20 06-Aug-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: Rearchitecting TvInputPassthroughWrapperService." into lmp-dev
b4bbfbcef3dec8f0de13a6ee474858f3a3cd535d 06-Aug-2014 Sungsoo Lim <sungsoo@google.com> TIF: Add a content rating system for Brazil

- Add Brazil TV content ratings
- Remove Italy TV content rating since it doesn't have the official one.

References:
http://en.wikipedia.org/wiki/Brazilian_Advisory_Rating_System
http://portal.mj.gov.br/services/DocumentManagement/FileDownload.EZTSvc.asp?DocumentID=%7B25A80220-B0E3-47FD-923F-246B6184C3C6%7D&ServiceInstUID=%7B59D015FA-30D3-48EE-B124-02A314CB7999%7D

Change-Id: Ibed9b4be0871b50b9dcd95be3a015f5a1e58676d
v/TvContentRating.java
5f72e168471827b48700d791d6f10b0e53bb18fb 06-Aug-2014 John Spurlock <jspurlock@google.com> Merge "AudioService: getMasterStreamType -> RING on tablets." into lmp-dev
4f0f120316cfcee5880191264885772677fff921 05-Aug-2014 John Spurlock <jspurlock@google.com> AudioService: getMasterStreamType -> RING on tablets.

Since all service-internal checks use stream alias, and the alias
for NOTIFICATION is RING, even on tablets.

This is a followup to ag/506532.

Ensure that #getMasterStreamType always follows the stream_system
alias, and update the system alias for tablets per the new policy.
Update the associate javadoc comment in AudioManager to make this
clear.

Note: there is now no difference in the alias maps between phones
and tablets.

Also fix a condition affected by this in VolumePanel.

Bug:16626879
Change-Id: I2700a48d2a3e7703607f771a1ab7f325596fd789
udioManager.java
udioService.java
40b8ef99a5132a970903e33d3c8ee087d0502a93 05-Aug-2014 Eric Laurent <elaurent@google.com> Merge "SoundTrigger API update." into lmp-dev
fe3e10deaf30f2b54671e2efc7192cece056c35d 05-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioAttributes: implement hashcode and equals methods" into lmp-dev
dfab517fb245af7445255d298a05a2c8049b23ab 06-Aug-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Make selected tracks identifiable" into lmp-dev
10d285ac06b3d3060c7d90d3dc196d4ac8367467 31-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Make selected tracks identifiable

A recent change on the multi-track API surfaced an issue that it's hard to
identify selected tracks from the list of tracks obtained from
TvView.getTracks() method, especially when two or more tracks convey the same
track information (e.g. two English stereo audio tracks with the same sample
rate). This change introduced a new public method getId() in TvTrackInfo that
returns an ID with which one can identify the tracks uniquely. It also led to
minor signature changes across the multi-track API to make it more
developer-friendly in both application and TV input service developers'
perspectives.

Change-Id: I226f75e697b0ce52b44db7471660f6d9f646f6f9
v/ITvInputClient.aidl
v/ITvInputManager.aidl
v/ITvInputSession.aidl
v/ITvInputSessionCallback.aidl
v/ITvInputSessionWrapper.java
v/TvInputManager.java
v/TvInputService.java
v/TvTrackInfo.java
v/TvView.java
75847b98f39e521a57042c50e69be9e142788d32 29-Jul-2014 RoboErik <epastern@google.com> Add display metadata and change strings to CharSequences

This adds some fields for display purposes to MediaMetadata and also
makes the default for all text CharSequence instead of String. Also
adds a hidden method for getting a Description for the metadata.

bug: 11708293
Change-Id: I0ed58d9ac3aeff41325c4ccf5fed0539bbf03b4d
ediaMetadata.java
emoteControlClient.java
43cc8bbbbd5e6418cdfa0fa4b26c9f5c3a28c029 28-Jul-2014 Jon Eklund <jeklund@motorola.com> Add support for line out audio device

Change-Id: I48750511b56a2bc5f06b7bdd11cfb4e0cd2728af
udioService.java
f128dbf076df09400ef6f403e37e2539fb69682c 05-Aug-2014 Sungsoo Lim <sungsoo@google.com> Merge "TIF: A preliminary CL to add multiple rating systems" into lmp-dev
e6dca2cfa4eecd3a45792703b722fc3ef86e8744 05-Aug-2014 Sungsoo Lim <sungsoo@google.com> TIF: A preliminary CL to add multiple rating systems

TODO: Add rating systems for the countries defined in this CL.

Change-Id: I128284fd8779723b5ffb5968e2a11ce4b4eae6b5
v/TvContentRating.java
1f81b1040f40a3233981f34268b11e5c9ad9f34c 05-Aug-2014 Dongwon Kang <dwkang@google.com> TIF: make the documentation consistent.

Change-Id: Iaf93c8753c43fa128b464cea3f63a38fb7b3c8b3
v/TvInputManager.java
v/TvTrackInfo.java
v/TvView.java
8e45a33ca8cb6b6a0cf75edf52ffdf86ffe3dd31 04-Aug-2014 Wonsik Kim <wonsik@google.com> TIF: implement setVolume for hardware inputs

Bug: 16635576
Change-Id: Ibba9f32b22451d9792b5e74c2cf36cab356e4ab1
v/ITvInputHardware.aidl
d3b8223377b8046280e4c09e728edc600171f941 30-Jul-2014 Eric Laurent <elaurent@google.com> SoundTrigger API update.

Add sound model update callback.
Add native service state change callback.
Add vendor UUID in sound model description.
Add coarse confidence level in recognition event.
Add capture format in recognition event.

Bug: 12378680.

Change-Id: Id63437819ec7b9a4a69e1ff6185b747e20cad95e
udioFormat.java
732be11cefc439ea47a6c9cced6ab240aa5f1ea9 04-Aug-2014 Sungsoo Lim <sungsoo@google.com> TIF: Remove countryCode in TvContentRating

In the standard TV content rating systems, there are no cases that
a TV content rating system is used for multiple countries.
Moreover, since we allow the case that the country code is null for
a custom rating system (e.g. YT), the country code should be removed.

Change-Id: I79472dbd491aa7efb40f3e081f90b45e13a91505
v/TvContentRating.java
bd2fa2c02d916a9b6c62f8fd8701d779c00bd68d 25-Jul-2014 Dongwon Kang <dwkang@google.com> TIF: Rearchitecting TvInputPassthroughWrapperService.

This change addresses the following issues raised in the API review:

TvInputPassthroughWrapperService needs to be rearchitected:
-- Create a nested class (possibly called RemoteTvInput) inside TvInputService that
represents remote connection to the underlying physical TV input (HDMI).
RemoteTvInput which will need to have additional method like createRemoteSession.
-- This class has methods to control that remote input, and a callback so TvInputService
to observe state changes.
-- Add TvInputService.onGetParentInputId() (no argument) which returns null by default.
-- Extend TvInputService.onCreateSession(String inputId, RemoteTvInput parent) to pass
in the RemoteTvInput requested by onGetParentInputId(), if any.

Bug: 16542165
Change-Id: Ic6b0c9b5d770c9d1f9377061af8dcb6bae0cb9dc
v/ITvInputServiceCallback.aidl
v/ITvInputSessionCallback.aidl
v/TvInputManager.java
v/TvInputPassthroughWrapperService.java
v/TvInputService.java
e9c19a5a8e020b11935511b37f51f9007994f4b6 29-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioAttributes: implement hashcode and equals methods

Change-Id: I3245c38d9413ba7590811a038db54628424a420e
udioAttributes.java
9aa499ac42e8e047c9341715599b1ffba4c6f827 01-Aug-2014 Eric Laurent <elaurent@google.com> Merge "unhide AudioFormat getters" into lmp-dev
cc58c76cf038343020331060d19ae39308f2a5cf 31-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioAttributes: always build formatted tags from tag array

An AudioAttributes instance can either be built through the
Builder, or from unmarshalling: the mFormattedTags field
should always be in sync with the array of tags.
In toString() method, use the more compact mFormattedTags.

Change-Id: Ie06cd7758bf4f2d2693fedaa8c3ba4245802d921
udioAttributes.java
8694f2443230e74515e04e572d22406764746834 04-Aug-2014 Jeff Tinker <jtinker@google.com> Merge "Allow device to be unprovisioned" into lmp-dev
6bf5b600d6d1e98f7eabbbc884dd286b335acd66 30-Apr-2014 Jeff Tinker <jtinker@google.com> Allow device to be unprovisioned

bug: 12247651
Change-Id: Ie2e77566d2c65925091296da5bcbec327985c946
ediaDrm.java
ca17a9029dd7b1b87c155e68476eae5ee4efbede 31-Jul-2014 Wonsik Kim <wonsik@google.com> TIF: allow TIS to override default sink from audio policy

Bug: 16635576
Change-Id: I995cfca084950f96675aeb086c5055f76d1c4752
v/ITvInputHardware.aidl
0498269c00e340a5cacf19c00d552c9a311cc604 31-Jul-2014 Eric Laurent <elaurent@google.com> unhide AudioFormat getters

Bug: 12378680.
Change-Id: Ibe49c6386b12159e705f49f323cae27b6e2d749a
udioFormat.java
2754fd0cd3f055b1d5f7f2ea1470b4d84011b379 30-Jul-2014 Mike Lockwood <lockwood@google.com> Add toString() methods to some audio classes to help with debugging.

Change-Id: I2b61d8cdfbcaa7671705771325205b074c50ab1e
udioDevicePort.java
udioHandle.java
udioPort.java
udioPortConfig.java
2d99826605d8f18d71b5a4696cdf2f6909adab44 01-Aug-2014 Sungsoo Lim <sungsoo@google.com> Merge "TIF: Use XML file for representing TvContentRating" into lmp-dev
5c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5 29-Jul-2014 Sungsoo Lim <sungsoo@google.com> TIF: Use XML file for representing TvContentRating

This change addresses the following API council feedback.

- Remove all constants from TvContentRating. Instead this class becomes a
general parser for a tuple of "rating domain"+type+subtype(s).
- Instead of constants in the API, the rating definitions should come from
parsed XML meta-data tied to a TvInputService entry in the AndroidManifest.
This XML should define a ranked order of the rating constants along with
@string references for displaying in the Settings UI. Mention that the
"rating domain" should be scoped similar to a package name, for example
"com.youtube.ratings".
- For system-defined rating types (like US, Korea, etc) we should parse this
same XML format, but it may come from a hard-coded XML resource (since they
aren't tied to a single TvInputService.)
- Thoroughly document the built-in supported types in javadoc on TvContentRating.

Change-Id: I0a9526c73c8ca67fd0eeac63f3c63c05657a45e3
v/ITvInputManager.aidl
v/TvContentRating.java
v/TvInputInfo.java
v/TvInputManager.java
1a6b25eabcc1fb66e6e8d76f91fd413e18b793a9 09-Jul-2014 Sungsoo Lim <sungsoo@google.com> TIF: Add a parameter (Bundle params) of tune method

- tune(Uri, Bundle) is added as a system API.

Bug: 15809017
Change-Id: I50bc9b510f469ac3c157f095ccfe27d1cd1d9854
v/ITvInputManager.aidl
v/ITvInputSession.aidl
v/ITvInputSessionWrapper.java
v/TvContract.java
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
d5ce9759524740cfb02638fd1d7b44315957b422 25-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Make TvTrackInfo methods more explicit.

This change addresses the following API council feedback:

TvTrackInfo:
-- Remove all KEY_/VALUE_ constants, and replace with explicit,
strongly-typed accessor methods.
-- Add additional Bundle getExtras() method (in addition to the explicit
types); most of the time this Bundle will be null.

Bug: 16542165
Change-Id: Ie48cb170b2bbf07d9460fdc8ed77d7db01799772
v/ITvInputClient.aidl
v/ITvInputSessionCallback.aidl
v/TvInputManager.java
v/TvInputService.java
v/TvTrackInfo.java
v/TvView.java
8750dbca947ff6eb7f4a46c12d411752bb88396d 31-Jul-2014 Wonsik Kim <wonsik@google.com> Merge "TIF: fix TvInputHal bug for multiple devices" into lmp-dev
bacc82a5099432e9226f0b1fbe9e4be378a37bd1 31-Jul-2014 Lajos Molnar <lajos@google.com> MediaCodec: clean up image/buffer caching

- cachedBuffers will be null in async mode
- track dequeued buffers in a map
- free dequeued buffers & bytebuffers

Bug: 14297827
Bug: 11990118
Change-Id: I9f8255921de25d05bf2c11fdaeda45cc185b9dd7
ediaCodec.java
21aa3467cd14260418cc47334b656adf841a567c 29-Jul-2014 Wonsik Kim <wonsik@google.com> TIF: fix TvInputHal bug for multiple devices

In addition, add toString() method to TvStreamConfig for easier
debugging.

Bug: 16561829, Bug: 16666251
Change-Id: Ic192aef30f4d193b73bac7bc93a1563aa9af4377
v/TvStreamConfig.java
40568710319d71fd3872fd501d72edaecfa28bb8 31-Jul-2014 Yao Chen <yaochen@google.com> Adds toString() in MediaBrowserItem

Bug: 16676746
Change-Id: I61152dca66e6715807868a5c72a1fdf06c78d7ab
rowse/MediaBrowserItem.java
cad266aad9a07206a59cebfadae3c9f9ec17fbcc 29-Jul-2014 Chong Zhang <chz@google.com> fix for MediaCodecList bitrate range exception

Bug: 16627391

Change-Id: I8c5ba580d7b875d1e2a0ebbf398cf65dd5c4555f
ediaCodecInfo.java
ediaCodecList.java
71b282fad429dfa5e98287aa34af6aecd155321b 28-Jul-2014 Youngsang Cho <youngsang@google.com> TIF: Reset SurfaceView whenever TvView tunes to a channel of different TV input

Bug: 14254494
Change-Id: Ieb6b0cb95a366995c7b85beea7eb9ca8507d5531
v/TvView.java
9bae97685bd509ea529adb919aa39e33104dae0b 30-Jul-2014 Youngsang Cho <youngsang@google.com> Merge "TIF: Add a system api TvInputInfo.isCecDeviceConnectedToSwitch" into lmp-dev
d6f7666c7735baf9a0a0ee75cbaf27f6a924b3a1 30-Jul-2014 Youngsang Cho <youngsang@google.com> TIF: Add a system api TvInputInfo.isCecDeviceConnectedToSwitch

Change-Id: Ib178cc7362eb82c0a9f777a1616c9e2943fee7a8
v/TvInputInfo.java
783645e99f909ffc7a2d5d2fca9324cc0e9b7362 28-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Merge TvParentalControlManager into TvInputManager

This change addresses the following API council feedback.

TvParentalControlManager:
-- Replace the listener interface with a broadcast Intent with well-known
action, something like ACTION_BLOCKED_RATINGS_CHANGED.
-- TvParentalControlManager goes away, and two remaining methods move to
TvInputManager.

== Implementation changes ==
-- The user-selected rating preferences should be stored in an XML file, and
loaded at boot by your internal system service. It should _not_ be stored in
a Secure/Global setting.

Bug: 16542165
Change-Id: I278df963576652ec9163a66c1ef99419fcdb36c2
v/ITvInputManager.aidl
v/TvInputManager.java
v/TvInputService.java
v/TvParentalControlManager.java
6e62a1508cb7a5efcdde2ae9e51672fea4296dca 29-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Use more consistent constant names

Change-Id: Iee7cbbba621e4174c9fdaedc86d3830ca9f46cfe
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
546f3bf5fed40f2152b549f0b8e8ad5e1ad90bc1 30-Jul-2014 Ying Wang <wangying@google.com> Fix docs build.

Change-Id: I735f5b5a3fe36a454e384d5060d9273a9aabf3aa
ediaPlayer.java
05ad96e9a33e4e3d5568cfc3443fcb4dd7067433 29-Jul-2014 Robert Shih <robertshih@google.com> Merge "MediaPlayer: scanInternalSubtitleTracks in synchronous prepare" into lmp-dev
c42a96dba4beaf87875e71b8d8b77ce7154c5cdb 25-Jul-2014 Robert Shih <robertshih@google.com> MediaPlayer: scanInternalSubtitleTracks in synchronous prepare

Bug: 16385674
Change-Id: I56d205ad2fe33bd64ea2251440c88fd4ecfa13ad
ediaPlayer.java
3cdf7c5b622a8fbb20410736bdab5888d0e1873c 24-Jul-2014 Robert Shih <robertshih@google.com> MediaPlayer: support external timed text in java

Bug: 16385674
Change-Id: I7c2bf7a7d88c8396c3e228e3cf500998a3fa9db8
ediaFormat.java
ediaPlayer.java
RTRenderer.java
ubtitleController.java
ubtitleTrack.java
ebVttRenderer.java
9469cdde2ce55051b18fdbd6bf80bc710517c358 29-Jul-2014 Michael Wright <michaelwr@google.com> Add paragraph tags to MediaProjection docs

Change-Id: Ia881f9bcf3b93bd699f9ddf80d51ec7d0e74d2ed
rojection/MediaProjection.java
339567d5c91a8dc9228913ed1e5deb0ebb8a4a64 29-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Optional AudioService debug logs for setMode()

Add log option to help debug routing / volume issues due to
improper use of audio mode.

Change-Id: I6c2dde61b6b42ea9b45825ba7e10a17a61991c98
udioService.java
c1601f73b98b004b6210631830d2184255037948 29-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Restore missing usage assignment in AudioAttributes

A bad merge caused the usage field assignment in
setLegacyStreamType() to disappear. Restore it.

Change-Id: I2c72e09a2c4a394483b8a4521b72d5edcc346e23
udioAttributes.java
fdaed9dcb63171379fd7c5a6208014bac505dbc6 29-Jul-2014 Eric Laurent <elaurent@google.com> Fix capitalization on AudioPort callback method names

Change-Id: I87963ea7290989333781bf8905c9ae640c34d943
udioManager.java
udioPortEventHandler.java
9e6143642460163452721ee4af2f6d5818e54aa0 28-Jul-2014 Mike Lockwood <lockwood@google.com> Merge "android.media.AudioPatch: update comment" into lmp-dev
31b2d8ee435fa027767d6959a43c7aca4b8a2664 28-Jul-2014 Mike Lockwood <lockwood@google.com> android.media.AudioPatch: update comment

Change-Id: Ic5470c49be4b4f4dcda8db8f2d1153afe2e84ad1
udioPatch.java
701d6ff12f36bf5e9de0dafdaced06744fd411eb 16-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioAttributes and AudioRecord.

Add audio recording source in AudioAttributes.
New AudioRecord constructor with AudioAttributes and
AudioFormat.
Legacy AudioRecord constructor is calling into the new
constructor.

Bug 16009464

Change-Id: I69d81f9e71bdf946c4cfbda6d3d8552ffac6b5c2
udioAttributes.java
udioFormat.java
udioRecord.java
ediaRecorder.java
5f3e1f2a2dfaa4d1abdda4d0cd7871aea82ffcbd 28-Jul-2014 Yao Chen <yaochen@google.com> s/thumbnail/icon in the browsing api.

Change-Id: I73bf76ed9628872094db74aef48a8e68864d6b4d
rowse/IMediaBrowserService.aidl
rowse/IMediaBrowserServiceCallbacks.aidl
rowse/MediaBrowser.java
rowse/MediaBrowserService.java
e0b8c378b7b4881396346116a9c1d633d1a4eb9f 28-Jul-2014 RoboErik <epastern@google.com> Merge changes I87f551a7,Icb8dc76c,I66fbf585,I0c9506e7 into lmp-dev

* changes:
Add context to MediaController constructor
Add getPackageName to MediaController
Expose a way to set a PendingIntent for restarting playback
Finish plumbing for launch intents in sessions
031149cd5f22bd858142633c7a763450f42793f7 26-Jul-2014 RoboErik <epastern@google.com> Add context to MediaController constructor

This also adds a convenience method to MediaSession to allow getting
a controller instead of having to create and cache your own.

bug:16561220
Change-Id: I87f551a7474e71f1cf2f07e0e541c3a4515cd977
emoteController.java
ession/MediaController.java
ession/MediaSession.java
ession/MediaSessionManager.java
aa4e23bbb36994708ba72c5f4c83255025d99e07 25-Jul-2014 RoboErik <epastern@google.com> Add getPackageName to MediaController

This removes the MediaSessionInfo class and adds a method on the
controller to get the package name. This also converts code that
depended on the session's UUID to use the token for comparison or
the Tag in the case of test code that needs a string identifier.

Change-Id: Icb8dc76c70e23e897da8fd07651c524b96372bf9
emoteController.java
ession/ISessionController.aidl
ession/MediaController.java
ession/MediaSession.java
ession/MediaSessionInfo.aidl
ession/MediaSessionInfo.java
ession/MediaSessionLegacyHelper.java
b214efbb9170a9f6a4991684a63ca59680074cc7 24-Jul-2014 RoboErik <epastern@google.com> Expose a way to set a PendingIntent for restarting playback

This is to allow apps to set a PendingIntent to restart playback. This
is not persisted across reboots but will allow music to start playing
again for the life of the system. Only the most recent priority app with
a PI set will be cached. This also deprecates methods in AudioManager
that do this and unhides the unregister method in MediaSessionManager.

Change-Id: I66fbf5856333468d8cb8a3022809778ba00d426e
udioManager.java
ediaMetadata.java
ession/ISession.aidl
ession/MediaSession.java
ession/MediaSessionLegacyHelper.java
ession/MediaSessionManager.java
e34c09daf89fb888fe2638e71758573462d85173 24-Jul-2014 RoboErik <epastern@google.com> Finish plumbing for launch intents in sessions

This finishes out the plumbing for setting a launchable PendingIntent
on a session and getting it from a controller to launch an app's UI.

Change-Id: I0c9506e7c3f0ebf57070ca7e0d91324eb3fdd1e1
ession/ISession.aidl
ession/ISessionController.aidl
ession/MediaController.java
ession/MediaSession.java
76fca4e177e18b591439fdff64b8f5242a5122d0 23-Jul-2014 RoboErik <epastern@google.com> Add getFlags and getSessionToken to MediaController

getFlags was hidden, should have been public. Also added getSessionToken
as a convenience method for apps to get the token used to create a
controller.

bug:15408392
Change-Id: Icb19b43ebb7e01727eec1a4e667dafcfc3b8d4eb
ession/MediaController.java
ession/MediaSession.java
30674e91a2b9c6c24e141b31240e3867d97eb0d0 28-Jul-2014 RoboErik <epastern@google.com> Merge "Add getFlags and getSessionToken to MediaController" into lmp-dev
aa5ee4d65f8788e2a0afcd198367450853fd72ac 25-Jul-2014 John Spurlock <jspurlock@google.com> Volume: Persist unsafe volume playback time.

Instead of warning after every reboot, remember the
playback time after a user confirmation and only
reset after the 20 hour playback threshold.

Bug:16543104
Change-Id: I783358d97b88302a28fe77a8eb88bcd338ef1c87
udioService.java
543650bb10b1104dd4ebb81e4a9bbebf9fb4c535 25-Jul-2014 John Spurlock <jspurlock@google.com> Merge "Volume: Show safe media warning in settings." into lmp-dev
351346092acdfbfcc1d9ebf98d539d2a1196c5e8 25-Jul-2014 John Spurlock <jspurlock@google.com> Volume: Show safe media warning in settings.

If the safe media warning is enabled, make sure
we display it from the new inline slider preference in
Settings (without showing the volume dialog itself).

Also:
- Update the warning dialog to the new sysui theme.
- Separate the warning sentences with an additional line.
- Fix the auto-dismiss timeout.
- Add a system property to additionally enable the safe
media warning for testing
- Add more information to audio service dumpsys.

Bug:15434662
Change-Id: I95fec12c9049bbfdb7ebdf246160e4b12c0c5be3
udioManager.java
udioService.java
cfec0fbacb4038f39170cef816e7c597a6fc5eb2 25-Jul-2014 Dongwon Kang <dwkang@google.com> Merge "Remove COLUMN_CONDITIONAL_ACCESS from TvContract." into lmp-dev
94a509b123d1a115756bab8facf5d0ca54b42ff5 24-Jul-2014 Dongwon Kang <dwkang@google.com> Remove COLUMN_CONDITIONAL_ACCESS from TvContract.

It turned out that having this flag in Channels table does not
make sense for some European countries because they scremble the signal
per program basis. Also, the current flag does not fit to the use-case
like 'pay per view'. Decided to remove this in L release because it's not
clear how we will handle the cases raised at this moment.

Change-Id: Ibbf829f331a307ac89a553e00ece18d5958e72b5
v/TvContract.java
b6437cd0ed40ca551681af0df3e403a57c49afae 25-Jul-2014 Terry Heo <terryheo@google.com> TIF: Add @SystemApi to TvStreamConfig

To fix broken build of xts

Change-Id: Iefb94c1a7211e6b0a9ae64b78ba6b3999dd8d366
v/TvStreamConfig.java
86c545ea8cb276e215a9e76efdde02b0ce98013f 23-Jul-2014 Zhijun He <zhijunhe@google.com> MediaFormat: add capture rate key

Change-Id: I2f7dd244d41d52aab6a172ae5df3e1fce3edd694
ediaFormat.java
f0452adb4354e0d6e58b1894cc46357b39c831a8 25-Jul-2014 Sungsoo Lim <sungsoo@google.com> Merge "Call removeOverlayView() before onRelease()" into lmp-dev
212532b58e3b17d7e9d6e1361946d909d4e372c2 22-Jul-2014 Eric Laurent <elaurent@google.com> AudioService: implement TV system volume

Implement volume policy for TV devices:
- No ringer mode: never silent
- All stream volumes are synchronized: changing any
stream volume will change the volume for all sources.
- Volume is maintained per output device.
- If a CEC capable HDMI sink is connected, digital volume
is maxed out and volume controls are sent to HDMI sink.

Bug: 15759753.

Change-Id: Ic4c38c749ef0440def9635a1669068ccef02a323
udioService.java
d127367c405199650418fdc429a070bbe48104e4 25-Jul-2014 Jeff Davidson <jpd@google.com> Merge "Fix system API stub build." into lmp-dev
230204967978b65731f1dd85278aaadb26322a7f 25-Jul-2014 Jeff Davidson <jpd@google.com> Fix system API stub build.

TvInputManager.captureFrame is @SystemApi and depends on
TvStreamConfig which must also be made @SystemApi.

Change-Id: I8a4a10d77d4cfb80674c4ac8aa7a8ed119881aa0
v/TvStreamConfig.java
80bb169d0ff778ca7073486f4e2900f8479c2daa 24-Jul-2014 Yao Chen <yaochen@google.com> Use a sequence number for thumbnail callback.

Change-Id: I27888cd0437b4f654cb29371b7d86b9341d84ae9
rowse/IMediaBrowserService.aidl
rowse/IMediaBrowserServiceCallbacks.aidl
rowse/MediaBrowser.java
rowse/MediaBrowserService.java
f2bbad1e7631bbe51c097fe943ab3a1ce346b4cd 24-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Remove MediaFocusControl persisting media button receiver

MediaFocusControl doesn't handle media button receivers anymore,
so it should read and persist a receiver, and monitor
package addition/removals.
Also involved a security vulnerability, see bug

Bug 15428797

Change-Id: Ia2be01b20dc4a9820cc0cd3d0605ac03770b266b
udioService.java
ediaFocusControl.java
8470857ee43444868a38d0e760981386880d6ce2 25-Jul-2014 Yao Chen <yaochen@google.com> Fix build

Change-Id: Ia2a09417451dd9cdca0a6351b8ddd00f9195f361
rowse/MediaBrowserService.java
6a1f2649a917ddec808e75f31efeb227133dd096 28-Jul-2014 Christofer Åkersten <akersten@google.com> Listen to onVisibilityChanged().

Use onVisibilityChanged() instead of setVisibility() in order to
detect changes in visibility on the TvView. This ensures we detect
visibility changes for ancestors.

Bug: 16618628
Change-Id: I6efd21763ebfdbb59532b837db5627b7ccb0cae0
v/TvView.java
91a801d42f3acc35404da51ba26605093922503a 24-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Rename methods in TvInputService

This change addresses the following council feedback.

TvInputService.Session:
-- Rename onRequestUnblockContent() --> onUnblockContent()
-- Change all dispatch* methods to be notify*

Bug: 16542165
Change-Id: Ib9c8dc825665fdf75ebd1d13b1e39c39514132f1
v/ITvInputSessionWrapper.java
v/TvInputPassthroughWrapperService.java
v/TvInputService.java
v/TvView.java
7de28d34f1ca3a727a8325cf3304f2fe03d2ac59 25-Jul-2014 Lajos Molnar <lajos@google.com> Implement MediaCodec.getImage methods

Bug: 10706245
Change-Id: Icbac5538a27ffdb53d974e2e1f8dc5afe02fb391
ediaCodec.java
f7badff8bbcbd45939c2f60cfcc88c6d3b07c6b2 23-Jul-2014 Zhijun He <zhijunhe@google.com> CamcorderProfiles: add high speed profile constants

Change-Id: I8f783466f8c2560820db14488acc1a309d27ab0f
amcorderProfile.java
1295b154c93730082a887ed9901b165d697be2ea 24-Jul-2014 Sungsoo Lim <sungsoo@google.com> Call removeOverlayView() before onRelease()

When the implementation of onRelease() hangs, removeOverlayView()
isn't called. In order to make sure that removeOverlayView() is called,
this CL changes the calling order of removeOverlayView() and onRelease().

Bug: 15097804
Change-Id: I8f998d57488d7bea7c3ba9ece08d6a7adfdebd49
v/TvInputService.java
059e4f6daa24f36636215bf92ffdf9747fc5a80c 24-Jul-2014 Sungsoo Lim <sungsoo@google.com> Fix typo

Change-Id: Ied87356fae0fff1bc5a0c80223351423a81ea0ce
v/TvInputService.java
4c52697dbed682a19dacc78b0c08931ea8dbc6b5 21-Jul-2014 Ji-Hwan Lee <jihwan@google.com> TIF: Support HDMI-CEC active source management

Add system API TvView.setMain() and TvInputService.onSetMain().

Bug: 15994065
Change-Id: I60ac24659453ca616380993c4accd8c17e714639
v/ITvInputManager.aidl
v/ITvInputSession.aidl
v/ITvInputSessionWrapper.java
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
79124a717c09f12c74d587d3977bf33ca37e6420 21-Jul-2014 Terry Heo <terryheo@google.com> TIF: Enable capturing TV input of TvInputPassthroughWrapperService

Also fixed usage of Log.e() in TvInputService to show stack trace.

Bug: 16441553
Change-Id: I5c160de4a628698907ffd00510d982d597c0ea01
v/ITvInputServiceCallback.aidl
v/TvInputPassthroughWrapperService.java
v/TvInputService.java
c086a3df3b28996cd10ebe42c5f59035d054aa0d 18-Jun-2014 Terry Heo <terryheo@google.com> Add a frame capture API of TV input

- Added new permission CAPTURE_TV_INPUT

Bug: 15736756
Change-Id: I2ae8b2e3f5b1ad1d525854ed89ab2043cf66acbe
v/ITvInputManager.aidl
v/TvInputManager.java
69b078599b8d8bc3e8f94d6cab881145f4e2c129 23-Jul-2014 Joe Onorato <joeo@google.com> Allow apps to be slow at loading children and thumbnails by making those functions allowed to be asynchronous.

Change-Id: Ibcaee3f0f8d9ba14f1b002df9c6d4594c6278045
rowse/MediaBrowserService.java
8880157ee0c1c765526e19d57e2b8d68af7e956e 23-Jul-2014 RoboErik <epastern@google.com> Merge "Return appropriately scaled artwork to RemoteController" into lmp-dev
a259d35073ada384a5810f2a0f4f92f5fd27d85f 23-Jul-2014 RoboErik <epastern@google.com> Return appropriately scaled artwork to RemoteController

RemoteController has an api to set the artwork size. This adds compatibility
code to do the exclusion or scaling of artwork to be consistent with old APIs.

bug:15618171
Change-Id: I8cc51750c03219d42d5f543419f8b46f9eb5b833
emoteController.java
ession/MediaSessionLegacyHelper.java
7e21fe8be9d374d31e75cdc2c9a11f977ba1faa0 23-Jul-2014 Yao Chen <yaochen@google.com> various fixes in MediaBrowserItem and MediaBrowserService

Change-Id: I57f2a6728eea14ff6243fd68d21886599a5a12f4
rowse/MediaBrowserItem.java
rowse/MediaBrowserService.java
f364f944962c4ec66f5e5b33dafe8480f38f6db6 22-Jul-2014 Gabriel Peal <gpeal@google.com> Added Action to PlaybackState

Added the ability to discover MediaBrowsers

Change-Id: I925c8738ac73afd0bee3dada2ee7ff2d5047e63f
emoteControlClient.java
emoteController.java
ession/ISessionCallback.aidl
ession/ISessionController.aidl
ession/MediaController.java
ession/MediaSession.java
ession/PlaybackState.java
f0593bc17b61c872ae2d7705fb598c5e5056e679 22-Jul-2014 Gabriel Peal <gpeal@google.com> Added QueueState, playUri, and playFromSearch.

Added QueueState to MediaSession/MediaController
Added play(Uri) and playFromSearch(String) to MediaController.TransportControls

Change-Id: I1a8ad5c22d05015ab6ff5700dc8a758455f1d89b
ession/ISession.aidl
ession/ISessionCallback.aidl
ession/ISessionController.aidl
ession/ISessionControllerCallback.aidl
ession/MediaController.java
ession/MediaSession.aidl
ession/MediaSession.java
ession/PlaybackState.java
9db9bf7034d7dcdf596dc22d521b18975d0dd2b9 21-Jul-2014 RoboErik <epastern@google.com> Switch Session APIs over to AudioAttributes

The session apis were using audioStream in several places. This
updates them to use AudioAttributes instead.

bug:16403289
Change-Id: Ic4da9ca5fbea2536e80c71503bd9a9bf7f346997
udioAttributes.aidl
ediaRouter.java
ession/ISession.aidl
ession/MediaController.java
ession/MediaSession.java
ession/ParcelableVolumeInfo.java
9adf3dfe194b2c31ddef39dfc7ec2bb76e65ad93 23-Jul-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Use @SystemApi for APIs that we intend to open to OEMs" into lmp-dev
15bbf3b220fdd22df62f2bfa04452f4cdf11d2bb 21-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Use @SystemApi for APIs that we intend to open to OEMs

Bug: 16374058
Change-Id: Ifdf8188d3791e7e8ab6cc0a30696bde24b16ac5c
v/TvContract.java
v/TvInputManager.java
v/TvView.java
008f6d4e326f6372e165bdf342178ecd1e834e2f 23-Jul-2014 Youngsang Cho <youngsang@google.com> Block logging watched histories for passthrough inputs

Added a system API TvContract.isChannelUriForPassthroughTvInput

Change-Id: I933482831ae2a8b4d6000c4d16520387b5b6a13f
v/TvContract.java
9d744068f9f57493028039caa7870fa11900cfd9 21-Jul-2014 Youngsang Cho <youngsang@google.com> Enable customization of TvInputInfo icon/label

TODO: Apply builder pattern to create instances of TvInputInfo

Bug: 16166859
Change-Id: I37ef35e7e463a5ff6612f822fd784b7f299039c9
v/TvInputInfo.java
4b902d72dbe632472b4f56044940367aabf0e41e 23-Jul-2014 Lajos Molnar <lajos@google.com> MediaFormat: add KEY_TEMPORAL_LAYERING

Bug: 14562236
Change-Id: I343d2859e48552d7372fec3b77aea868ff1bfc33
ediaFormat.java
319f9a979c1c10c0c15ca50ee20e0a05e932cbb7 22-Jul-2014 Yao Chen <yaochen@google.com> Add thumbnail related api.

Change-Id: Ifcb06bbaf8f37df367f130124cbcef065fa25766
rowse/IMediaBrowserService.aidl
rowse/IMediaBrowserServiceCallbacks.aidl
rowse/MediaBrowser.java
rowse/MediaBrowserItem.java
rowse/MediaBrowserService.java
4350a6210fac21311a412f77cf56963d468b1371 19-Jul-2014 Youngsang Cho <youngsang@google.com> TIF: update documentation of TvInputInfo.getParentId()

Change-Id: I5c0733d28621486ec0ff0f093c22eb1cc05f785d
v/TvInputInfo.java
eb4b8a27e3219726691a868793d2247dc9d2a317 21-Jul-2014 Eric Laurent <elaurent@google.com> AudioService: wait for init completed to handle media server restart

Bug: 16458506.
Change-Id: I25804e6e7209d52fd5dd6c622cae85d1e7d2317f
udioService.java
8433ad9ec1ea8a043dbe6f661b8bc0f3b0dcd474 22-Jul-2014 Youngsang Cho <youngsang@google.com> Minor comment change of TvContract.Programs.COLUMN_TITLE

Change-Id: I6592a0708feafc84cd76585428a9743e8fb2af48
v/TvContract.java
9f7c25ebeba866d0db696f5db0d29fa8c6a86768 22-Jul-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: Revisit types in TvInputInfo and TvContract.Channels." into lmp-dev
fe9259e6a78ceb08efc43e8bca4981ee18a0a0ef 18-Jul-2014 Dongwon Kang <dwkang@google.com> TIF: Revisit types in TvInputInfo and TvContract.Channels.

For the types in TvInputInfo, TYPE_TUNER represents all the TV inputs
having channels in TvProvider. Also, String is used for the types in
TvContract.Channels for further extension.

Change-Id: Iee1163b449d9f9723ff665178f2967bb8c0ad71d
v/TvContract.java
v/TvInputInfo.java
e3504260b9e56b8273c4a1523eeeba6e1fd142e0 22-Jul-2014 Yao Chen <yaochen@google.com> Merge "Updated media browsing API & tests." into lmp-dev
82992fb7919d2cdf08ebe31297e8b9254f60b1bb 22-Jul-2014 Youngsang Cho <youngsang@google.com> Add season/episode related constants in TvContract.Programs

Change-Id: I8d89157b1fbfea062bba73e2534ab0a27112f010
v/TvContract.java
17d47989ee53c9e54f250d29a343ba949edf0ff9 17-Jul-2014 Yao Chen <yaochen@google.com> Updated media browsing API & tests.

Change-Id: I3a1e3eead99a98b1890e05843dd90203cee517b7
rowse/IMediaBrowserService.aidl
rowse/IMediaBrowserServiceCallbacks.aidl
rowse/MediaBrowser.java
rowse/MediaBrowserItem.java
rowse/MediaBrowserService.java
0d964e77b9a204417d0a24dcbacd354f9de589d9 22-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Unhide SoundPool builder with AudioAttributes" into lmp-dev
fb52139bd81e8ac53ec923b005f10c5cb7d80e0c 22-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Unhide SoundPool builder with AudioAttributes

Change-Id: I9ec6ca310a342f72cc1a0de5d93fe650b0ca2125
oundPool.java
a8a3f558650c266cc68f0686ced016f90e3632dd 21-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> New MediaFormat keys for AAC

Decoder:
KEY_AAC_DRC_ATTENUATION_FACTOR
KEY_AAC_DRC_BOOST_FACTOR
KEY_AAC_DRC_HEAVY_COMPRESSION
KEY_AAC_DRC_TARGET_REFERENCE_LEVEL
KEY_AAC_ENCODED_TARGET_LEVEL
KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT
Encoder:
KEY_AAC_SBR_MODE

Change-Id: I69abe01add135875446914134d93a58815992e07
ediaFormat.java
edb158f55f48a1f7b2cbf30ddec9b8917dc9a619 18-Jul-2014 RoboErik <epastern@google.com> Deprecate apis that were replaced by sessions

These classes all have new components in the session APIs.

bug:16218444
Change-Id: Ib64ff0e23503e4c9eb2fd9162a878e1eaba7c4df
ediaMetadataEditor.java
etadata.java
emoteControlClient.java
emoteController.java
122f599bb4ee0e4767a6a184973efe8e819790ca 21-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioAttributes for SoundPool" into lmp-dev
55a30c41b6c47d3afe6b13c25c64e8eec9f45e7c 21-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioAttributes for SoundPool

Add support for building a SoundPool instance and specify
the AudioAttributes.
Remove SRC quality which was never implemented, while leaving
room for supporting it later through the Builder pattern.
Remove stream types.
Update AudioService's use of SoundPool to the new scheme.

Change-Id: Ie51e4008684e5ba25f9b7368098e4f20266a15c7
udioService.java
oundPool.java
e9111d3067270554fbfe043157bda4a200d15eb4 20-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "API for audio session ID generation" into lmp-dev
289cc8e887f786f557faab226a1e01abb9a632a6 19-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> API for audio session ID generation

Expose the value used by the framework to generate an audio
session ID when a value isn't known.
Rename allocateAudioSessionId() to generateAudioSessionId()
as this operation doesn't "allocate" anything, and there is
no allocated resource to free after this operation.

Bug 16401631

Change-Id: I7a7bc05b39ea0b024ff225254eb755a9c85a2ad9
udioManager.java
udioTrack.java
ediaPlayer.java
bfe76f4547afb08f3cf7e9fc76b6e2954210aac3 22-Jul-2014 Alan Viverette <alanv@google.com> Fix docs build error in MediaFormat

Change-Id: I5faf72efa1a792f9a500eb4abc76d4e4cda5516d
ediaFormat.java
4f9f57cede3de2e2aa3045e04b485b176ab22dbd 19-Jul-2014 Ji-Hwan Lee <jihwan@google.com> TIF: Extend multiple TV input per service for HDMI logical devices

Remove ITvInputManager.registerTvInputInfo() and let addTvInputInfo*()
cover the registration.

Bug: 15570939
Change-Id: Ic36701de96696e7fe32fc1faa0d5f6fde53f6666
v/ITvInputManager.aidl
v/ITvInputService.aidl
v/ITvInputServiceCallback.aidl
v/TvInputInfo.java
v/TvInputService.java
a759b111a1c9cb00284038f8a1554bf29709b952 19-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Add sendAppPrivateCommand()

Added a way to send a private command from the application to the TV
input. This can be used to provide domain-specific features that are
only known between certain TV inputs and their clients.

Change-Id: I7548311a64147b8ff27562ec680b941e2ec10bc0
v/ITvInputManager.aidl
v/ITvInputSession.aidl
v/ITvInputSessionWrapper.java
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
dfa871620cb8d638d611e95b1d30ea5f51edd7a0 21-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Remove obsolete USAGE_NOTIFICATION_TELEPHONY_RINGTONE definition" into lmp-dev
9b9d72fd111270333d773ec1f4cbc7795bbeec87 21-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Remove obsolete USAGE_NOTIFICATION_TELEPHONY_RINGTONE definition

Bug 16401631

Change-Id: I522e7c7030a71b528a484d4d8ae517b4b09460bf
udioAttributes.java
3d63a9c7cd3f03ebcf67cc1bc3d53ada8a6ef577 19-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add AudioAttributes to stream type conversion" into lmp-dev
09818c15500a04eac6b9998144c1ca54b8a54109 19-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Add AudioAttributes to stream type conversion

Framework internal conversion for going from an AudioAttributes
instance to a legacy stream type.

Change-Id: Ic3b7d2cf4aa0ac5255aa5897a25c78c940af9f77
udioAttributes.java
7cdc0b58d6cf5d7a0d615e40cda7d913d05c0eab 19-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Unhide AudioTrack constructor with AudioAttributes, AudioFormat" into lmp-dev
7f6ee760b0aee76bdb9fe61ac7ed1465c0da3489 19-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Unhide AudioTrack constructor with AudioAttributes, AudioFormat

Unhide AudioFormat.Builder
Unhide AudioTrack constructor with AudioAttributes, AudioFormat
Unhide the missing two channels that enable a 7.1 configuration

Change-Id: I60899548da1c688ebe561c25212877e0f3eedb34
udioFormat.java
udioTrack.java
0daab220b2379aad33321364e8a39d2e3d4c3551 19-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Hide AudioManager.startBluetoothScoVirtualCall()

Not intended for public consumption.

Bug 16401631

Change-Id: I299a4719fef57a66a428ccf1902aefaf59d7e064
udioManager.java
a3ee6642d8325f621f267c951c6a524220646610 18-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Unhide Virtualizer.getVirtualizationMode()

Unhide Virtualizer.getVirtualizationMode() method.
Added note in javadoc about the returned value.
Declared exceptions that can be thrown by the checkStatus(int)
helper function.

Change-Id: I4da82d1db1e39ca9dae489559bf1fb5de112c26a
udiofx/Virtualizer.java
89435ce612af736e1fe03f034ff0c32b14a86746 21-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Rename USAGE_NOTIFICATION_TELEPHONY_RINGTONE" into lmp-dev
89c3b29a9bfa0ae9858b913bc1ab6604c4613a15 20-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Rename USAGE_NOTIFICATION_TELEPHONY_RINGTONE

AudioAttributes: rename USAGE_NOTIFICATION_TELEPHONY_RINGTONE to
USAGE_NOTIFICATION_RINGTONE in the list of usage values.
Temporarily keep the old definition to prevent transient build
breakages, will be removed after telephony packages have been
updated.

Bug 16401631

Change-Id: I9398443fd7ba3c30e9d371c5c5a2934b9ea6f30a
udioAttributes.java
7f4342e5b8e086fc96a4cb4d6df7e4d0bd3256ba 20-Jul-2014 Wonsik Kim <wonsik@google.com> audio: fix too early connection to HdmiControlService

Connect to HdmiControlService on systemReady(), not on constructor.

Change-Id: Ic91467f040fbffa48393e876997bd320ae9500db
udioService.java
61acf46d6ad82c70f1bea742a74ad8f79ede0b4a 20-Jul-2014 Wonsik Kim <wonsik@google.com> Merge "TIF: revise API names" into lmp-dev
9bf671f8ee72b156f16fcf05a3d1c6e093ecba67 18-Jul-2014 Sungsoo Lim <sungsoo@google.com> TIF: revise API names

- TvInputManager: TvInputCallback -> TvInputListenter
- TvParentalControlManager: ParentalControlCallback -> ParentalControlListener
- TvView: unblockContent -> requestUnblockContent

Change-Id: I58220e86a4e59ee7d8f28fab833f09cd603b1e38
v/ITvInputManager.aidl
v/ITvInputSession.aidl
v/ITvInputSessionWrapper.java
v/TvInputManager.java
v/TvInputService.java
v/TvParentalControlManager.java
v/TvView.java
6b11ea1ab1b2acb693a0e7afd100976f471c0505 19-Jul-2014 Wonsik Kim <wonsik@google.com> Merge "TIF: Reorder TvInputInfo types from old to new." into lmp-dev
1034df8c63d309462e99012f84885705229eeed5 19-Jul-2014 Dongwon Kang <dwkang@google.com> TIF: Reorder TvInputInfo types from old to new.

This change is internal cleanup change. The purpose of this change is
to reorder the types so that new types can be added at the end of the
type list later.

Change-Id: I377c98dc397ef75c3473ee5133b2ffb49d278a50
v/TvInputHardwareInfo.java
v/TvInputInfo.java
b58dc3132272a5ec1ad4792c3c9d48b4198bd57f 18-Jul-2014 Lajos Molnar <lajos@google.com> Extend MediaCodecInfo to describe usable codec limits and features

Bug: 11990470
Bug: 12065651
Bug: 16131974
Change-Id: I841b8507e823f1ddf14754e34029a9bed4f402d8
ediaCodecInfo.java
ediaCodecList.java
ediaFormat.java
tils.java
4b662d1b98e312792235c6718afd7c406270d1f1 17-Jul-2014 Dongwon Kang <dwkang@google.com> TIF: introduce TvInputPassthroughWrapperService class to support 2-way pairing use-case.

This change adds a class which will be used for the TV input which controls an external device
which is connected to the pass-through TV input.

Bug: 15496325
Change-Id: I52d48c45570c2d62d759a9da2ab96ec8461c13f7
v/ITvInputSessionWrapper.java
v/TvInputPassthroughWrapperService.java
v/TvInputService.java
31380e84246844cf709ea13769679240ff2b48e6 19-Jul-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Add a way to notify whether the current program content is allowed" into lmp-dev
bbcd206a798c8c2845200daf7a2d4cb7b29056f3 19-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Add a way to notify whether the current program content is allowed

Now we have a complete set of API to tell the entire cases (allowed and
blocked), which makes possible for the application to rely more on
actions taken by TV input services transferring the responsibility for
parental control.

Bug: 13172379
Change-Id: I7b0dcf16b870782c76a428a1dac6ef1a528b7d40
v/ITvInputClient.aidl
v/ITvInputSessionCallback.aidl
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
6f306e21f4d0b62866d8622b4d4698f6d76de2b2 18-Jul-2014 Youngsang Cho <youngsang@google.com> Merge "TIF: Add unblock content" into lmp-dev
427f74293b8fca24803a12ec10013e88db8d3586 18-Jul-2014 Youngsang Cho <youngsang@google.com> Merge "TIF: Add onInputAdded and onInputRemoved" into lmp-dev
903d6b72cd572665309633e925485464d08bb25a 16-Jul-2014 Jaewan Kim <jaewan@google.com> TIF: Add unblock content

When a TV content is blocked by the parental control settings,
TV input service will notify TV to request user's PIN code verification.

If the verification succeeds, TV input service will be notified back
that content is unblocked so it can keep playing the content.

Bug: 13172379
Change-Id: I7b31d762eb54612c4d8779ee133211f32fb73b05
v/ITvInputManager.aidl
v/ITvInputSession.aidl
v/ITvInputSessionWrapper.java
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
8e6b51b0fb810ac990c863cc0579e2b2700ab7d6 15-Jul-2014 Jaewan Kim <jaewan@google.com> TIF: Add onInputAdded and onInputRemoved

Bug: 16166859
Change-Id: I51bd87aded3e8619e36be200009e924e73cd348e
v/ITvInputManagerCallback.aidl
v/TvInputManager.java
5b2295a521105dd7303de775d6d3c343a1b49788 18-Jul-2014 Wonsik Kim <wonsik@google.com> Merge "TIF: change onCreateSession() method signature" into lmp-dev
1032f034ff4f0506872e4899b5a232057abe724b 18-Jul-2014 Wonsik Kim <wonsik@google.com> TIF: change onCreateSession() method signature

Bug: 16138420
Change-Id: I73f4992bd76b888c7e5bc6260b3ed849760ee707
v/TvInputService.java
2b8aa9903a96a1baab556ce42dea7f78a98aeda1 18-Jul-2014 Youngsang Cho <youngsang@google.com> Merge "TIF: Change the parameter of TvInputInfo.loadLabel/Icon" into lmp-dev
abebf6df876ec147872c090f86c04bfd5b69d686 18-Jul-2014 Youngsang Cho <youngsang@google.com> TIF: Change the parameter of TvInputInfo.loadLabel/Icon

Labels and icons will be extracted from URI in the future.
To acheive it, we need Context rather than PackageManager.

Bug: 16166859
Change-Id: I20f0506fba5876a6cf21b70e44bb3a2265f723d7
v/TvInputInfo.java
61635036ac29012a45715effcf60b3c395f05f17 18-Jul-2014 Wonsik Kim <wonsik@google.com> Merge "TIF: one-to-many relationship for TvInputService to TvInputInfo" into lmp-dev
ca58ddf7c82dd0857de0c3d49d7eb87a842ee4ce 18-Jul-2014 RoboErik <epastern@google.com> Fix crash when calling MediaSession callback

bug:16311395
Change-Id: Ice52d2da63933af881dd95fa8c6f59a6fe27e0df
ession/MediaSession.java
187423c0bc4b27479bc8c23bd86969429094b296 25-Jun-2014 Wonsik Kim <wonsik@google.com> TIF: one-to-many relationship for TvInputService to TvInputInfo

The scope of this change is to provide a skeleton code for supporting
multiple TV input per service.

Bug: 16138420
Change-Id: Ic51355902d5e0424b8fc8a75c495d4781a7ed744
v/ITvInputService.aidl
v/ITvInputServiceCallback.aidl
v/TvInputInfo.java
v/TvInputService.java
cdc4e422655e4cf37062e96ecea26285e066609a 18-Jul-2014 Youngsang Cho <youngsang@google.com> Merge "TIF: Hide TvContract.Channels.COLUMN_BROWSABLE" into lmp-dev
6440db358c6aac2c1b5752e25c9386bae824bfd4 17-Jul-2014 Youngsang Cho <youngsang@google.com> TIF: Hide TvContract.Channels.COLUMN_BROWSABLE

TODO: Remove BROWSABLE in TvContract, TvProvider and TV app.

Bug: 16195951
Change-Id: I20e8e1e2f93e0133eba3694e0c1724d443250e59
v/TvContract.java
c66ca1267cfa4aca70d3dceaf5962ff77ee030b3 18-Jul-2014 Youngsang Cho <youngsang@google.com> Merge "TIF: Add a notification for surface change from TvView to TvInputService" into lmp-dev
b375805f3b1672e68d1511565af4700e5fa8491d 13-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Add a method to get TvInputInfo for a given TV input

This is going to be needed by applications to get information about the
inputs that are just added thus not included in the previously retrieved
input list.

Bug: 16166859, Bug: 15838097
Change-Id: Icecd03fcea208a0c4d41caab1eec64e574f40877
v/ITvInputManager.aidl
v/TvInputManager.java
e821d711db1799dc51661a3ed6188f3cd942bae7 16-Jul-2014 Youngsang Cho <youngsang@google.com> TIF: Add a notification for surface change from TvView to TvInputService

Bug: 15447352
Change-Id: I3e91609c5eb03be84cc7c88507457b9e74750de8
v/ITvInputManager.aidl
v/ITvInputSession.aidl
v/ITvInputSessionWrapper.java
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
5507bd768893243b6f58a014bc33d0ea2030d493 18-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Add buildInputId()

A recent change mandated that we should provide "input ID" instead of
ComponentName when building URIs for channels/programs while there is no
direct way to get one to use with. This CL added a method to build an ID
from a ComponentName.

Change-Id: Ia7f868cf241bb44ca0d4f689dc15326ce6944468
v/TvContract.java
c39d47a8e7c74bd539104b0efab898ef6fc43ddf 09-Jul-2014 Michael Wright <michaelwr@google.com> Add MediaProjection APIs.

The new MediaProjection infrastructure allows the system to hand out
tokens granting the ability to capture the screen's contents, audio,
etc. at a granular level. It's intended to be used both for screen
casting, via the cast APIs, as well as screen sharing via third party
applications.

The screen sharing case is implemented, but all of audio capturing
is still forthcoming.

Change-Id: I4b24669bed7083e11413c10ed8d6b025f5375316
rojection/IMediaProjection.aidl
rojection/IMediaProjectionCallback.aidl
rojection/IMediaProjectionManager.aidl
rojection/MediaProjection.java
rojection/MediaProjectionManager.java
54a463498316594ba7e0567db5d4f541a7a1e827 18-Jul-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Add TvParentalControlManager" into lmp-dev
6057102dbb746593a7d59cf377c969b62e38c664 15-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Add TvParentalControlManager

Each TV input service is now required to query the system whether the
user is allowed to watch the current program before showing it to the
user if the parental control is turned on, which can be checked by
calling TvParentalControlManager.isEnabled(). Whether the TV input
service should block the content or not is determined by invoking
TvParentalControlManager.isRatingBlocked() with the content rating for
the current program. Then the TvParentalControlManager makes a judgment
based on the user blocked ratings stored in the secure settings and
returns the result. If the rating in question turns out to be blocked,
the TV input service must immediately block the content and call this
method with the content rating of the current program to prompt the PIN
verification screen.

Each TV input service also needs to continuously listen to any changes
made to the parental control settings by registering a
TvParentalControlManager.ParentalControlCallback() to the manager and
immediately reevaluate the current program with the new parental control
settings.

Bug: 13172379
Change-Id: I8e1900d4b8d28c56798986d5c3906bd418ab97ac
v/ITvInputClient.aidl
v/ITvInputSessionCallback.aidl
v/TvContentRating.java
v/TvInputManager.java
v/TvInputService.java
v/TvParentalControlManager.java
v/TvView.java
6a6641cc4f9eefef2d228711a7a57cfcd2b9279c 19-Jul-2014 John Spurlock <jspurlock@google.com> getMasterStreamType from MUSIC -> NOTIFICATION

For non-voice-capable devices to follow suit with the new policy.

Bug:15592574
Change-Id: I5de36de5cfe157702bbdf6918df51a98f3f0051a
udioService.java
eb1d88ddf9a0888455c82b83f19da124e5ca6f16 19-Jul-2014 John Spurlock <jspurlock@google.com> Non-voice-capable device default stream is now NOTIFICATION.

Policy change, the volume rocker displayed when nothing else
is going on is now consistent with voice-capable devices.

Bug:15592574
Change-Id: I0f5cb3667b76e1d05286937c702e532f6298ec7c
udioService.java
7b41467704f941b11af6aace3e40993afc7f6c6f 18-Jul-2014 John Spurlock <jspurlock@google.com> Zen mode filtering should use new usage constants.

Refactor stream-based calls to usage-based calls.

Bug:15279516
Change-Id: I3f7757d8123c14670e2ad5f8e6aa4e9803efe7ec
udioAttributes.java
udioTrack.java
ediaPlayer.java
oundPool.java
2e7dd4bfc2460b99c37568a223a18e74b9cb8086 16-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Unhide audio virtualizer capability query methods

Unhide the new method to query the Virtualizer effect implementation
about its capabilities in terms of input, device support, and
virtual speaker angles.

Change-Id: I4478f7837efe8c9d52978244a3402c7f8590e585
udioDevice.java
udiofx/Virtualizer.java
d811af223ea4064669ad219f78aa7f57d6bb5bce 18-Jul-2014 Ji-Hwan Lee <jihwan@google.com> Fix android_system_stubs build

Change-Id: I52c42b5d781b5c07481cdce598d2ebc340d57850
v/TvInputHardwareInfo.java
eea9743ba5c00ffff3750da40e9bab300ab1bc51 15-Jul-2014 Dongwon Kang <dwkang@google.com> TIF: introduce TvContract.buildChannelUriForPassthroughTvInput()

This change adds a way to get a dummy channel for starting pass-through
TV inputs which don't have real channels in TvProvider.
Bug: 15496325

Change-Id: I7a6b99964319f12a0f8692b4e307e03480119a69
v/TvContract.java
v/TvInputInfo.java
874f95ca73bc3cf594663886c67f09ead1e5e7a0 17-Jul-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Add TvInputInfo.getParentId" into lmp-dev
66bdf247df7b53130a01efe33419e0ce276e5f43 16-Jul-2014 Ji-Hwan Lee <jihwan@google.com> TIF: Add TvInputInfo.getParentId

Bug: 16166859
Change-Id: I07130b6f974ca7b2527aba68b92dc31fb4b5a139
v/TvInputInfo.java
5130655bcbb9e5bc091b27397558543201471263 17-Jul-2014 Chulwoo Lee <chulwoo@google.com> Merge "Pass input ID to the setup/settings activity" into lmp-dev
3b2f507910139d7f6dcfea89684196145431859e 17-Jul-2014 Chulwoo Lee <chulwoo@google.com> Merge "Introduce "input_id" column to the channels table" into lmp-dev
12307ca810e8100981b2b60e3f2c6a7e451b9774 15-Jul-2014 Jungshik Jang <jayjang@google.com> Revisit HDMI-CEC system audio mode in AudioService.

From recent feedback on HDMI-CEC system audio mode,
it would be unnecessary to enforce output from AudioService.
Instead, it would follow audio policy according to status
of HDMI-CEC system audio mode.
For that removed two params of setHdmiSystemAudioModeSupported
api of AudioManager.

In terms of speaker mute, it will be handled by removing speaker
from audio ouput instead of changing gain control. For that
added new force usage type, FOR_HDMI_SYSTEM_AUDIO_MODE and
new force config type, FORCE_HDMI_SYSTEM_AUDIO_ENFORCED.
This is used to notify change of system audio mode to
audio policy manager.

Bug: 16305986
Bug: 16002150

Change-Id: I5643ad093a651c951e12b567c6e11b88aa87cea2
udioManager.java
udioService.java
udioSystem.java
AudioService.aidl
c20533c1a7772f61d904fad31e3998c055c03da5 10-Jul-2014 Robert Shih <robertshih@google.com> MediaRecorder: added constants for WEBM output

Change-Id: Iacbb55bda71bb6da98244255bf2a4c34c7342fb0
ediaRecorder.java
d0d02e22cef381d5ee884013d11adb078a76205a 15-Jul-2014 Chulwoo Lee <chulwoo@google.com> Introduce "input_id" column to the channels table

Until now, TvInputService has been providing the channels. But from now
on, a TvInputService can have several TV inputs and the TV input will
provide its channels.
So introduced "input_id" which is the ID of the TV input instead of
"service_name" which designates the TvInputService.
Also updated related APIs.

BUG: 16138420
Change-Id: I1d4dcad17c028384ab75a7f71ee0b305509ae952
v/TvContract.java
029179d7f975b498e79308aac0e478e91900a0cb 16-Jul-2014 Chulwoo Lee <chulwoo@google.com> Pass input ID to the setup/settings activity

In the setup/setting phase, the activities should know their input ID
to access the channels/programs table.

Change-Id: If7afcb0ea474dca08c3dee06cbfcf76191a68660
v/TvInputInfo.java
1e6e8018a4f914210b615bfca0f818fd13574228 16-Jul-2014 Lajos Molnar <lajos@google.com> MediaCodec: add reset() + documentation fixes

Bug: 12034929
Change-Id: I38f89a2e4c41e0ceb3fdae4522b9c04f6c43a4f1
ediaCodec.java
f4e51d82d2e34e6832903f01eaecc15ded6c3241 16-Jul-2014 Liejun Tao <L.J.Tao@motorola.com> AudioService: Use device specific mode to open SCO audio

Bluetooth carkit may need specific mode to open SCO
channel. Add a settings value using BT device's MAC address
to store the SCO mode and use it to open SCO. In case no value
is stored, use default mode: Virtual Voice Call.

Change-Id: Iea31a48be0e8f3bd2d8689635fd8ce6f6d6da15a
udioService.java
ac17c2a8c9ba85efdd35f0262d05a41554eb3775 16-Jul-2014 RoboErik <epastern@google.com> Merge "Change adjustVolumeBy to adjustVolume" into lmp-dev
1ff5b1648a051e9650614f0c0f1b3f449777db81 16-Jul-2014 RoboErik <epastern@google.com> Change adjustVolumeBy to adjustVolume

This makes volume adjustments take a direction instead of a number of
steps and renames the API appropriately.

Change-Id: I6a31cbc42d889a38aa63446686a424cb2b8b2270
ediaRouter.java
olumeProvider.java
ession/ISessionCallback.aidl
ession/ISessionController.aidl
ession/ISessionManager.aidl
ession/MediaController.java
ession/MediaSession.java
ession/MediaSessionLegacyHelper.java
ession/MediaSessionManager.java
8b4bffcac996b4083e720310a09d315ca1c4a000 10-Jul-2014 RoboErik <epastern@google.com> Make MediaSession and MediaController constructors public

This makes the MediaSession/Controller constructors public and registers
with the system behind the scenes.

This also adds a bit about needing to call setActive(true) to start receiving
commands in MediaSession's docs.

Change-Id: If882d229b54c36bf0831aca0255052dda667a2bc
ession/MediaController.java
ession/MediaSession.java
ession/MediaSessionLegacyHelper.java
ession/MediaSessionManager.java
71940885f2748046dd744b039f9e18adef54673b 16-Jul-2014 RoboErik <epastern@google.com> Merge "Make MediaSession and MediaController constructors public" into lmp-dev
d70ad7a12871df3af73220cad19f5ecf45ef36d0 16-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> MediaPlayer factory method with audio attributes and session ID

Change-Id: I4e7f633c84c90581e849af2865f5be84a026f32f
ediaPlayer.java
54892c8b813eb2de3c5c6bcd08c90b8dd0abbec8 16-Jul-2014 Jae Seo <jaeseo@google.com> Merge "Implement TvContentRating" into lmp-dev
e16873467cda89d905027458e2664c759465d463 10-Jul-2014 Sungsoo Lim <sungsoo@google.com> Implement TvContentRating

Added a class that represents TV content ratings that are used for
parental controls. TV input services are required to create
TvContentRating objects with rating/sub-rating constants for specific
countries (for now US and KR only) defined in this class and then
convert them into strings in order to store them in the EPG database.

Bug: 13172379
Change-Id: I6200cb12fbc274dd0a8bcb87a8ac3cd2d96791db
v/TvContentRating.java
v/TvContract.java
79f5cd1429d37044a48af5d73d2003f43fd99318 16-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Unhide MediaPlayer.setAudioAttributes(), javadoc clarifications

Unhide MediaPlayer.setAudioAttributes() method.

Update javadoc to explicitly state that the factory methods
do not let you set the audio stream type, attributes or session.

Change-Id: I0d097c314db010698b035349befe0659ab4d1dde
ediaPlayer.java
d2bebb3ab86177c0d27664af86b30b7dce2c9bcb 09-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> DO NOT MERGE Audio virtualizer effect: add support for querying capabilities

Change-Id: Ib62bab6655996575d7703be0bcb55fa8559a68a2
(cherry picked from commit 57fa19dec7150678020e7f1fe6e6879fd9d873f5)
udioDevice.java
udioFormat.java
udiofx/AudioEffect.java
udiofx/Virtualizer.java
969167dc05a6485a32d160895871cff46fd81884 24-Jun-2014 Wonsik Kim <wonsik@google.com> TIF: Revisit availability changes

Bug: 15838097, Bug: 15973274
Change-Id: Ida060696cb6222c8ced576d86c100c25d94dc5c0
v/ITvInputClient.aidl
v/ITvInputManager.aidl
v/ITvInputManagerCallback.aidl
v/ITvInputServiceCallback.aidl
v/TvInputInfo.java
v/TvInputManager.java
v/TvInputService.java
7be24522ce2e1821ad45e7ada7c3f91e6814889a 14-Jul-2014 Lajos Molnar <lajos@google.com> MediaExtractor: set buffer offset/limit in readSampleData

also fix setting offset/limit in MediaCodec's getBuffer.

Bug: 13008204
Change-Id: Iadf0f006cfccc2546971cc5384058e1a2721780b
ediaCodec.java
ediaExtractor.java
44583d351ec7ccbe0813cc7c0fa36b9bc5a936a3 14-Jul-2014 RoboErik <epastern@google.com> Merge changes I51f2e466,I5b67cb3e into lmp-dev

* changes:
Make PlaybackState immutable with a builder
Add API to set a default session in Activity
c785a78fb483fe54012175c53d3758b2412de7b9 14-Jul-2014 RoboErik <epastern@google.com> Make PlaybackState immutable with a builder

bug:15862252
Change-Id: I51f2e466bd2c41bbe80d20aa9785126a7ac6ab3f
emoteControlClient.java
emoteController.java
ession/PlaybackState.java
33f4e04e32fac42f158733d6a731e50490fa9951 11-Jul-2014 John Spurlock <jspurlock@google.com> Volume: Delay adjustments made when showing ringer UI.

Since the volume rocker is now the primary system UI for
entering ringer modes, we need to provide a way to display
the ui without making a sound.

Change the policy for the ringer stream to only display the
UI on the initial adjustment request, don't actually make
an adjustment. However, don't break previous ability to
press and hold the vol keys down to vibrate, so allow this
after the standard framework long-press delay.

Audio service had no way of knowing whether or not the registered
volume controller was visible, so add a mechanism for the
controller (volume panel) to send that info back to the service.

Found and fixed a discrepancy between AudioManager.handleKeyDown
and MediaSessionLegacyHelper so that an adjustment over the
keyguard is allowed to vibrate as well as play sound during
adjustments.

Bug:16202639
Change-Id: Icd36c23e8d08c4ed57922c05724b281f32049be7
udioManager.java
udioService.java
AudioService.aidl
ession/MediaSessionLegacyHelper.java
1a937b04e63539cb1fab1bde601031d415c7156f 02-Jul-2014 Jeff Brown <jeffbrown@google.com> Initial draft of new MediaRouter APIs.

This patch introduces basic infrastructure for the new MediaRouter
API. The code is fully documented but incompletely implemented.
It is being submitted not to facilitate API reviews.

MediaRouter is a new class that applications used to discovery,
connect to, and control media devices as represented by media
destinations and their routes. Routes may offer a variety of
capabilities. This new class is a much more powerful replacement
for the existing MediaRouter.

MediaRouteService is a base class for creating media route services
which third-parties can implement to make routes available to
applications. It is analoguous to the MediaRouteProvider
infrastructure of the old media router support library but it
is designed to be integrated into the framework and enable a
variety of new usages such as remote display projection.

Stay tuned for more...

Change-Id: I2c7c6013d9f751d71e83697e7fc9e49bf7751fef
outing/IMediaRouteClientCallback.aidl
outing/IMediaRouteService.aidl
outing/IMediaRouter.aidl
outing/IMediaRouterDelegate.aidl
outing/IMediaRouterRoutingCallback.aidl
outing/IMediaRouterStateCallback.aidl
outing/MediaRouteSelector.aidl
outing/MediaRouteSelector.java
outing/MediaRouteService.java
outing/MediaRouter.java
outing/ParcelableConnectionInfo.aidl
outing/ParcelableConnectionInfo.java
outing/ParcelableDestinationInfo.aidl
outing/ParcelableDestinationInfo.java
outing/ParcelableRouteInfo.aidl
outing/ParcelableRouteInfo.java
ession/ISession.aidl
ession/ISessionController.aidl
ession/MediaController.java
ession/MediaSession.java
01a500ed1c6ae3fff66678144ae637aa8cad0ecc 11-Jul-2014 Jeff Brown <jeffbrown@google.com> Delete first draft of media routing APIs.

The new APIs will not be as tightly integrated into MediaSession.

Change-Id: I5cfd37d9d8d0c5d46c55edb5cf0772a8f1ef13ab
outeprovider/IRouteConnection.aidl
outeprovider/IRouteProvider.aidl
outeprovider/IRouteProviderCallback.aidl
outeprovider/RouteConnection.java
outeprovider/RouteInterfaceHandler.java
outeprovider/RoutePlaybackControlsHandler.java
outeprovider/RouteProviderService.java
outeprovider/RouteRequest.aidl
outeprovider/RouteRequest.java
ession/ISession.aidl
ession/ISessionCallback.aidl
ession/ISessionController.aidl
ession/ISessionControllerCallback.aidl
ession/MediaController.java
ession/MediaSession.java
ession/MediaSessionManager.java
ession/PlaybackState.java
ession/Route.java
ession/RouteCommand.aidl
ession/RouteCommand.java
ession/RouteEvent.aidl
ession/RouteEvent.java
ession/RouteInfo.aidl
ession/RouteInfo.java
ession/RouteInterface.java
ession/RouteOptions.aidl
ession/RouteOptions.java
ession/RoutePlaybackControls.java
b942b05093d2b1cee59ac73196a4b99962f10add 11-Jul-2014 Eino-Ville Talvala <etalvala@google.com> Deprecate android.hardware.Camera

__
||
||
||
||---____-----+
|| \_/ |
|| /. .\ |
|| ||---|| |
|| |___| |
|| | | |
||---____-----+
||
||
||
_____________||_________________

Replaced by android.hardware.camera2

- Also deprecate MediaRecorder#setCamera
- Also deprecate all Camera inner classes
- Update reference documentation in various classes to point to camera2
- Add note to camera API guide that it uses the old API
(until a new guide is available)
- Remove old hidden raw sensor format; superceded by RAW_SENSOR.

Change-Id: I3d839765fc9b9aae906751ee32d6956ef40451ce
ediaActionSound.java
ediaRecorder.java
9b08edff236fc68d836eccfaa1a5f028dc390cec 04-Jul-2014 Dongwon Kang <dwkang@google.com> do not merge. Implement onVideoAvailable/Unavailable in TIF.

Use cases:
- VIDEO_UNAVAILABLE_REASON_TUNE: to show spinner on channel change.
- VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL: to show a message and spinner on weak TV signal.
- VIDEO_UNAVAILABLE_REASON_BUFFERING: to show spinner on buffering.
- VIDEO_UNAVAILABLE_REASON_UNKNOWN: to show spinner.

Bug: 14126559
Change-Id: Ide2b68c74bd96d4ea1b9d85ab099a277253d05c7
(cherry picked from commit 1edfd8eb985ee41095c60f4aaf7029f56abff614)
v/ITvInputClient.aidl
v/ITvInputSessionCallback.aidl
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
2c1c31c7ae9bd972b974a5cc2d8b0942746af612 10-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Add a way to enable/disable caption

This is required to handle the case that an application wants to turn
on/off the caption explicitly (e.g. TvView in PIP). TV input service
implementation must respond to the request immediately to avoid any
legal implication since the captioning is imposed by the law in many
countries.

Bug: 14121898
Change-Id: I9600debae709fdc99065d7a0138ae69d1dffc9ba
v/ITvInputManager.aidl
v/ITvInputSession.aidl
v/ITvInputSessionWrapper.java
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
f79c22eb2c080281a3e973a488eb7d865f42afef 12-Jul-2014 Robert Shih <robertshih@google.com> Merge "MediaRecorder: use fd from RandomAccessFile"
0d5d3b7cc8b9ff142269a947443c758cb2af4684 11-Jul-2014 Robert Shih <robertshih@google.com> MediaRecorder: use fd from RandomAccessFile

Use RandomAccessFile instead of FileOutputStream so the underlying fd
is opened O_RDWR; O_RDWR is needed for mmap calls in the native webm
writer.

Change-Id: I444cbf40add96bc05905369ae2fa2b5446b0f9cc
ediaRecorder.java
bef45561b041f0170debb5ec67aad9eeb40c78fd 12-Jul-2014 Robert Shih <robertshih@google.com> Merge "MediaPlayer: added getSelectedTrack"
94686d13cacbec1ce7cf5fd0178fffb037d03cc1 12-Jul-2014 Chong Zhang <chz@google.com> MediaCodec: change onError cb to send CodecException

Bug: 11990118
Change-Id: I8b6112f126c2f473f64e2aad6ffcfbc3f1d6e64a
ediaCodec.java
d4023114e8cf7ec7db4d07958a303699b658f2c0 12-Jul-2014 Lajos Molnar <lajos@google.com> MediaCodec: add new buffer and format APIs

Bug: 14562236
Bug: 14297827
Bug: 13008204
Bug: 10706245
Bug: 10672559
Bug: 9175531

Change-Id: Ia94d34f625e532619a9ed344eb27e0d26647982f
ediaCodec.java
464da703cad93b35514ca36a68b6ef075e7b04dd 29-May-2014 Robert Shih <robertshih@google.com> MediaPlayer: added getSelectedTrack

Change-Id: Ic39b9b3d5e72e13452320a0272deb489a0285913
ediaPlayer.java
60fde9d254f99b1c2c7dcf4b325c0d4a0ab272ae 11-Jul-2014 Lajos Molnar <lajos@google.com> media: add crop rectangle to Image

Bug: 10706245
Change-Id: I9c9150bdef418fd96228addaa7c35f16e5e1ccff
mage.java
82fa0e7f7879efb68b10bca5a96cbb71ff23adb7 07-Jul-2014 Lajos Molnar <lajos@google.com> MediaCodec: update documentation on buffer metadata.

- Deprecated BUFFER_FLAG_SYNC_FRAME (as it actually marks key
frames).
- Clarified that BUFFER_FLAG_KEY_FRAME is used for encoded output
buffers.
- Clarified that presentationTimeUs is not an actual render
timestamp (as opposed to releaseOutputBuffer's render timestamp).

Bug: 12006531
Change-Id: Ia27b9f606a9d7eef9c0c2900cd864a4421c7cf31
ediaCodec.java
8d5e556b2b76278000a506382fdf594c071e1fbd 09-Jul-2014 Chong Zhang <chz@google.com> MediaCodec async callbacks

Bug: 11990118

Change-Id: I210d4302e1fd7e1a48d2228fd3f4f20c16b18a75
ediaCodec.java
998ff75484f1eecb6ebef150de4ac8456d22e864 11-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> fix build: hide AudioAttributes.usageToString() method

Change-Id: I1041d9bf530df45878dd61e30e32f5a2f4f9d1a1
udioAttributes.java
a8b6bd88cfb010c9e9aa1339e504fd593919e1e0 01-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Define audio policy, mixes, and mixing rules

An AudioMixingRule is a collection of AudioAttributes and match/exclude
rules.
An AudioMix is defined by its AudioMixingRule, AudioFormat and
routing flag.
An AudioPolicyConfig is a collection of AudioMix and is
parcellable.
An AudioPolicy has an AudioPolicyConfig, and
can be registered/unregistered through AudioManager.

bug 16009464

Change-Id: I01bf95d014967f48ba823648ea897779da099e5d
udioAttributes.java
udioFormat.java
udioManager.java
udioService.java
AudioService.aidl
udiopolicy/AudioMix.java
udiopolicy/AudioMixingRule.java
udiopolicy/AudioPolicy.java
udiopolicy/AudioPolicyConfig.aidl
udiopolicy/AudioPolicyConfig.java
1f213914c45c23c653f721690da2ce0718e63139 02-Jul-2014 Dongwon Kang <dwkang@google.com> Support multiple tracks in TV Input framework.

Added API: getTracks/selectTrack/unselectTrack/onTrackInfoChanged
(onVideo/Audio/ClosedCaptionStreamChanged callbacks are removed in favor of onTrackInfoChanged)
Use cases: audio and closed caption track selection
Background: go/tif-multi-track

Bug:14073704, Bug:14121898, Bug: 16049453
Change-Id: I199ed16f690d4e757da0bb30c8bc8222a6fa1d7a
v/ITvInputClient.aidl
v/ITvInputManager.aidl
v/ITvInputSession.aidl
v/ITvInputSessionCallback.aidl
v/ITvInputSessionWrapper.java
v/TvInputManager.java
v/TvInputService.java
v/TvTrackInfo.aidl
v/TvTrackInfo.java
v/TvView.java
6f34f5ab8ab1b1db7887e5405d8b0031e105ab05 08-Jul-2014 Jungshik Jang <jayjang@google.com> Revamp HDMI-CEC system audio mode integration with audio service.

In previous change we use setForceUse(FORCE_MEDIA, XXX) method
in order to set specific audio output type, such as LINE, HDMI_ARC,
and SPDIF. But it turns out that it conflicts with bluetooth
a2dp which uses the same setForceUse(FORCE_MEDIA, yyy).

This change is based on several conditions.

1. When other non-speaker devices are on, prevent system audio
from turing on.
2. In order to keep track of other devices' connectivity and to
turn off system audio if other device like bluetooth or
headphone preempts current output, register OnAudioPortChangeListner
to audio manager.
3. All possible system audio outputs can be merged with other
outputs without priority.

Change-Id: Id4e47d99db64b9f77a17c2c28c47787ab8980bf7
udioManager.java
udioService.java
udioSystem.java
AudioService.aidl
b2e93efcac593f5f27722219b274bd0fa5c1b0fe 11-Jul-2014 Erik Pasternak <roboerik@android.com> Revert "Make PlaybackState immutable with a builder"

Will resubmit tomorrow for Build Breakage Friday as this change needs new SDK prebuilts for unbundled app branches.

This reverts commit aa746b27610680a2c0fbdf7d81a6455c4597f05e.

Change-Id: I28ba7e1b09234a5eb1b725aed043b9de98e1bc16
emoteControlClient.java
emoteController.java
ession/PlaybackState.java
5a4e01114361b7dad4fc5465b4da00fd444fc098 09-Jul-2014 RoboErik <epastern@google.com> Make PlaybackState immutable with a builder

bug:15862252
Change-Id: I8944b7753cd6a36a74b0091f71a386f77040c4ab
emoteControlClient.java
emoteController.java
ession/PlaybackState.java
cd22c3ec5349be6432dc4dc5a61f99ad4ff03263 10-Jul-2014 John Spurlock <jspurlock@google.com> Merge "Volume: allow dialog to play sound over keyguard."
6bd096c8d608197535a6a6a26663fd1e717246de 10-Jul-2014 John Spurlock <jspurlock@google.com> Volume: allow dialog to play sound over keyguard.

Now that we are allowing the volume dialog above the keyguard,
the old suppression rule does not apply.

Bug:16186697
Change-Id: I071f1a2856850218e267d1fbaf547db44b644382
udioService.java
3c45c29109d23981d8b707c809b3b43ce2e20fc3 09-Jul-2014 RoboErik <epastern@google.com> Pipe volume keys to adjustVolume instead of sendMediaKeyEvent

We were calling sendMediaKeyEvent with a KEYCODE_VOLUME key, which was being
ignored because it's not a media key. This redirects the volume keys to use
the adjustVolume methods instead. It also sends the appropriate flags to
make the lock screen consistent with the home screen and the volume keys
only affect active playback when the screen is off.

bug:15900519
Change-Id: I9f3853a2385869353a58debae6e6ca9933ba06ce
udioManager.java
ession/MediaSession.java
ession/MediaSessionLegacyHelper.java
285fa63c61724892827a8b9458ddbfafc8136437 27-Jan-2014 Andy Hung <hunga@google.com> Add MediaCodec.CodecException

Also clarify MediaCodec exception handling in documentation.

Bug: 12034929
Change-Id: Ie82a15cc6ee4b772191edaf128823487cad00d0a
ediaCodec.java
806114bc6f5a87b35735d229e1c223bc37613ec7 09-Jul-2014 Andy Hung <hunga@google.com> Add float support to ByteBuffer AudioTrack write

Change-Id: I887b944ea40966b9849bd08c093994049671c9b4
udioTrack.java
0543b17e84f970751d12bf8cd9fb8c8f22b1f52b 09-Jul-2014 Terry Heo <terryheo@google.com> Merge "AudioSystem: add definition for loopback input device"
112c19ee8b459439c3462767199832e5394b37a8 07-Jul-2014 Terry Heo <terryheo@google.com> AudioSystem: add definition for loopback input device

Bug: 15437484
Change-Id: I91d88d476693e9b9a72799f3c52a659a5843e446
udioManager.java
udioSystem.java
b93ccca6139a7ee2dba5c110e5f8213a2bd231e5 26-Jun-2014 Dongwon Kang <dwkang@google.com> Add onChannelRetuned callback in TV Input Framework.

Use cases:
- Channel change from STB which is bound to a TV input.

Bug: 14126559
Change-Id: Icddab61be6cb11162c03960fdb41fee8504bcd61
v/ITvInputClient.aidl
v/ITvInputSessionCallback.aidl
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
ae641c9ccd3f81214cee54a5f13804f1765187ad 01-Jul-2014 John Spurlock <jspurlock@google.com> Implement new volume UI design.

- Add segmented zen-mode picker to the rocker UI.
- Add a new "no interruptions" value to the zen setting.
- Implement expandable condition subpanel on the rocker UI.
- Remove the old circle&slash icons.
- Suppress alarm sounds if in "no interruptions" mode.
- Add warning re: alarms to the condition UI.
- Allow rocker UI to display over the keyguard.
- Remove Notifications QS tile.
- Realign volume rocker to the top of the screen.
- Add support for new "days" sleepMode.
- New icon policy rules for "volume" slot.
- New important icon (star).

Associated Settings change:
I6ed56791784968adfbd684f490dbbebed285a2dd

Bug:15831713
Change-Id: I35afe38646f04d2ba0dbac11c2c6356120a33694
udioService.java
d1988a98ed69db8c33b77b5c085ab91d22ef3bbc 01-Jul-2014 Zhijun He <zhijunhe@google.com> Add RAW10 image format

- Add RAW10 format in ImageFormat
- Add ImageReader support for this format

Bug: 15989722
Change-Id: Ic38ae596d5a472e990389d1fa221a82bea97b715
mageReader.java
50f45d018555570ef07d75deeec3b782c99a3f22 03-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioDevice class to expose concept of device in SDK"
3ef181227245d437ee3f528fcffc9cfe1e5d7c1e 27-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioDevice class to expose concept of device in SDK

Change-Id: I94c87e98061581a767d775f64dd6bd9a1f9956e1
udioDevice.java
udioDevicePortConfig.java
6c09004ec09951712ab57473810fa6b85f5783cd 02-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Send media button events with FLAG_RECEIVER_FOREGROUND set

bug 11357318

Change-Id: Iccd000bebb31a2f6cb057e97d3ab276861d0b651
ession/MediaSessionLegacyHelper.java
6e90e4ea4f816473d1941595d1b46b65ffed7bee 01-Jul-2014 Jae Seo <jaeseo@google.com> TvContract: Add a field for network affiliation to the Channels table

This is used to identify a channel that is commonly called by its
network affiliation instead of the display name.

Bug: 15993156
Change-Id: Ib5a15e0e44e815c98b762573b5a24289a86f9583
v/TvContract.java
41d974631c5f525da49c88d34cecedd5a4cfeda8 30-Jun-2014 Jungshik Jang <jayjang@google.com> Add volume callback for Hdmi-Cec system audio mode.

Hdmi-Cec's system audio mode delegates audio control to
audio receiver from tv. It requires to delegate
volume change including mute to audio receiver
instead of consuming by tv.
In order to do this this change introduces three apis.
One is added to IAudioService, the others are added
to IHdmiControlService as hidden apis.

1. IAudioService#setHdmiSystemAudioSupported;
This is to notify system audio mode change to audio
service so that it determines to notify volume or mute
change to HdmiControlService.

2. IHdmiControlService#setSystemAudioVolume;
This is to notify volume change to HdmiControlService.
It's called only where system audio mode is on.

3. IHdmiControlService#setSystemAudioMute;
This is to notify volume change to HdmiControlService .
It's called only where system audio mode is on.

Change-Id: I3d8534b37ddf1a812e32012059a8778772044bf0
udioManager.java
udioService.java
udioSystem.java
AudioService.aidl
70d34bb485e720d7d50c7108a357a5cfdb09de93 26-Jun-2014 Jungshik Jang <jayjang@google.com> Define force usage and category for System Audio Control.

This is to be sync with change of system/core/include/system/audio_policy.h

Change-Id: Ibd371197775fb70a96df6e3eef82ec8ae10b0508
udioSystem.java
7edabadf78b6abfd1ffdd4a4ea98df4817c0d307 02-Jul-2014 Eric Laurent <elaurent@google.com> Merge "AudioManager: add isVolumeFixed() API"
ba207e76b2c5ebc01ececff351107d19a3134f3a 16-May-2014 Eric Laurent <elaurent@google.com> AudioManager: add isVolumeFixed() API

Indicates if the device implements fixed volume policy.
In this case, volume control APIs are not operational.

Bug: 11430859.

Change-Id: Ia82bdfe5b38d6b2ce132f00a493e6a04cb794ea0
udioManager.java
a4d4c200e43a020bf63d8c290321e31058f232ca 01-Jul-2014 Marco Nelissen <marcone@google.com> am 1ed64c65: am 899c15ef: am db816cef: Merge "Make sure we clean up"

* commit '1ed64c65a7b4d33799ca42cb4422d8382929cac2':
Make sure we clean up
1ed64c65a7b4d33799ca42cb4422d8382929cac2 01-Jul-2014 Marco Nelissen <marcone@google.com> am 899c15ef: am db816cef: Merge "Make sure we clean up"

* commit '899c15ef2053f0cebfeda90b5211e80310e6f278':
Make sure we clean up
db816cef0dd1f1988fbcf3c70a66f9c4acf73358 01-Jul-2014 Marco Nelissen <marcone@google.com> Merge "Make sure we clean up"
e19a4fe32fd87a6c819f15155bb43d9fbe67607a 01-Jul-2014 Santos Cordon <santoscordon@google.com> Merge "Move call-related SystemAPIs to TelecommManager. (1/3)"
8df982dfa5408afe67cd6a4b45bfbf26c94299d0 26-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> Java MediaPlayer: add support for setting audio attributes

Change-Id: Ia638107a5e67c20c46c2f5f1800db9da57d6f698
udioAttributes.java
ediaPlayer.java
9eb45934c582a0bf5060125690de8bce4f10ca76 27-Jun-2014 Santos Cordon <santoscordon@google.com> Move call-related SystemAPIs to TelecommManager. (1/3)

Bug: 15672803
Change-Id: I46e448fe93a9c5b4ae013e8b2fd6f0ce89b94e69
udioService.java
8fef8773100e68350858f4c894ba7c02291f10b7 01-Jul-2014 Jeff Brown <jeffbrown@google.com> Merge "Make MediaSessionToken an inner class of MediaSession."
dba34ba35cd2042d9a8fecfda56e2abe7a680bad 25-Jun-2014 Jeff Brown <jeffbrown@google.com> Make MediaSessionToken an inner class of MediaSession.

Also add some missing AIDLs to the framework makefile to ensure
they are included in the SDK.

Change-Id: If85a3091c7591e0b3bbe6cc4bb74aba2284b4f42
ession/IActiveSessionsListener.aidl
ession/MediaController.java
ession/MediaSession.aidl
ession/MediaSession.java
ession/MediaSessionManager.java
ession/MediaSessionToken.aidl
ession/MediaSessionToken.java
b973baca3b6d83bb29eb468edf3dffd7d7d32e64 01-Jul-2014 Dongwon Kang <dwkang@google.com> Merge "Add a column to TV channel metadata to enable a newly requested use case"
9e4a5ac7517cb0e32e0cf889988c92f640d9cad3 18-Jun-2014 Chulwoo Lee <chulwoo@google.com> Add a method to build channels uri for genre

BUG: 14069779
Change-Id: Ic4aa0f6a1ef154d680a5540140958cf4e735257c
v/TvContract.java
fb917e019f04d60f4924114fe2684c0d67981af6 27-Jun-2014 Paul McLean <pmclean@google.com> Enabling USB Device and Android Device Vol inc/dec functionality for USB Audio Output

Bug: 13747844

Change-Id: Ia969dad4150adeafb375e3f9985f9d8ba7222638
udioService.java
07b7c5fa4cb705eea5d89f98e84341db5465d663 27-Jun-2014 Youngsang Cho <youngsang@google.com> Turn on/off an overlay view by visibility change in TvView

Bug: 15873405
Change-Id: I0e6db7fb61af6d79cbfc00cefddd8ba2a0a7ee7e
v/TvView.java
2b53aae90cb265f6bc73e08feddc523ba1a0593a 23-Jun-2014 Dongwon Kang <dwkang@google.com> Add a column to TV channel metadata to enable a newly requested use case

conditional_access :
Used to let user know this channel is scrambled by a conditional access
system and need to contact the service provider to watch it.

Bug: 14073703
Change-Id: I62d744b92e31fbbb95ba10b2595686114f6fbb6f
v/TvContract.java
6d8a7d7009c12660dc4d6f7f188e366b9b813c98 26-Jun-2014 Youngsang Cho <youngsang@google.com> Merge "Properly handle navigation keys in TIS"
44fbbca35459ee756a531661eba53ec33419790a 27-May-2014 Youngsang Cho <youngsang@google.com> Properly handle navigation keys in TIS

If the navigation keys are dispatched to an overlay view and
the overlay view has focusable views, the navigation keys should
be always handled.

Bug: 15174809
Change-Id: Ia7490880243342e08e4502644e1864e4c583ee1d
v/TvInputService.java
d09bd0c6eb8318e0122b14d7eb5324e481706e41 25-Jun-2014 RoboErik <epastern@google.com> Move VolumeController into AudioService

VolumeController was a hidden class only used by AudioService and
MediaFocusControl. Since we added a public VolumeProvider class
moving VolumeController to avoid confusion.

Change-Id: I6838daf9b83846e1393b1a8502d3b10345a4799a
udioService.java
ediaFocusControl.java
olumeController.java
19c9518f6a817d53d5234de0020313cab6950b2f 24-Jun-2014 RoboErik <epastern@google.com> b/15729204 Pipe sessions through to VolumePanel

When remote volume is changed via volume buttons we need to notify
the system UI so it can show the slider. This also passes it the
controller to use so adjustments to the slider are sent back to
the correct session.

Change-Id: If5847bcd5db16c56e0e9904b88c94e5b28954c41
udioManager.java
udioService.java
RemoteVolumeController.aidl
VolumeController.aidl
ediaFocusControl.java
olumeController.java
ession/ISessionControllerCallback.aidl
ession/ISessionManager.aidl
ession/MediaController.java
ession/MediaSession.java
ession/MediaSessionManager.java
3b6ec30bff1749766a0d25770aa42d3a013c09d3 30-Apr-2014 Jeff Tinker <jtinker@google.com> Fix exception discrepancy in MediaDrm.openSession

bug: 13792521
Change-Id: I2e47ce754c1e560315bf2bf1144d94e01472e392
ediaDrm.java
e4e223ced08094898ad64eaddc6cfcb2d3312076 25-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioTrack Java constructor with AudioAttributes and AudioFormat"
a1d80e3b1d210c60c6881a55ed39a4077ff66080 18-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioTrack Java constructor with AudioAttributes and AudioFormat

Change-Id: I82758a4231b8dc0b8d8e72acf3c896a289c28f60
udioAttributes.java
udioFormat.java
udioSystem.java
udioTrack.java
bf58d9b727f1007c7c620f622ac1d8003b1b211b 24-Jun-2014 Jeff Brown <jeffbrown@google.com> Minor cosmetic tweaks.

Change-Id: I626bad7177659b5670c2864d7bc78033a0ee16e7
ediaMetadata.java
ating.java
olumeProvider.java
ession/MediaController.java
ession/MediaSession.java
ession/MediaSessionManager.java
ession/PlaybackState.java
909a1b2e73efdb592b5a8f2c2e786f4c6c4bad14 23-Jun-2014 Marco Nelissen <marcone@google.com> am c4d37f58: am 0eee8ac2: Merge "Fix thumbnail bug"

* commit 'c4d37f58a1b5405812eaf96b4bd3a051d86884eb':
Fix thumbnail bug
7026020398534bea51a122cbe91f0da0770a6f06 24-Jun-2014 Chong Zhang <chz@google.com> don't select default track if subtitle controller is not present

subtitle controller won't be there if app is not using VideoView.

Bug: 15470448
Change-Id: If6724928220a8906bd2199ebc0916a4493092abb
ediaPlayer.java
b416af13e748aca18a220a9f4a5232306af9c830 20-Jun-2014 Marco Nelissen <marcone@google.com> Fix thumbnail bug

When there was no thumbnail for a given image, the getThumbNail() convenience
method could return a previously-returned thumbnail instead of null.

b/15771860
https://code.google.com/p/android/issues/detail?id=40714

Change-Id: Ibd18e048145bf347469f800afdf436247ea6b693
iniThumbFile.java
51fa6bcb22a52b283f6d0756d286101f0d354f54 20-Jun-2014 RoboErik <epastern@google.com> b/15757378 Expose APIs for listening to active sessions

This allows apps that are registered notification listeners to
listen to the set of active sessions.

Change-Id: I1e108951a5049d138208e88b155c0ec9b95fbdb0
emoteController.java
ession/MediaSessionManager.java
d3afc9c1d8b1585a1d6e0d3d840e9dd93081ec0c 24-Jun-2014 Marco Nelissen <marcone@google.com> am 909a1b2e: am c4d37f58: am 0eee8ac2: Merge "Fix thumbnail bug"

* commit '909a1b2e73efdb592b5a8f2c2e786f4c6c4bad14':
Fix thumbnail bug
6a9687109ceeb9d9a60754921ff46c66ae4e672d 20-Jun-2014 Jeff Tinker <jtinker@google.com> Merge "Add diagnostic error code to MediaDrm IllegalStateExceptions"
d712e1a387f06fedb33d083730d279b26ed5e399 19-Jun-2014 Jeff Tinker <jtinker@google.com> Add diagnostic error code to MediaDrm IllegalStateExceptions

bug: 13976775
Change-Id: I682dd66a79252a9ee030b3cab5deb350e653e933
ediaDrm.java
ef3c9e9b057a5aac2d0d012e8e6385660478e203 20-Jun-2014 RoboErik <epastern@google.com> Add volume handling APIs to sessions

This renames and moves the VolumeProvider and adds apis to
MediaController to get the current state of volume on a session and
to request changes to the volume.

Change-Id: I290e9efefb6676c805819a29e1d054c3192c6773
ediaRouter.java
olumeProvider.java
ession/ISessionController.aidl
ession/MediaController.java
ession/MediaSession.java
ession/ParcelableVolumeInfo.aidl
ession/ParcelableVolumeInfo.java
ession/RemoteVolumeProvider.java
6f0e4ddd66fcdcc13944d8970d0b560e2626508b 18-Jun-2014 RoboErik <epastern@google.com> Remove more dead audio service code

Hit a snag in remote volume changes. Trying off this round of
removal so I can work on fixing remote volume handling in a
separate CL.

Change-Id: I49b1ba4b75d770ba7c77da081755f3210a9e9483
udioManager.java
udioService.java
AudioService.aidl
ediaFocusControl.java
emoteController.java
ession/ISession.aidl
ession/MediaSession.java
ession/MediaSessionLegacyHelper.java
83900754f357616b9e56eaf7fc85f49b8906e987 16-May-2014 Eric Laurent <elaurent@google.com> AudioManager: add startBluetoothScoVirtualCall()

Add API to start bluetooth SCO audio connection explicitly
in virtual call mode.

Bug: 11824396.
Change-Id: I1dfab13c659f5855e0b78467ac48b3186af7874c
udioManager.java
udioService.java
AudioService.aidl
f76ba856f30d5dac5f83351345cb3ad20dd5228d 18-Jun-2014 Sungsoo Lim <sungsoo@google.com> Merge "Print a warning message instead of throwing IllegalStateException"
d3c8642dae9a1f6db60e2f8e5c7b32cd1b3169df 16-Jun-2014 RoboErik <epastern@google.com> Remove some more old code and fix Media command

Removes some more hidden apis from AudioService/Manager. This also
fixes up Media.java to support commands for the new service to help
with debugging. Also fixes a couple bugs that were found while fixing
up Media.

Change-Id: I68e4aa80a4de430b98236aafc883664b9432c62b
udioManager.java
udioService.java
AudioService.aidl
ession/MediaController.java
ff0d9f098e51c54e1a030ed21fd980680cb7b405 10-Jun-2014 Eric Laurent <elaurent@google.com> AudioTrack: Add support for compressed audio

Add AudioFormat encoding definitions for compressed audio
and modify AudioTrack to accept compressed audio data.

Bug: 9428304.

Change-Id: Ib85a4d0d78af45924328f4d2d2ffebe83f4a00c5
udioFormat.java
udioManager.java
udioTrack.java
a358b53e1d0bb7a7fc08b0a4d2a2e256f3045859 12-Jun-2014 Wonsik Kim <wonsik@google.com> TvInputHardware: Add HDMI port ID

Bug: 15570939
Change-Id: I957804124fa5e417de8c98c6d41332609097d995
v/TvInputHardwareInfo.java
d7c29189aa639bfac1e6efcd222e65c2c8ecf3f1 27-May-2014 Wonsik Kim <wonsik@google.com> TvInputHardware: Integration with audio framework changes

TvInputHardwareManager detects AudioPort specified by tv_input and
connect source to sink via AudioManager.createAudioPatch().

Bug: 15177175
Change-Id: I2252eb0df2d8287889ed28cc7d76dc1a659fd08b
udioManager.java
udioSystem.java
v/TvInputHardwareInfo.java
3bbd9be166fecc5c333f49e18a2f46c7355472cd 19-Jun-2014 Jae Seo <jaeseo@google.com> Merge "TvContract: Change constants of canonical genres to all-caps values"
0e33c1286d984555802f6b2b81ace9b6021c2d9f 19-Jun-2014 Jae Seo <jaeseo@google.com> Merge "TvContract: Add columns for video format and resolution"
acc1957d78bb52f90c38751d139d8808e2124007 18-Jun-2014 Jae Seo <jaeseo@google.com> TvContract: Change constants of canonical genres to all-caps values

This is just for consistency with other constant values.

Change-Id: If226af08e66532c9110bc88e3c68d3958c67cdb6
v/TvContract.java
68e0de81d5689d8f2b3c36cb067a43765557daa1 14-Jun-2014 Jae Seo <jaeseo@google.com> TvContract: Add columns for video format and resolution

Added COLUMN_VIDEO_FORMAT to the Channels table to indicate typical
video format for programs from a given TV channel, which can later be
used to filter out channels. Also defined common video formats and
resolutions and a utility method to get the video resolution for a given
format.

Added COLUMN_VIDEO_WIDTH and COLUMN_VIDEO_HEIGHT to the Programs table
to indicate the actual video dimension for each individual TV program,
which can be shown as a part of program information by applications.

Bug: 15351111, 15456031
Change-Id: Id72e25de40f06a1b615620365e06cf11e4cd9f81
v/TvContract.java
1ae1fd4692b475e8bec8f2a45b55463a967f2d40 18-Jun-2014 Andy Hung <hunga@google.com> Merge "Fix AudioFormat getBytesPerSample to recognize float"
2854ed50254f06c9da21b8fe028b300b6ab267e2 18-Jun-2014 Andy Hung <hunga@google.com> Fix AudioFormat getBytesPerSample to recognize float

Bug: 15719638
Change-Id: Id53a07ef24e4403f3bad7a13c4dd801e556769eb
udioFormat.java
7d4769c18358f6d51bd77d45afe72040f073ab6f 18-Jun-2014 Robert Shih <robertshih@google.com> Merge "Move SubtitleData processing to SubtitleTrack"
5c80ad2077f3e755413ea47a35f51e9d25dbb083 13-Jun-2014 Jae Seo <jaeseo@google.com> Clean up the EPG data when a TV input package is removed

Also removed an unused parameter from sendSessionTokenToClientLocked().

Bug: 14981342
Change-Id: I5bcf6050386a2bc3e216f44420390c4b78282af4
v/TvContract.java
38c209b938b371d8852a104815c508c49ceabca6 11-Jun-2014 Robert Shih <robertshih@google.com> Move SubtitleData processing to SubtitleTrack

Change-Id: Ia338a7a1b51e449d0ab6df9933ea0efcc2d12849
ediaPlayer.java
ubtitleTrack.java
dc952584e37fca96ad0e02e13b2438038fef6bef 17-Jun-2014 Sungsoo Lim <sungsoo@google.com> Print a warning message instead of throwing IllegalStateException

In TvInputManager.java, when postSessionReleased() is called but
onSessionReleased() is not called yet, mToken is null, and it's not
an illegal state.

Bug: 15095124
Change-Id: Icd2a84ae350d9979e3cef4dbd3a73699e05e7c2a
v/TvInputManager.java
cf9bec5bb6abfe134332d5004c1fee90901da62c 13-Jun-2014 Jae Seo <jaeseo@google.com> TvContract: Enable building programs URI also with channel ID

Bug: 15446137
Change-Id: I322c1b90c272e553b028af1f9011feecde124915
v/TvContract.java
2fc02ba031076414dd569d2044c1923b40e3bad4 17-Jun-2014 RoboErik <epastern@google.com> am 276777ea: b/15676582 Fix ordering of sessions returned by MediaSessionManager

* commit '276777ea10dadd27cd9fad5260e41dfed6cfa34a':
b/15676582 Fix ordering of sessions returned by MediaSessionManager
6b1bea09031ef24214f1806f9b7604302d824c62 17-Jun-2014 RoboErik <epastern@google.com> b/15676582 Fix ordering of sessions returned by MediaSessionManager

This was causing the wrong rcc to be shown. Simple fix
just fixes the ordering so it's not reversed.

Change-Id: I56f2d9d6895d6ba3b0eca8f77a3b0b63e0193ad1
ession/MediaSessionManager.java
1c46ae419c8f04c0359fea82ef8c8718db14e9b4 17-Jun-2014 Marco Nelissen <marcone@google.com> Merge "Don't send unneeded messages."
48163e060d88ac1cbc915911c1c055907a4b7c71 12-Jun-2014 Marco Nelissen <marcone@google.com> Don't send unneeded messages.

This is significantly faster, and doesn't caused messages to pile
up on a looper that might not be processing them.

Change-Id: I2d3536d1f12c71a214c181523dcd60810de3029d
ediaCodec.java
430fc48865e5a371b08f180390946b96d73848fe 13-Jun-2014 RoboErik <epastern@google.com> Work on removing non-session media routing code

Change-Id: I73e7d22f2f8772c7b07ccf32d962161d79d5db74
udioManager.java
udioService.java
ediaRouter.java
layerRecord.java
emoteControlClient.java
19ed4a179ccea6915f1852139d520dddba779490 14-Jun-2014 Chong Zhang <chz@google.com> implement edge styles and underline for closed caption

Bug: 15470448
Change-Id: I52f6921f85486c05905ac3ae69d2edae9f11667d
losedCaptionRenderer.java
c5db4bfb10f95129ca005292d5a7667898d0c985 16-Jun-2014 Emily Bernier <ember@google.com> Merge "Add an app ops code for microphone muting."
22c921a910d236abf3a1705a02541a49fdaf3a14 28-May-2014 Emily Bernier <ember@google.com> Add an app ops code for microphone muting.

When OP_AUDIO_MICROPHONE (linked to the DISALLOW_UNMUTE_MICROPHONE user
restriction) is set, the system blocks calls to setMicrophoneMute.

Bug: 13585692

Change-Id: Ib32138bcc256cfbac4fe21a090d5ba34f5c641fc
udioManager.java
udioService.java
AudioService.aidl
90c91c2adfb3a720f846c39b5f3f7cff6dea534e 16-Jun-2014 Chong Zhang <chz@google.com> Merge "support for CEA-608 closed caption"
86cdd73d76735903b6e1e01196d6fb21d59eaa9b 16-Jun-2014 Chong Zhang <chz@google.com> Merge "change onData() to take byte array of raw data"
bdfd91024767893829017918ab565f224ccd35ec 12-Jun-2014 Chong Zhang <chz@google.com> support for CEA-608 closed caption

Bug: 15470448
Change-Id: Ic6a527f5c35a8ee0a08a5b043336e4d193216083
losedCaptionRenderer.java
ediaPlayer.java
079fa9683dc062f154333a661f5e84a5ac5e43c7 12-Jun-2014 Chong Zhang <chz@google.com> change onData() to take byte array of raw data

conversion to UTF-8 if necessary will be handled by the renderer.

Bug: 15470448
Change-Id: I6d4a5e29e6af07f5c031197ea424f8f8e53cd05b
ediaPlayer.java
ubtitleTrack.java
tmlRenderer.java
ebVttRenderer.java
796691e302785bd8b7822653f5f041fa375fcfc3 12-Jun-2014 Jae Seo <jaeseo@google.com> Merge "Add an API to get TV input icon"
cca74c1b0d2660c5e143bf3b4eaa962a2c734e90 09-Jun-2014 Jaewan Kim <jaewan@google.com> Add an API to get TV input icon

Bug: 14423022
Change-Id: I7b3c0efadc8448cae56ef370611be8e09a301f42
v/TvInputInfo.java
b41ed6ca70984f0696f85e1608306f00f60875d9 12-Jun-2014 RoboErik <epastern@google.com> am 8c4b4dc8: Merge "b/15330955 Make RemoteController use the new session APIs" into lmp-preview-dev

* commit '8c4b4dc87f68d13331d67f4a25480455a7fb2378':
b/15330955 Make RemoteController use the new session APIs
73e23e229dd1a2d25687b1c6a63c708665378e41 11-Jun-2014 RoboErik <epastern@google.com> b/15330955 Make RemoteController use the new session APIs

This moves RemoteController over to using Sessions instead of
the RCC/RCD framework. This also adds several hidden APIs to
help with translating between the two apis.

Change-Id: I0f50313db2b6190b16fa86ce670ac9250654ca05
udioManager.java
emoteController.java
ession/ISessionController.aidl
ession/MediaController.java
ession/MediaSessionLegacyHelper.java
ession/MediaSessionManager.java
ession/PlaybackState.java
3a0f19980dcc3b9deba60b9b4f6b96dd3639dd45 12-Jun-2014 Jae Seo <jaeseo@google.com> Add channel types for NTSC, PAL and SECAM

Bug: 14451655, Bug: 15321686
Change-Id: I2618fb79a4b20898c95cea22154379738710da44
v/TvContract.java
5052e78949f4117c8c0c343571506d2272c8fb46 12-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioManager: add ability to allocate a new session ID"
e414608cb3dae5271104623ec52fe5a04305942a 10-Jun-2014 Zhijun He <zhijunhe@google.com> CamcorderProfiles: Add 4K video constants

Bug: 15287656
Change-Id: Ifbd9d37fb775371e2a4ee5cf80abbf83a75ffd65
amcorderProfile.java
8a21f5dd79e93aa4e4b08ab4f33b9255d7c06961 06-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioManager: add ability to allocate a new session ID

Expose method to allocate a new session ID.
Make the generic error code public.

Change-Id: Iec93548292845e3a1b1a97be9bbe54e9fcf06f2d
udioManager.java
udioSystem.java
e252909394921b65bce0e1910098b7c32c82232f 09-Jun-2014 RoboErik <epastern@google.com> am 6580a31d: Merge "Adds listeners for changes to the list of active sessions" into lmp-preview-dev

* commit '6580a31db0727dfffba99069f4866ad01fc88cfb':
Adds listeners for changes to the list of active sessions
03df2c51532a7fcc8d2443cdf7be94a86a20d63a 09-Jun-2014 RoboErik <epastern@google.com> am 91ead28f: Merge "b/15388389 Add volume handling support to MediaRouter" into lmp-preview-dev

* commit '91ead28f8e0d22df8c4eaed4295e8c0e1e21e35f':
b/15388389 Add volume handling support to MediaRouter
58af2199a53d56a57e1bfbe497d774e09d3665c2 09-Jun-2014 RoboErik <epastern@google.com> am ddbdcd09: Merge "Add a way to get the package/pid of the session" into lmp-preview-dev

* commit 'ddbdcd092d1b71b987d680a8b1a5140832625410':
Add a way to get the package/pid of the session
879917963810418b23f197eafea2b8a0d3b9c393 09-Jun-2014 Jae Seo <jaeseo@google.com> am a6b44fe7: Merge "Fix a typo in TvContract" into lmp-preview-dev

* commit 'a6b44fe7d3ab727de2b82d73209efdc9bdb57b41':
Fix a typo in TvContract
9aea9c93c531e0649e40f60692f775d45cc01f69 09-Jun-2014 Jae Seo <jaeseo@google.com> am 73fe04a4: Merge "TIF: Address the feedback from the API review - 3/3" into lmp-preview-dev

* commit '73fe04a41f88eb9e4a9da8e229351ce8458d0e0d':
TIF: Address the feedback from the API review - 3/3
a3d81885566f79b0e21438bd69634cc53a80918b 09-Jun-2014 RoboErik <epastern@google.com> Merge "Adds listeners for changes to the list of active sessions" into lmp-preview-dev
55f6ab4c813b6d355ba1ba72e4e2d98b9583f6f3 09-Jun-2014 RoboErik <epastern@google.com> Merge "b/15388389 Add volume handling support to MediaRouter" into lmp-preview-dev
20685929a4b3995d75f72059ac60a4770389a36f 09-Jun-2014 RoboErik <epastern@google.com> Merge "Add a way to get the package/pid of the session" into lmp-preview-dev
085eefd1842005e388629fdcaca6832e8766ee2c 09-Jun-2014 Jae Seo <jaeseo@google.com> Merge "Fix a typo in TvContract" into lmp-preview-dev
182dc33e9efcbfa80d6b277666c427c1b4afc3bf 09-Jun-2014 Jae Seo <jaeseo@google.com> Merge "TIF: Address the feedback from the API review - 3/3" into lmp-preview-dev
dc920984f257d7cd5f89f3a4c4ba0f3baf53b790 09-Jun-2014 Julia Reynolds <juliacr@google.com> Merge "Allow profile and device owners to change and get the master volume mute state."
4a21b25fad62e4f19d13ba814263841c931f56ef 04-Jun-2014 Julia Reynolds <juliacr@google.com> Allow profile and device owners to change and get the master volume mute state.

Also protect muting master volume with op code OP_AUDIO_MASTER_VOLUME.
Bug: 13585918
Change-Id: I91fe7ee60cd291cca15966b3127c0bb8a4828f6a
udioManager.java
udioService.java
AudioService.aidl
f30ea53306f6f581a454e12eb71be2d8c54bd366 09-Jun-2014 Jae Seo <jaeseo@google.com> Fix a typo in TvContract

Assigned a new value to TYPE_ATSC_M_H so that it differs from TYPE_ATSC_C.

Change-Id: I65494fdf625a3b4840c9e8cfa4b728214d63e6df
v/TvContract.java
32c67ee1193040d1af0a9bcf47610d128f99403e 09-Jun-2014 Wonsik Kim <wonsik@google.com> am 8be96a6f: Merge "Make TvInputs aware of whether it\'s hardware-based or not" into lmp-preview-dev

* commit '8be96a6ffa5ce1783310fe490f615ff323d1d5ed':
Make TvInputs aware of whether it's hardware-based or not
0a5b7784958c9c0b2afe9aa82ce640bfa50f8dc7 09-Jun-2014 Dongwon Kang <dwkang@google.com> am c523b768: Merge "Make TvView keep the volume value and set later once the connecation is made." into lmp-preview-dev

* commit 'c523b768331f8e3e1d355dd688f47946702cb425':
Make TvView keep the volume value and set later once the connecation is made.
55f933f7157c4ce3f7ae7aa03c1695bec2f707b4 09-Jun-2014 Wonsik Kim <wonsik@google.com> Merge "Make TvInputs aware of whether it's hardware-based or not" into lmp-preview-dev
fb442b03840245c7e52cf2a540a77c5fc6c54587 08-Jun-2014 RoboErik <epastern@google.com> Add a way to get the package/pid of the session

We need a package/pid to connect a session to a notification. This
adds a way to get those from the controller of a session.

Change-Id: I7700a341beebd46116dfb7dc82f1a667c718e728
ession/ISessionController.aidl
ession/MediaController.java
ession/MediaSessionInfo.aidl
ession/MediaSessionInfo.java
2e7a9167aeefeb451f8d8c769175b9a0163744f3 05-Jun-2014 RoboErik <epastern@google.com> Adds listeners for changes to the list of active sessions

The listeners get notified when sessions are added, removed, or
reprioritized.

Change-Id: I7f3bfc84049719c3b9c19016c6bac92e1a5c3179
ession/IActiveSessionsListener.aidl
ession/ISessionManager.aidl
ession/MediaSessionManager.java
ession/MediaSessionToken.java
5d3114b64a88ac1f72becd8d46f148c666f64aa3 04-Jun-2014 RoboErik <epastern@google.com> b/15388389 Add volume handling support to MediaRouter

This makes MediaRouter work with sessions to handle volume
requests. Should work with all existing custom volume handling.

Change-Id: I5dfde26a6203a1072b7fc700978b4ca852ebe7d0
ediaRouter.java
ession/MediaSession.java
ession/RemoteVolumeProvider.java
1bfce9fb9bffe8bd620fd1683572ae620f91772f 04-Jun-2014 Jae Seo <jaeseo@google.com> TIF: Address the feedback from the API review - 3/3

- Change TvView to be a generic ViewGroup with a single SurfaceView child

Bug: 15345342
Change-Id: I86ed94b7020aabb6e093e391ab9477c1f801919a
v/TvView.java
336cdf20dd44ee93b5173be73e26e966a2609eb0 08-Jun-2014 Dongwon Kang <dwkang@google.com> Make TvView keep the volume value and set later once the connecation is made.

Bug: 15483740
Change-Id: Id4272bffb556587707b641ec8296bc5a9e57807e
v/TvView.java
af743eeaec43cdcb4e17fa4fa80cc29a59a1d245 29-May-2014 Wonsik Kim <wonsik@google.com> Make TvInputs aware of whether it's hardware-based or not

Bug: 15326724
Change-Id: I1f418150ba29ee50afc50a811198115fdc6f9c42
v/TvInputInfo.java
4ba840f18349094912ac6dd0ef054e04681b05c3 06-Jun-2014 Dongwon Kang <dwkang@google.com> am 1a4d3d02: Merge "TIF: Address the feedback from the API review - 2/3" into lmp-preview-dev

* commit '1a4d3d02f32ba5e50f2b0da9058dedfbd6342ef9':
TIF: Address the feedback from the API review - 2/3
929c6912a8310719b22571e24a0b83ad113b4b5b 06-Jun-2014 Dongwon Kang <dwkang@google.com> am 77b29f1f: Merge "TIF: Address the feedback from the API review - 1/3" into lmp-preview-dev

* commit '77b29f1f7a0dfc7305ed49d2b68bb35b9cc11f4c':
TIF: Address the feedback from the API review - 1/3
7012db741c508396ec42e731b6f77c372e0a9ed7 06-Jun-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: Address the feedback from the API review - 2/3" into lmp-preview-dev
2750d21d8ba9cce5eec5010889a33a2b15dc99f2 06-Jun-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: Address the feedback from the API review - 1/3" into lmp-preview-dev
b8a64416e5e7cf39fd899fa600a940b0ef3c15fd 04-Jun-2014 Jae Seo <jaeseo@google.com> TIF: Address the feedback from the API review - 2/3

This change addresses the following comments from the council:
- Change the TvView API to be tune(String inputId, Uri channelUri) and
reset()
- @hide TvInputSession class, including createSession() and
SessionCallback
- Define a listener interface specific to TvView, allowing you to hide
the session details and keep the API simpler. Add
setTvInputListener().

Bug: 15345342
Change-Id: I931662841b41d862ebc4a700ccb245889a5f87a5
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
4a2e599b5a48a5d348b5846baba387405596b7f1 06-Jun-2014 Ji-Hwan Lee <jihwan@google.com> am b3412adf: Merge "TvContract: Add channel logo and program thumbnail" into lmp-preview-dev

* commit 'b3412adf92b9d932b600acf44c4463cf06387a8e':
TvContract: Add channel logo and program thumbnail
cc15afbe12a92e1b0db7c2f8e97c5c0c9b089f16 06-Jun-2014 Ji-Hwan Lee <jihwan@google.com> Merge "TvContract: Add channel logo and program thumbnail" into lmp-preview-dev
c954e61cd73875e74115c778cb5e35eab9695a59 05-Jun-2014 Alan Viverette <alanv@google.com> am 3966c960: Merge "Add defaults for caption colors and edge type" into lmp-preview-dev

* commit '3966c9604e55c9183a6d1ba8b3540add3be4434f':
Add defaults for caption colors and edge type
4586b0da631758e2753c3f0936f410ff3a6c3bda 05-Jun-2014 Alan Viverette <alanv@google.com> Merge "Add defaults for caption colors and edge type" into lmp-preview-dev
4c1959cc45e944a083d84b5326b30faa14e3d13f 05-Jun-2014 Ji-Hwan Lee <jihwan@google.com> TvContract: Add channel logo and program thumbnail

Channel logo is exposed via its own content URI,
"content://android.media.tv/channel/#/logo".

Program thumbnail is added as an URI column in existing program table.

Change-Id: I8dd636bbea9d3fa991ad42ccc03a198e8c1d051d
v/TvContract.java
9f47b84c042b563ac88941424db606dcf9c16267 05-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioAttributes: parcelable, hide support for tags"
42cdf48b2f1a00aac98b8192aef8ace39a891b29 05-Jun-2014 Eric Laurent <elaurent@google.com> am e637e614: Merge "remove debug log in AudioPortEventHandler." into lmp-preview-dev

* commit 'e637e614b95eb8bb5b4d69ad5ab89ce92e4b5a29':
remove debug log in AudioPortEventHandler.
a335e14b6bcb71920f34a968ebc88a40ba116002 05-Jun-2014 Eric Laurent <elaurent@google.com> Merge "remove debug log in AudioPortEventHandler." into lmp-preview-dev
782f7345471072b630e58c7abd3579b0015273b1 03-Jun-2014 Jae Seo <jaeseo@google.com> TIF: Address the feedback from the API review - 1/3

This change addresses the following comments from the council:
- Change TvView.setVolume() --> setStreamVolume()
- Surface only TvInputInfo.getServiceInfo() instead of the separate
getPackage/getService/getComponent calls. However, keep loadLabel()
at the top level.
- @hide register/unregisterListener() for the preview, since it binds
out to each service.
- TvInputService should document which permission it should protect
itself with.
- Remove TvInputService.setAvailable() for third-party developers.
- Change class name TvInputSessionImpl --> Session
- Change callback name to onSetStreamVolume() to match earlier change

Bug: 15345342
Change-Id: I3ce5cba7dad2622b78d16c408f81c4b0eba837a4
v/ITvInputSessionWrapper.java
v/TvInputInfo.java
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
e94379beba4648c0a527ce3be32216276a55c7f7 05-Jun-2014 Eric Laurent <elaurent@google.com> remove debug log in AudioPortEventHandler.

Bug: 14815883.
Change-Id: Ib5076fcfe8a36d1dd772b072fdf3400e57acc61c
udioPortEventHandler.java
e88aee8ad85b01229b12dbc0c3cc2f0b8b490192 05-Jun-2014 Alan Viverette <alanv@google.com> Add defaults for caption colors and edge type

BUG: 8151470
Change-Id: I4d7b75bf647aeded77b4000cdcd37e9ace46a374
ebVttRenderer.java
b45c27303339e5baa9fe40e4f8ecd211e382982f 04-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioAttributes: parcelable, hide support for tags

Make the AudioAttributes class parcelable.

Hide support for adding and querying tags, there is no SDK-backed
use case for this feature.

Bug 15306334

Change-Id: Idb67a735778e687d73020ed0120643f31fc230a6
udioAttributes.java
7d10873c5c75baedfeafed63c9111c8785b3cd17 04-Jun-2014 Eric Laurent <elaurent@google.com> am dd76759d: Merge "AudioManager: fix AudioPort gain query" into lmp-preview-dev

* commit 'dd76759d3e279cd56d6b1ce16a0b9488af35e0ab':
AudioManager: fix AudioPort gain query
450758a55cc625cc12bf818390cc1899ad0a74bc 04-Jun-2014 Dongwon Kang <dwkang@google.com> am 65d95bfa: Merge "Add onAudioStreamChanged and onClosedCaptionStreamChanged callbacks from TIS to application." into lmp-preview-dev

* commit '65d95bfa011fa50e50403f41e08afa2af5d9746e':
Add onAudioStreamChanged and onClosedCaptionStreamChanged callbacks from TIS to application.
8da213917ec58debffd91bbc64451b38361af428 04-Jun-2014 Eric Laurent <elaurent@google.com> Merge "AudioManager: fix AudioPort gain query" into lmp-preview-dev
6dd6a3dfa0c3b0e938abb52c8b453a5cf2dcd364 03-Jun-2014 Glenn Kasten <gkasten@google.com> Merge "Update android.media.AudioTrack.getTimestamp API documentation"
39f5300ebc6f0508b4c59ca509061ae94bc3f0c6 03-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioFormat class"
2e0bacc2a363a6cb304c926f513705af17699821 03-Jun-2014 Jae Seo <jaeseo@google.com> am 594ac157: Merge "TvContract: Address the feedback from the API review" into lmp-preview-dev

* commit '594ac1575f8301023d37c329f8c676ba9bda396c':
TvContract: Address the feedback from the API review
f573765bf1a70d3af7d6149fb01dbe0f74f95834 03-Jun-2014 Chulwoo Lee <chulwoo@google.com> am b9c0a8ae: Merge "Add a way to get the class name of SetupActivity and SettingsActivity" into lmp-preview-dev

* commit 'b9c0a8ae7b0e69829a663fa2ca6bbdededa02d93':
Add a way to get the class name of SetupActivity and SettingsActivity
4c9e57f156d3cbd86b38e9897dfdab81964efe90 03-Jun-2014 Jae Seo <jaeseo@google.com> resolved conflicts for merge of ebe661c4 to master

Change-Id: Ic25dc762ee43654b439de3ec237ead007bee3df4
7b2ae34b97943a4dfe3fa6b5c1c74f415b468993 03-Jun-2014 Dongwon Kang <dwkang@google.com> Merge "Add onAudioStreamChanged and onClosedCaptionStreamChanged callbacks from TIS to application." into lmp-preview-dev
f723f8e9cf5b4a00ce84c8b1b4b9256cf7745e2c 30-May-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioFormat class

Change-Id: I425c80c6caed98f6fa31e8cad8f15435c99ebc20
udioFormat.java
b4e0909fc4fb08f513cb2b39a919b189621be87c 03-Jun-2014 Eric Laurent <elaurent@google.com> AudioManager: fix AudioPort gain query

Fix bug causing AudioPort.gain(int) to always return null.

Also removed debug log from AudioManager.

Bug: 14815883.
Change-Id: Ie65bab233ec8b4d974061e11ec5b8f0de18275d9
udioManager.java
udioPort.java
a3be12a236aef0d9c4ff1274075f1e7899d29153 02-Jun-2014 Dongwon Kang <dwkang@google.com> Add onAudioStreamChanged and onClosedCaptionStreamChanged callbacks from TIS to application.

Bug: 14628404
Change-Id: I40abf647e9d608c2c793d007fd2fe0d511535bdd
v/ITvInputClient.aidl
v/ITvInputSessionCallback.aidl
v/TvInputManager.java
v/TvInputService.java
v/TvView.java
6fbe3982b035c200543454bb29b9f3e33b5e347a 03-Jun-2014 Jae Seo <jaeseo@google.com> Merge "TvContract: Address the feedback from the API review" into lmp-preview-dev
e7bb7d6bb2257c24076f5a4b9f536f90a6637f58 27-May-2014 Chulwoo Lee <chulwoo@google.com> Add a way to get the class name of SetupActivity and SettingsActivity

Now, there can be only one SetupActivity and one SettingsActivity for
one TIS apk though one TIS apk can contain several services. Each TIS
need to be able to have its own SetupActivity and SettingsActivity.

BUG: 15177340
Change-Id: I2d944e3ef35c3a981483ba643fd27b15925bab16
v/TvInputInfo.java
v/TvInputService.java
bd23fa0ba1460a8d5194fd7c700030bf9c3f6fcb 01-Jun-2014 Jae Seo <jaeseo@google.com> TvContract: Address the feedback from the API review

This change addresses the following comments from the council:
- Provider authority should be "android.media.tv"
- Rename COLUMN_DATA to COLUMN_INTERNAL_PROVIDER_DATA and add comment to
indicate data is internal to the provider that inserted it, and should
not be decoded by other apps. It would be nice to restrict read access
to this column, but not essential.
- Hide COLUMN_LOCKED since implementation isn't defined yet, also
questions about how it interacts with Unicorn.
- Fix typo in ORIGINAL_NETWORK documentation.
- All provider MIME types need to be changed to follow platform
conventions: "vnd.android.cursor.dir/channel",
"vnd.android.cursor.dir/program", etc. (Notice singular tense and no
package prefixes since they're part of the platform API.)
- Rename Programs.COLUMN_DATA to COLUMN_INTERNAL_PROVIDER_DATA, along
with docs update, for the same reasons as above.
- Rename COLUMN_DESCRIPTION to COLUMN_SHORT_DESCRIPTION and update docs
to indicate it's a recommended maximum length, not a hard cap.
- COLUMN_GENRE should be split into two columns: COLUMN_BROADCAST_GENRE
(from broadcast standard) and COLUMN_CANONICAL_GENRE (from an Android
standard). Define a subclass with the Android canonical genres, which
are simple strings that are comma-separated when inserted into
COLUMN_CANONICAL_GENRE.

Bug: 15345342
Change-Id: I7f8e70aef617475a59d096fd73a551e7df8a1d3a
v/TvContract.java
d5cc4a281e7ce29d1e8687ff3394b57a3a549260 31-May-2014 Jae Seo <jaeseo@google.com> Put TV Input Framework under android.media.tv, including TvContract

Bug: 15345342
Change-Id: I665ca23f0f074ce29cb2e047109b209178532107
v/ITvInputClient.aidl
v/ITvInputHardware.aidl
v/ITvInputHardwareCallback.aidl
v/ITvInputManager.aidl
v/ITvInputService.aidl
v/ITvInputServiceCallback.aidl
v/ITvInputSession.aidl
v/ITvInputSessionCallback.aidl
v/ITvInputSessionWrapper.java
v/TvContract.java
v/TvInputHardwareInfo.aidl
v/TvInputHardwareInfo.java
v/TvInputInfo.aidl
v/TvInputInfo.java
v/TvInputManager.java
v/TvInputService.java
v/TvStreamConfig.aidl
v/TvStreamConfig.java
v/TvView.java
830fd7036e7287df90d1889a43f6f8d3560c48bd 02-Jun-2014 RoboErik <epastern@google.com> am c7ed6f69: Merge "Minimum work to make volume handling work with sessions" into lmp-preview-dev

* commit 'c7ed6f69d474f23df89d36ed94ff0062daa8dcbc':
Minimum work to make volume handling work with sessions
e78755e180c4f29ccc324112286dd81ab2016c40 02-Jun-2014 RoboErik <epastern@google.com> Merge "Minimum work to make volume handling work with sessions" into lmp-preview-dev
3a4398a76ceb8ba0679f4b4a585e47d398e05728 02-Jun-2014 Eric Laurent <elaurent@google.com> am 209fc1ae: AudioManager: do not mandate a looper

* commit '209fc1ae7abb6965cb4f18bf68ff8c350e9d40d9':
AudioManager: do not mandate a looper
ddc93ce3438618a15f30fc20d45634325f8ce84f 02-Jun-2014 Eric Laurent <elaurent@google.com> AudioManager: do not mandate a looper

Having a listener for audio port updates is not mandatory.
do not throw an excepion when AudioManager is contructed
from a thread without looper.

Bug: 15368707.
Change-Id: If5ce54bf4efdff8b785098649fa1cd0564861e1e
udioPortEventHandler.java
41792644d911f88e48ee7a9e34e6ddfbf35b46ef 01-Jun-2014 John Spurlock <jspurlock@google.com> am bfea31fd: VolumeZen: Prevent raising ringer volume in silent mode.

* commit 'bfea31fd6dd88c94deae1122874b4e0737380d25':
VolumeZen: Prevent raising ringer volume in silent mode.
a11b4affcad3d255aa723a89b768ea222506f2e8 01-Jun-2014 John Spurlock <jspurlock@google.com> VolumeZen: Prevent raising ringer volume in silent mode.

Instead of breaking out of silent mode when raising the volume
using the keys, prevent the change and display a visual hint up
in the user interface.

Bug:15330217
Change-Id: I74aae44319aadcd6db9841c7799967607f5a1617
udioManager.java
udioService.java
3ed851bd07867fe41c5c9c2a9421da0b92ae1c6e 31-May-2014 Eric Laurent <elaurent@google.com> am f2e19a36: Merge "AudioManager: add audio port gain control" into lmp-preview-dev

* commit 'f2e19a36973331bbc09284993f772bf6981c10da':
AudioManager: add audio port gain control
086995c6dae73f2fa30e647c90ca6247c7982ea5 31-May-2014 Eric Laurent <elaurent@google.com> am b4499f84: Merge "audio routing update listener" into lmp-preview-dev

* commit 'b4499f84605faf06479cbb793e945d0af50fdead':
audio routing update listener
ec2f4b0aece1583f3e3f5c449ca107d6f7e915e1 31-May-2014 Eric Laurent <elaurent@google.com> am 47615317: Merge "AudioSystem: added JNI for routing extensions" into lmp-preview-dev

* commit '476153173b5a1b6b1fb5fc41af8b87d7e1ec36b3':
AudioSystem: added JNI for routing extensions
54b5e5bdf621449a1806ff2971b95df273069c44 31-May-2014 Eric Laurent <elaurent@google.com> Merge "AudioManager: add audio port gain control" into lmp-preview-dev
8725859ee3a9fb7dd09641c2b13baa4f7a16ca99 31-May-2014 Eric Laurent <elaurent@google.com> Merge "audio routing update listener" into lmp-preview-dev
a89eb2d8e550b511285ab3b4fb7dec1ed4ca5028 31-May-2014 Eric Laurent <elaurent@google.com> Merge "AudioSystem: added JNI for routing extensions" into lmp-preview-dev
3a24199a0fe9479802ff6096d82cb3745efa1f1f 20-May-2014 Eric Laurent <elaurent@google.com> AudioManager: add audio port gain control

Implement AudioManager.setAudioPortGain() API.

Bug: 14815883.

Change-Id: Ib54bd1fd1392c474f4767a00228b0a617c51ec5e
udioManager.java
udioPort.java
udioSystem.java
700e73471d85348b52ecf213c36bb24b93997ec7 03-May-2014 Eric Laurent <elaurent@google.com> audio routing update listener

Implement audio port and audio patch
callback infrastructure for clients to receive
notifications when audio routing changes occur via the
OnAudioPortUpdateListener interface.

Bug: 14815883.

Change-Id: I32cbba64eca7369871aec235ff100de1f0c2d344
udioManager.java
udioPortEventHandler.java
b69681c894c663e84f2826d9b0c832ceb9b45047 20-May-2014 Eric Laurent <elaurent@google.com> AudioSystem: added JNI for routing extensions

Bug: 14815883.

Change-Id: Ia0c0d14a8e3051a4bc0ce502b6e979135b170c97
udioManager.java
udioSystem.java
2a48d422852aa6ab343cf68290320f390c7b5c65 31-May-2014 Lajos Molnar <lajos@google.com> am 7c9ed471: Merge changes I1fd178b6,I5093672e into lmp-preview-dev

* commit '7c9ed471c6f5e7d21b49be1105c973d3a8473d59':
DO NOT MERGE: media.MediaCodec: hide NotificationCallback listener
media.MediaCodec: document and fix-up setNotificationCallback
a6716aade1d7bf0a60457d80da6aa85bc1006f57 31-May-2014 Lajos Molnar <lajos@google.com> Merge changes I1fd178b6,I5093672e into lmp-preview-dev

* changes:
DO NOT MERGE: media.MediaCodec: hide NotificationCallback listener
media.MediaCodec: document and fix-up setNotificationCallback
b69ffd4dc2c8fa85e0064151141ebeee90de471e 30-May-2014 RoboErik <epastern@google.com> Minimum work to make volume handling work with sessions

This is the minimum change to make adjusting volume work with
MediaSessions. This only affects adjusting the volume and adjusting
the volume with a suggested stream. Adjusting a specific stream or
setting a specific stream will still use the same code.

This does not fix existing remote volume handling in RCC, which
will require a separate change to MediaController.

Change-Id: I5b957ff4bece1ee11e2364e1f216e1c08343c983
udioManager.java
ession/ISession.aidl
ession/ISessionCallback.aidl
ession/ISessionManager.aidl
ession/MediaSession.java
ession/MediaSessionLegacyHelper.java
ession/MediaSessionManager.java
4e4160cd5e55662b994d01ab51a6d90fe2472a3f 31-May-2014 RoboErik <epastern@google.com> am 80ec18a9: Merge changes I16ad392e,Ie26a7d01 into lmp-preview-dev

* commit '80ec18a90a1ce3d1b68deba8bcf81abcca04e520':
Refactor transport controls APIs
API changes to sessions
c47fa84b0a6bda48c38ba8822481ce613bafd019 29-May-2014 RoboErik <epastern@google.com> Refactor transport controls APIs

This merges TransportPerformer into MediaSession + a
TransportControlsCallback and makes TransportController into an
inner class on MediaController called TransportControls. Also makes
the PlaybackState and Metadata part of the session APIs instead of
transport controls.

Change-Id: I16ad392e6d318abe3119ad5d89656d253af25e16
emoteControlClient.java
ession/MediaController.java
ession/MediaSession.java
ession/MediaSessionLegacyHelper.java
ession/RemoteVolumeProvider.java
ession/TransportController.java
ession/TransportPerformer.java
7b587884baeb98ca13b37f3034bd4e26881252c8 30-May-2014 Eric Laurent <elaurent@google.com> Merge "indicate in and out audio device connection separately"
ae4506e9b5fc3e0c6d9862fbc05b9af7d6742a6e 30-May-2014 Eric Laurent <elaurent@google.com> indicate in and out audio device connection separately

Modified AudioService and WiredAccessoryManager to use separate
device connection indications for input and oputput devices in case
of combined devices like wired headset or BT SCO headset.

Change-Id: Ifebaaab177191e2f505824420a13998d7a424aec
udioService.java
79fa4630bbca7c6c251eea99fe8997e4b45becee 28-May-2014 RoboErik <epastern@google.com> API changes to sessions

Changes requested by API Council review. A second CL will refactor
TransportController and TransportPerformer based on feedback.

Change-Id: Ie26a7d01d7021232a66c2edf1eb58120437fdfde
ediaMetadata.java
emoteControlClient.java
ession/ISessionController.aidl
ession/MediaController.java
ession/MediaSession.java
ession/MediaSessionInfo.java
ession/MediaSessionLegacyHelper.java
ession/MediaSessionManager.java
ession/MediaSessionToken.java
ession/PlaybackState.java
ession/RemoteVolumeProvider.java
ession/TransportController.java
ession/TransportPerformer.java
c52f4e25e21719d5d637a588e3200be941b9fe4d 29-May-2014 Glenn Kasten <gkasten@google.com> Update android.media.AudioTrack.getTimestamp API documentation

Bug: 15320704
Change-Id: I5343ec3db1617b1b66f156fb4499ec44fc2381b8
udioTrack.java
8c5d0f2120d2006aa2115105b7c6dbf0b86058ae 29-May-2014 Lajos Molnar <lajos@google.com> DO NOT MERGE: media.MediaCodec: hide NotificationCallback listener

Bug: 15091403
Change-Id: I1fd178b6872997055c2ee0b7edfa0264a7d6718b
ediaCodec.java
acfcf645ffb611bbb436aa0249658630c5cb5df2 22-May-2014 Lajos Molnar <lajos@google.com> media.MediaCodec: document and fix-up setNotificationCallback

change from interface to abstrace class

Bug: 15091403
Change-Id: I5093672e36681670934a5ebaa49484441af5bcdd
ediaCodec.java
0abcc5a0bbf2ad6b70b461cec150b70cfe55d239 19-Feb-2014 Eric Laurent <elaurent@google.com> DO NOT MERGE - AudioManager: audio routing extensions

Added API and classes allowing framework components
to have direct control over audio routing and volumes.

Change-Id: I28225a6ebad86a7836e1ed749d93c0e964e215f1
udioDevicePort.java
udioDevicePortConfig.java
udioGain.java
udioGainConfig.java
udioHandle.java
udioManager.java
udioMixPort.java
udioMixPortConfig.java
udioPatch.java
udioPort.java
udioPortConfig.java
0a40ec2192e4836b2fcb6ba51a7688aa6bd4ee98 21-May-2014 Mike Lockwood <lockwood@google.com> Add Audio Manager support for Bluetooth A2DP Sink profile

Change-Id: Iff6035e85faf52647cc41a59f98ba2924300eb8d
udioManager.java
udioService.java
udioSystem.java
AudioService.aidl
1ad0192800f95de71e461651e7e8f6b60a2b05da 27-May-2014 Jean-Michel Trivi <jmtrivi@google.com> DO NOT MERGE temporary hide of AudioAttributes

Bug 15089989

Change-Id: I6077d4906d5624be4dd2b8a5c3378a04c848b6d8
udioAttributes.java
bac10fa652b16d1ba92ca4868eccdf17af149c75 27-May-2014 Eric Laurent <elaurent@google.com> Merge "AudioManager: audio routing extensions"
a198a29250acb7c3e918f1566727190966bb336f 19-Feb-2014 Eric Laurent <elaurent@google.com> AudioManager: audio routing extensions

Added API and classes allowing framework components
to have direct control over audio routing and volumes.

Change-Id: I28225a6ebad86a7836e1ed749d93c0e964e215f1
udioDevicePort.java
udioDevicePortConfig.java
udioGain.java
udioGainConfig.java
udioHandle.java
udioManager.java
udioMixPort.java
udioMixPortConfig.java
udioPatch.java
udioPort.java
udioPortConfig.java
53bd26335c52c2e86e50f0bac90ec4ae2a91da8e 27-May-2014 John Spurlock <jspurlock@google.com> am c5890bb9: Merge "VolumeZen: combine ringer/notification volume and zen." into lmp-preview-dev

* commit 'c5890bb9c2361adf64efa7a2680536edaa527d1f':
VolumeZen: combine ringer/notification volume and zen.
8600534df66c2ff5846ed230b50c56229322d48a 23-May-2014 John Spurlock <jspurlock@google.com> VolumeZen: combine ringer/notification volume and zen.

- Implement a new volume panel widget, combining volume and
zen mode + conditions.
- Show zen mode + conditions when modifying ringer or notification
streams.
- Host the volume panel widget in a dialog when being controlled
by the audio service / volume keys.
- Remove support for multiple sliders in the volume panel.
- Remove support for separate ringer + notification volumes
in the volume panel.
- Move volume panel resources up to SystemUI.
- Create a new combined Notifications quick settings tile.
- Host the volume panel widget in the quick settings panel under
Notifications.
- When the quick settings detail panel is visible, route the volume
keys to the embedded widget instead of showing a redundant dialog.
- Create common styles for quick settings text to be closer to spec.
- Update the framework resources for the ringer stream.
- Show the ringer icons in global actions.
- Add "until you turn this off" back as a separate zen condition.
- Disable time condition buttons when they are N/A.
- Don't allow volume changes to set ringer mode silent.

Bug:15186070
Change-Id: Id5e321dd1d5e7c4cf3917027ffbdf7e80d38b00d
udioService.java
f3fd18d1b4cb44bb31a5b4fba26136f6f4fc37ad 26-Mar-2014 Mattias Nilsson <mattias.nilsson@sonymobile.com> Make sure we clean up

pruneDeadThumbnailFile need to close its cursor
in a finally block to avoid leak resouces.

Change-Id: I2646b91970e47ee80a721a2452215b7cae149d10
ediaScanner.java
94ecb5506a8834b5e13ad9834762c972126102d0 24-May-2014 Ruben Brunk <rubenbrunk@google.com> am a7c97c55: Merge "camera2: Move DngCreator to hardware/camera2." into lmp-preview-dev

* commit 'a7c97c552a280ed3a2ff3535a5085f8601f45820':
camera2: Move DngCreator to hardware/camera2.
e01043797dbdb6ca5080e113dca9c64235cf4cda 24-May-2014 Glenn Kasten <gkasten@google.com> Merge "Remove android.media.AudioFormat default constructor"
6b02c898f59a13eb91fd795d74468680e25ddfae 23-May-2014 Eric Laurent <elaurent@google.com> am 5231cb4b: am b928b7c2: am ba64d298: Merge "AudioService: fix cross deadlock in VolumeStreamState"

* commit '5231cb4bfbdd20200555f263ee73b439e33d1ec0':
AudioService: fix cross deadlock in VolumeStreamState
5231cb4bfbdd20200555f263ee73b439e33d1ec0 23-May-2014 Eric Laurent <elaurent@google.com> am b928b7c2: am ba64d298: Merge "AudioService: fix cross deadlock in VolumeStreamState"

* commit 'b928b7c2bf12a5dbd31b08d244b0ff8d2a9851c1':
AudioService: fix cross deadlock in VolumeStreamState
b928b7c2bf12a5dbd31b08d244b0ff8d2a9851c1 23-May-2014 Eric Laurent <elaurent@google.com> am ba64d298: Merge "AudioService: fix cross deadlock in VolumeStreamState"

* commit 'ba64d298bee228b8e27ea17fb31fbff4b4188304':
AudioService: fix cross deadlock in VolumeStreamState
fdbee869be504e399efce1127a68281bd9b158c5 13-May-2014 Eric Laurent <elaurent@google.com> AudioService: fix cross deadlock in VolumeStreamState

Synchronize modifications of volume index by VolumeStreamState
class mutex instead of using synchronized methods.
This avoids possible cross deadlock when modifying volume on
two stream types simultaneously and one is slave to the other.

Bug: 13730145.

Change-Id: I13406c71010ce0c2e2f08f660b6101f310396c98
udioService.java
1aa74e4bc24cbe014f0c4217761a9d5e082111c6 19-May-2014 Glenn Kasten <gkasten@google.com> Remove android.media.AudioFormat default constructor

Change-Id: I2fe65ee7a8087151b44da3b84af357ea8bee80c4
udioFormat.java
b6079005ed0631c3972ff427f56e12523ec214a7 22-May-2014 Ruben Brunk <rubenbrunk@google.com> camera2: Move DngCreator to hardware/camera2.

Bug: 15091253
Change-Id: Ibe2ee376436e5c796e33c0b782ea68278589f2e6
ngCreator.java
02014c8faa43382fc1f7ce80a05991ff32ead89f 22-May-2014 RoboErik <epastern@google.com> Switch to using int stream instead of AudioAttributes

This is an alternate to the submitted API which doesn't use the new
AudioAttributes class and just takes the AudioManager.STREAM instead.

Change-Id: I0365bc6fb9196fc33852ba6b202ca553efe0cc85
ession/MediaSession.java
33983a901176adcc16c820444b667a37e6472243 21-May-2014 RoboErik <epastern@google.com> Add stream/volume apis to sessions

This adds RemoteVolumeProviders which handle volume change
events and a way to switch a session between local stream
playback and remote playback handling.

This also adds a way for an app to specify the PendingIntent
to launch when we want to show their ongoing playback UI.

Change-Id: I3a72bf2ec7ca55f61f50859ddc2988eebd491e9d
ession/MediaSession.java
ession/RemoteVolumeProvider.java
5b53148a4e8d47b88362703445010c54f9fd6ecc 21-May-2014 RoboErik <epastern@google.com> Merge changes I1cbdff1d,I23906b4c

* changes:
Handle headsethook voice launching
Add 5s timeout to wakelock
486918b41584cd2589c46c5217b3fba1e7d18874 21-May-2014 Glenn Kasten <gkasten@google.com> Update android.media.AudioTrack.getTimestamp API documentation

Change-Id: I0928c73c147ce843ae46565883da209b278fb3b4
udioTrack.java
3346a802087f621c6441bc512dfcc17b07143fc6 20-May-2014 John Spurlock <jspurlock@google.com> VolumeZen: SystemUI now hosts the volume dialog.

- Allow SystemUI to set the volume controller interface using
a new binder call to audio service.
- Remove VolumePanel's dependency on AudioService.
- Host the base VolumePanel in the SystemUI process.

Change-Id: I095d5a1a579d42b68d0f81abb4087bd0c754b876
udioManager.java
udioService.java
AudioService.aidl
VolumeController.aidl
olumeController.java
418c10ca9df1505509afeffd558cd92fc97bc635 19-May-2014 RoboErik <epastern@google.com> Add 5s timeout to wakelock

Also filed a b/15110168 to anr the app if it doesn't finish with the
button event in 5s.

Change-Id: I23906b4c7f17d3d3a29eef92b523d8653c87017e
ession/ISessionCallback.aidl
ession/MediaSession.java
ession/MediaSessionLegacyHelper.java
c0e439f1b7dcd937b6cc842eafc7a4e7c8abce9b 20-May-2014 Eric Laurent <elaurent@google.com> Merge "AudioSystem: add new audio device definitions"
23a42810e341fbc7444bcab4a61279d879e0c610 20-May-2014 RoboErik <epastern@google.com> Merge "Add getMediaSession to RCC"
5f31737c68f7709cb75a8fefb7536daa77812cc3 20-May-2014 RoboErik <epastern@google.com> Add getMediaSession to RCC

This is to make integration with Media notifications easier.

Change-Id: I783ae5c2620ff0e11bf5584604b9c9623850e2f0
emoteControlClient.java
948d32748caaac5be06c991ebf00f74265a7849f 17-May-2014 Eric Laurent <elaurent@google.com> AudioSystem: add new audio device definitions

Change-Id: Ib7675bc33771365b2dbb7694c522469317b11457
udioManager.java
udioService.java
udioSystem.java
c9550f2ce8fc7043256396a689fae01b121b0d5b 20-May-2014 Rachad <rachad@google.com> Merge "Add HEVC decoder support ot MediaCodec bug: 14571712"
b19c19265448a6252b1c14f3da85d52e50be34c3 19-May-2014 RoboErik <epastern@google.com> Merge "Rename session classes to have media prefix, hide routes"
b4f4f69e4c56ad1217be9a3c792d4723f6db2256 19-May-2014 RoboErik <epastern@google.com> Merge "Move media key processing to sessions"
f967a5486a78db244624fde4c105aa5e6fa914b9 29-Apr-2014 Ruben Brunk <rubenbrunk@google.com> camera2: Plumb DngCreator to native library.

Change-Id: Ic58bf6cf5086808b503460ef8e451fc0d6f1f850
ngCreator.java
42ea7eecd149161ed192d3029f0d77d1d08a4aa5 17-May-2014 RoboErik <epastern@google.com> Rename session classes to have media prefix, hide routes

This renames several of the core session classes to be prefixed
with Media. It also adds @hide to all route references for now.

Change-Id: Idb42897d490cf24626e4e93ca975b2cb93ec054c
ediaMetadata.aidl
ediaMetadata.java
ediaMetadataEditor.java
emoteControlClient.java
outeprovider/RouteConnection.java
outeprovider/RouteInterfaceHandler.java
outeprovider/RoutePlaybackControlsHandler.java
outeprovider/RouteProviderService.java
outeprovider/RouteRequest.java
ession/ISession.aidl
ession/ISessionController.aidl
ession/ISessionControllerCallback.aidl
ession/MediaController.java
ession/MediaMetadata.aidl
ession/MediaMetadata.java
ession/MediaSession.java
ession/MediaSessionInfo.java
ession/MediaSessionLegacyHelper.java
ession/MediaSessionManager.java
ession/MediaSessionToken.aidl
ession/MediaSessionToken.java
ession/PlaybackState.java
ession/Route.java
ession/RouteInfo.java
ession/RouteInterface.java
ession/RouteOptions.java
ession/RoutePlaybackControls.java
ession/Session.java
ession/SessionController.java
ession/SessionInfo.java
ession/SessionManager.java
ession/SessionToken.aidl
ession/SessionToken.java
ession/TransportController.java
ession/TransportPerformer.java
bc11a696f6856624de532a6830d5db9dbbe2384c 16-May-2014 Eric Laurent <elaurent@google.com> AudioSystem: native to JAVA status translation

Regroup status code translation from native to JAVA in AudioSystem.
The same codes will be used by AudioTrack, AudioRecord, AudioManager
and defined in a single place in AudioSystem.

Change-Id: I7d3f39f30e3bb8e53f33f4408bcb0672df8af42b
udioRecord.java
udioSystem.java
udioTrack.java
8a2cfc309ab9126e90022916967c65a793c034f0 16-May-2014 RoboErik <epastern@google.com> Move media key processing to sessions

Send all media key events over to the MediaSessionService instead
of AudioManager. This does not affect volume handling yet, so it
is possible to get into a state where volume will be handled by
a different thing than media buttons. Except for corner cases
this shouldn't be noticable.

Change-Id: I00a576175d9c82937f0836e509b9a98d5cb77b83
udioManager.java
udioService.java
ession/ISessionCallback.aidl
ession/ISessionManager.aidl
ession/MediaSessionLegacyHelper.java
ession/Session.java
ession/SessionManager.java
07d5e7d5fa971c60776fe6388467b77e7d3f1970 16-May-2014 Sungsoo Lim <sungsoo@google.com> Merge "Implements TtmlRenderer."
aca5de7ca13b0a92e64379913aee6c20e7e2e08e 06-May-2014 Rachad <rachad@google.com> Add HEVC decoder support ot MediaCodec
bug: 14571712

Change-Id: Ic65e1ffd7583f7286728332686dbb92090b5a413
ediaCodec.java
ediaCodecInfo.java
4646d288821d62fdfe481be67d8b7fed7d7eabd8 13-May-2014 RoboErik <epastern@google.com> Add UserRecords to separate user interactions

Each user record maintains the list of sessions and providers that
are running under that user. Lifecycle for providers has been modified
to stop discovery when the user is no longer current but keep the
binder connection open so long as there's a session that has selected
a route from that provider. When a user is stopped all providers on
that user will be unbound even if they were still in use.

Change-Id: Iadf1efded3415f7ecf384d3a73513883de9c86b0
ession/ISession.aidl
ession/ISessionCallback.aidl
ession/Session.java
ba3699b568e656910641b246b27448d92632a389 17-Mar-2014 Sungsoo Lim <sungsoo@google.com> Implements TtmlRenderer.

Change-Id: I99772745c5c005ee1eefbc29187116f0c2820988
tmlRenderer.java
f33e99828f32bdbcf8e2590c9475f4cd840f189d 12-May-2014 RoboErik <epastern@google.com> Merge "Make sessions aware of user id"
d60e875a97867c1a6ed84325bb70f7ffe8ce4521 18-Apr-2014 Jean-Michel Trivi <jmtrivi@google.com> Define audio attributes

AudioAttributes is a class to associate a collection of attributes
describing information about an audio player.

Change-Id: I031aca1c79353abdfa0d7272c5dee0c2376c519a
udioAttributes.java
7c513b6bef8ed4dfc28e0af6c8594563fdb9f436 09-May-2014 Lajos Molnar <lajos@google.com> Added MediaCodec.releaseOutputBuffer() method with render timestamp

Bug: 11784827
Change-Id: I67097c8e69b40ef3baa436f0e7731d28c696735c
ediaCodec.java
4b0c34600c22f23da98e54a7ab3713290ff4574d 09-May-2014 Glenn Kasten <gkasten@google.com> Merge "Unhide AudioTrack support for ENCODING_PCM_FLOAT"
7d60bcd2d950e3571c00ce9f1c492c6bd58334c9 09-May-2014 Glenn Kasten <gkasten@google.com> Unhide AudioTrack support for ENCODING_PCM_FLOAT

Change-Id: I77423ff1845d0e05c117ab2a0b31699b32b871be
udioFormat.java
udioTrack.java
82af2b9e51aac359b4b251cc622659a1a5537e35 09-May-2014 Eric Laurent <elaurent@google.com> Merge "AudioService/WireAccessoryManager: change boot completion detection method"
54955e33c8612a737a76177408f3e7c8482cfcf4 01-May-2014 Glenn Kasten <gkasten@google.com> Add hidden support for ENCODING_PCM_FLOAT to AudioTrack

Change-Id: I15e6d6ab34846366e7f5cbf948fd3cb327e72632
udioTrack.java
a5b02329209be355eafadbdf9ee685ffa58d3148 08-May-2014 RoboErik <epastern@google.com> Make sessions aware of user id

This tags all sessions with the user id that they were created for. It
also adds API for creating and querying sessions for a specific user.

This does not wrap providers per user yet which will be done in a
separate CL.

Change-Id: Icdaf701b0614a95301657998602c45208d548c27
ession/ISessionManager.aidl
ession/SessionManager.java
8b520c8f8e176f07ed496a171ddae75e66b3bc4f 08-May-2014 Jean-Michel Trivi <jmtrivi@google.com> Fix javadoc reference in AudioTrack write modes

Javadoc for blocking/non blocking write modes was referring
to the old signature of one of the write methods.

Change-Id: Ie919e3e0a976b0c915dacd490ae66005703789a3
udioTrack.java
a713814f17ccbf5bb63d1fbb75bc5cda7a0cc641 07-May-2014 Jean-Michel Trivi <jmtrivi@google.com> Unhide AudioTrack.write() method for non-blocking and ByteBuffer

Unhide the write mode constants.
Unhide the write method where data is stored in a ByteBuffer.

Bug 7919023

Change-Id: Ie9e24c744067f164d1a3e3363c7718b0a70e1cae
udioTrack.java
153187d05bb82aec54967ece1917db325b70d7ad 07-May-2014 RoboErik <epastern@google.com> Merge "Add a class for managing Session priority"
780bee263359b1462156f543a04fab98dd541845 07-May-2014 RoboErik <epastern@google.com> Merge "Add APIs for creating a system priority session and getting controllers"
a8f951462791a16f47e8c07e552232f31dcefac5 05-May-2014 RoboErik <epastern@google.com> Add a class for managing Session priority

Priority is given first to the system priorty session, then to
active local sessions, then to active remote sessions, then to
the rest of the sessions. Ordering within categories is by whoever
last performed an action we associate with the user.

The stack has methods for getting filtered sets of this priority.

This also:
-Changes publish to setActive(boolean)
-Adds a flag for handling media buttons.
-Adds a flag for transport controls instead of enabling once.
-Unhides the setFlags API.
-Updates the legacy helper to use the flags.

Change-Id: I6ebeb27410de1b24149fd6e1785613ac444f0774
ession/ISession.aidl
ession/MediaSessionLegacyHelper.java
ession/Session.java
313f59887b1439fa2f39dbf3578407c52fcbf60d 01-May-2014 Glenn Kasten <gkasten@google.com> Add AudioFormat.ENCODING_PCM_FLOAT

Change-Id: I030d2c74224ac8573a4d30d980ae94fa4e280aeb
udioFormat.java
e7880d8eb1903d42e4e2a90c99b58e2240e01e82 30-Apr-2014 RoboErik <epastern@google.com> Add APIs for creating a system priority session and getting controllers

This adds a hidden call to set flags and a flag for making a session an
exclusive high priority session. This will cause all media button events
to be sent to that session as long as it is stillr egistered. This
requires the MODIFY_PHONE_STATE permission like the old forCalls API.

This also adds a way to get controllers for all the ongoing sessions.
This is protected by the MEDIA_CONTENT_CONTROL permission like the
old RemoteController APIs.

Change-Id: I51540e8dcf3a7dbe02a0f8ee003821e40af653a3
ession/ISession.aidl
ession/ISessionManager.aidl
ession/MediaSessionLegacyHelper.java
ession/Session.java
ession/SessionManager.java
4a5eeb9c727d77bb57fef87a70c8c9cc23dbfee3 06-May-2014 Eric Laurent <elaurent@google.com> AudioService/WireAccessoryManager: change boot completion detection method

BOOT_COMPLETED intent is not a reliable way for system services
to detect boot completion. The intent broadcast can be significantly
delayed and there is no guaranty that system services
receive it before apps.

Use a systemReady() method called by SystemServer instead.

Bug: 14323903.
Change-Id: I781596a3545e7a1e719799982347cbcd9a4c9009
udioService.java
34a37bdebb3d606dac7c7d1dd7a0effdb59bd3d6 09-Jan-2014 Glenn Kasten <gkasten@google.com> Add AudioFormat.getBytesPerSample and use it

Change-Id: I90a40987ea99006af4a6e31136078c04976eb54d
udioFormat.java
udioRecord.java
udioTrack.java
etPlayer.java
4f854e0d0b619596752b1874492efe2dabcc092b 02-May-2014 RoboErik <epastern@google.com> Merge "Add playback state and metadata to dump"
74b3cda9e0681cc9ac7650fa3c0b820a426cc206 02-May-2014 Lajos Molnar <lajos@google.com> Merge "MediaHTTPConnection: support header android-allow-cross-domain-redirect"
66dea73906f24226a6f699759e79040726bde8b5 02-May-2014 RoboErik <epastern@google.com> Add playback state and metadata to dump

Change-Id: I813ff23c496f75776c8bd63f78bbe87683b19bc0
ession/MediaMetadata.java
ession/PlaybackState.java
cf43d9baabd9a21e06b1b100deb45a5022cd99dd 02-May-2014 RoboErik <epastern@google.com> Fix sdk build

Missed a doc tag.

Change-Id: Ic02c5fe83a28055bde544434c7b9f3e0c7060191
ession/PlaybackState.java
e872a2f69f4076f7ae5cd19b95b4bf9784e183e1 02-May-2014 Natalie Silvanovich <natashenka@google.com> Merge "Bounds Check in onPlaySoundEffect"
559c76dbc37ff25b204ed1f060d3ec2fa43d718c 01-May-2014 Natalie Silvanovich <natashenka@google.com> Bounds Check in onPlaySoundEffect

Prevents system crash

Bug: 13514877
Change-Id: Id03561779611d9eb7402ff206fd877b39bb2f035
udioService.java
6e6a6e863df6cc5e7b930b1197b1f6743ba31d8e 01-May-2014 RoboErik <epastern@google.com> Merge "Add Session API calls to RCC and AudioManager"
f1372428f2df781c71c71caa2f6a4db6f847cf10 23-Apr-2014 RoboErik <epastern@google.com> Add Session API calls to RCC and AudioManager

This makes RCC and MediaButtonReceiver (via AudioManager) also use the new Session APIs in parallel to their existing code. This will allow us to bring up the Session compatibility pieces without disrupting the old behavior and then switch everything over to just using the new APIs when ready.

Change-Id: I33ce0a044dea3ec763f2302b91a5e415be27d4a4
udioManager.java
ediaMetadataEditor.java
emoteControlClient.java
ession/MediaMetadata.java
ession/MediaSessionLegacyHelper.java
ession/PlaybackState.java
ession/TransportPerformer.java
67e2196d07dd4dc1f3ce82fdaaa34cdbce89e1ce 01-May-2014 RoboErik <epastern@google.com> Merge "Add dump to MediaSessionService"
18bfd887f62391e21a85a58a7be2f3a05cc4f798 01-May-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix MediaFocusControl index management for PlayerRecord"
0d90876893c69a2e26867b775c76b45774c22390 30-Apr-2014 Jean-Michel Trivi <jmtrivi@google.com> Fix MediaFocusControl index management for PlayerRecord

When updating the PlayerRecord stack on playstate changes and
media button event receiver registrations, evaluate the index
of the stack entry to remove against the index of the last playing
entry as this index was valid before the entry was removed.
This affects the insertion index.

Change-Id: Iec58d2df6bcbd8f55925e9e0f9d48f698f7cf4e5
ediaFocusControl.java
c446dc32742de388b95ff7cf97f4dc1576cb57c5 29-Apr-2014 Lajos Molnar <lajos@google.com> MediaHTTPConnection: support header android-allow-cross-domain-redirect

If present and set to false, media http redirects across domains
will not be followed. As long as domains are identical, redirects
across protocols or ports will still be followed.

Also fail more seriously if redirection fails or is not supported,
so that media client does not keep retrying the connection.

Bug: 12573548
Change-Id: Ifd2539ad3a90f669d43bd0e82845dbc8ae0b4a3e
ediaHTTPConnection.java
293513a59d36cd96a3e474dde5981380d372d8c9 30-Apr-2014 Bill Yi <byi@google.com> Merge commit '0b62467b142b61ee1e449ba958ba37dfd961ef56' into HEAD
a278ea7cecb59a73586e5dd74ec05e85caa370c5 24-Apr-2014 RoboErik <epastern@google.com> Add dump to MediaSessionService

Adds a dump implementation for debugging MediaSessionService. Also
fixes some synchronize calls that weren't using the same lock object.

Change-Id: I14343f853398749c8ce7ebf91f72729abc9132d9
outeprovider/RouteRequest.java
ession/SessionInfo.java
ecdc6fdb64a41dd3bd5867308cb0c8a5b941146f 29-Apr-2014 Glenn Kasten <gkasten@google.com> Merge "Add CHANNEL_OUT_QUAD_SIDE and CHANNEL_OUT_5POINT1_SIDE"
10596fbcce710a76ffc7e917400df13af5c2ebcb 28-Apr-2014 Elliott Hughes <enh@google.com> resolved conflicts for merge of 3ce4f3d0 to master

Change-Id: Id5c5997ad8f801b32e1dbd97413ea42e38c27210
3ce4f3d0af8b20f915631ab927aafa76a6105135 28-Apr-2014 Elliott Hughes <enh@google.com> am 685a0a72: am bbd87eb9: Merge "Track libcore.os\' move to android.system."

* commit '685a0a72d445515167a2071330679cdf9b53a62d':
Track libcore.os' move to android.system.
34385d352da19805ae948215e2edbeedd16b7941 28-Apr-2014 Elliott Hughes <enh@google.com> Track libcore.os' move to android.system.

(This is partial, but should cover everything in AOSP master except
for the zygote.)

Change-Id: I1042c99245765746a744c44e714095cb2c6cb75d
ediaScanner.java
c806d5393f22e514c621f8a8a335156f7d45a299 25-Apr-2014 Marco Nelissen <marcone@google.com> am ebd6a2d2: am eded9e3b: am adcf38c9: Merge "Release DrmManagerClient resources"

* commit 'ebd6a2d2710ebf7196a399d6d5a2f0745844310b':
Release DrmManagerClient resources
ebd6a2d2710ebf7196a399d6d5a2f0745844310b 25-Apr-2014 Marco Nelissen <marcone@google.com> am eded9e3b: am adcf38c9: Merge "Release DrmManagerClient resources"

* commit 'eded9e3b7f6f30526365461a25624b841611af28':
Release DrmManagerClient resources
87cfaca4760af82fdf85b8a740eac9b79564ee2d 25-Apr-2014 Ruben Brunk <rubenbrunk@google.com> Merge "camera2: Add DNG creator class."
ab6c9f75ff4299cd5a6a3017972b670e45e406b1 20-Mar-2014 Ruben Brunk <rubenbrunk@google.com> camera2: Add DNG creator class.

Change-Id: I11a0e5990adeca6012778f0dc71a421b85cbf53a
ngCreator.java
f74de0b6f34a1840b609f111202601e10b61400a 22-Apr-2014 Lajos Molnar <lajos@google.com> Merge "Remove VideoEditor"
1990fe4e965f6cb5a65bf58f4764489cdc10acde 15-Apr-2014 Jean-Michel Trivi <jmtrivi@google.com> PlayerRecord: remove obsolete accessors

Change-Id: I0a7789e28c1427b6e9f770368f9bab9c097b3594
layerRecord.java
0456e3aab1e0587512c805d7e240ad1461a69375 22-Apr-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "MediaFocusControl: priority to playing players for media button"
8be88d114432c102264c0a73536efc537c6770ac 11-Apr-2014 Jean-Michel Trivi <jmtrivi@google.com> MediaFocusControl: priority to playing players for media button

When registering a media button event receiver (through
AudioManager.registerMediaButtonEventReceiver()), do not
always push the receiver to the top of the stack of event
receivers:
- only push to the top if the associated RemoteControlClient
is in a playing state
- otherwise push it below the entries at the top of the stack
that are in a playing state
When changing the playstate of a RemoteControlClient:
- push to the top of the stack the corresponding PlayerRecord
is the state is a playing state
- otherwise push it below the entries at the top of the stack
that are in a playing state

When AudioService starts (e.g. after boot) and the last media
button receiver is restored, it goes in the stack.
After this CL, this entry is not "orphaned" anymore after the
same application registers itself to receive media buttons:
the entry from the restoration is now properly associated with
the registration from the application.

Bug 10749554

Change-Id: I985f9cc17b64a60ed4f2f2f6d03e117fb4e27570
ediaFocusControl.java
layerRecord.java
e0e77cb5bb2885aea3da6823daebf40e06b073bd 22-Apr-2014 Lajos Molnar <lajos@google.com> Remove VideoEditor

remove android.media.videoeditor.*

No longer supported and should not be used.

Bug: 13542518
Change-Id: I12de122443f0289ab1dfdd8b553e572a830cf412
ideoeditor/AudioTrack.java
ideoeditor/Effect.java
ideoeditor/EffectColor.java
ideoeditor/EffectKenBurns.java
ideoeditor/ExtractAudioWaveformProgressListener.java
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/MediaImageItem.java
ideoeditor/MediaItem.java
ideoeditor/MediaProperties.java
ideoeditor/MediaVideoItem.java
ideoeditor/Overlay.java
ideoeditor/OverlayFrame.java
ideoeditor/Transition.java
ideoeditor/TransitionAlpha.java
ideoeditor/TransitionCrossfade.java
ideoeditor/TransitionFadeBlack.java
ideoeditor/TransitionSliding.java
ideoeditor/VideoEditor.java
ideoeditor/VideoEditorFactory.java
ideoeditor/VideoEditorImpl.java
ideoeditor/VideoEditorProfile.java
ideoeditor/WaveformData.java
3e2cb07d5258ca82cf4bd0b2e1380b36f56100d8 18-Apr-2014 Simon Wilson <simonwilson@google.com> am ef059b03: am 3c8bbe24: Check that mRemotePlayer is not null before use

* commit 'ef059b039407610fa00e6463b8354cbcc21b6ee9':
Check that mRemotePlayer is not null before use
07c7077c54717dbbf2c401ea32d00fa6df6d77c6 20-Mar-2014 RoboErik <epastern@google.com> Add RouteProviders to the new Media APIs

Compiles and works with OneMedia. This currently is a rough test of
the system for finding, connecting to, and sending messages to routes.
This will just connect to the first route it finds when a request to
open the route picker is made (and disconnect when another request is
made).

Change-Id: I5de5521a079471b9e02664be4654c0591dfd9a6d
outeprovider/IRouteConnection.aidl
outeprovider/IRouteProvider.aidl
outeprovider/IRouteProviderCallback.aidl
outeprovider/RouteConnection.java
outeprovider/RouteInterfaceHandler.java
outeprovider/RoutePlaybackControlsHandler.java
outeprovider/RouteProviderService.java
outeprovider/RouteRequest.aidl
outeprovider/RouteRequest.java
ession/IMediaController.aidl
ession/IMediaControllerCallback.aidl
ession/IMediaSession.aidl
ession/IMediaSessionCallback.aidl
ession/IMediaSessionManager.aidl
ession/ISession.aidl
ession/ISessionCallback.aidl
ession/ISessionController.aidl
ession/ISessionControllerCallback.aidl
ession/ISessionManager.aidl
ession/MediaController.java
ession/MediaSession.java
ession/MediaSessionManager.java
ession/MediaSessionToken.aidl
ession/MediaSessionToken.java
ession/PlaybackState.java
ession/Route.java
ession/RouteCommand.aidl
ession/RouteCommand.java
ession/RouteEvent.aidl
ession/RouteEvent.java
ession/RouteInfo.aidl
ession/RouteInfo.java
ession/RouteInterface.java
ession/RouteOptions.aidl
ession/RouteOptions.java
ession/RoutePlaybackControls.java
ession/RouteTransportControls.java
ession/Session.java
ession/SessionController.java
ession/SessionInfo.java
ession/SessionManager.java
ession/SessionToken.aidl
ession/SessionToken.java
ession/TransportController.java
ession/TransportPerformer.java
ef059b039407610fa00e6463b8354cbcc21b6ee9 17-Apr-2014 Simon Wilson <simonwilson@google.com> am 3c8bbe24: Check that mRemotePlayer is not null before use

* commit '3c8bbe245e7b0f937c36620c1427726fe9de50a6':
Check that mRemotePlayer is not null before use
3c8bbe245e7b0f937c36620c1427726fe9de50a6 17-Apr-2014 Simon Wilson <simonwilson@google.com> Check that mRemotePlayer is not null before use

Bug: 14138829
Change-Id: Ie7ddb54ef3b82b9566ac41d4f0ff335976d3c907
ingtone.java
72bbe6cca6470e86b56081c3fbe3cbb4360f5271 16-Apr-2014 Lajos Molnar <lajos@google.com> media: don't rely on Java 6 parseInt error on leading '+' sign

Also add revision of draft that was used for the implementation.

Related-bug: 5239391
Change-Id: I48c25a6af6a5a1bca83876b97f205c5cef9ebd09
ebVttRenderer.java
f8d5e7af7457ee0d935be63cb7e1479f147f7451 15-Apr-2014 Glenn Kasten <gkasten@google.com> Add CHANNEL_OUT_QUAD_SIDE and CHANNEL_OUT_5POINT1_SIDE

Change-Id: I6d5ff001ee55399a67380a4f63b037f367b93b1f
udioFormat.java
1b37c3bddcdfe7cb60e776e3eb05bfbb46b0b282 26-Mar-2014 Mattias Nilsson <mattias.nilsson@sonymobile.com> Release DrmManagerClient resources

Call release for DrmManagerClient to avoid resource leaks

Introduced by following commit (5d143ad4a8f...),
"Media scanner support for FL(Forward Lock) DRM file types"

Change-Id: Ic3c458579f4e99b3b072a2e13362d1996b982589
ediaScanner.java
fd7d31087bcd40b825b0eee3058e2298d8648e9f 11-Apr-2014 Paul McLean <pmclean@google.com> Merge "Implement USB Audio across Nexus Devices Fix issues with connecting non-audio USB devices."
d1d7c491601a3fd1547c31606e1b8386db068b9c 11-Apr-2014 Paul McLean <pmclean@google.com> Merge "Revert "Revert "Initial implementation of USB Audio output."""
df3614693dd4fe52a116dcd28bd74eae80818a4f 11-Apr-2014 Paul McLean <pmclean@google.com> Implement USB Audio across Nexus Devices
Fix issues with connecting non-audio USB devices.

https://b.corp.google.com/issue?id=13745966
https://b.corp.google.com/issue?id=8281454
https://b.corp.google.com/issue?id=13751080
https://b.corp.google.com/issue?id=4643412

Change-Id: I1186f69a6c5f50279a1225a77fb5d4f7a8eda3cb
udioService.java
f873e7858cca1181a63bf92c4e9bb92824451cc8 11-Apr-2014 Elliott Hughes <enh@google.com> am c2bd3687: am 70bba904: am b093e485: Merge "generateProjectThumbnail can fail to close output stream"

* commit 'c2bd3687dc381e10b45ab938e088dab6d824fa84':
generateProjectThumbnail can fail to close output stream
c2bd3687dc381e10b45ab938e088dab6d824fa84 11-Apr-2014 Elliott Hughes <enh@google.com> am 70bba904: am b093e485: Merge "generateProjectThumbnail can fail to close output stream"

* commit '70bba904fc50f44cb4a695cf76e423534c835cf6':
generateProjectThumbnail can fail to close output stream
b093e485bbd790cc4d9678451c8cce4d361c2cf2 11-Apr-2014 Elliott Hughes <enh@google.com> Merge "generateProjectThumbnail can fail to close output stream"
f51e1134695c812ad8aa9f826a2a47d17526f244 11-Apr-2014 Jean-Michel Trivi <jmtrivi@google.com> MediaFocusControl: fix comment

Comment about role of audio focus isn't valid anymore.

Change-Id: I608d8cf9d5d9c4449384e2788e5eb5ea42c97eca
ediaFocusControl.java
c837a451946b64d70ed7c642fbde03c182c28b6f 09-Apr-2014 Paul McLean <pmclean@google.com> Revert "Revert "Initial implementation of USB Audio output.""

This reverts commit f2f80c09b668176b3b1e619457ae628432636507.
udioService.java
udioSystem.java
b416838051adc3922ab3bd075d35563388d28820 09-Apr-2014 Jean-Michel Trivi <jmtrivi@google.com> Audio focus doesn't affect RemoteController

The top of the stack of PlayerRecord instances is the "promoted"
instance whose RemoteControlClient information is available
to RemoteController objects, only when it also has audio focus.

This change removes the condition on audio focus ownership:
- whenever the player record stack ordering changes, no need to
check if it also has audio focus
- since the player record and audio focus stacks operate separately,
there is no need to synchronize access to both stacks.

Change-Id: I668f2aa2950f19f8c2a30bc59c7352246edcc56e
ediaFocusControl.java
f2f80c09b668176b3b1e619457ae628432636507 08-Apr-2014 Eric Laurent <elaurent@google.com> Revert "Initial implementation of USB Audio output."

This reverts commit 3af0fe0c9df2fc1e0a4d6bcd827a4d7aa28dbdeb
while investigating issues 13751080 and 13883978.

Bug: 13751080.
udioService.java
udioSystem.java
b951af64ebd25baac5e40901ec7fa3f2b44a4cb1 04-Apr-2014 Glenn Kasten <gkasten@google.com> Merge "Simplify and document AudioTrack gain"
9de8c1d82b6bf2b70e854a3349c9f1da60a23e83 03-Apr-2014 Jeff Tinker <jtinker@google.com> resolved conflicts for merge of 4f342e87 to master

Change-Id: I2cdb238759beb49fede2de703df8defee92d316f
ediaDrm.java
78cbd451fd568e8fcc6fcc7c4f875428189aa8b8 04-Dec-2012 Glenn Kasten <gkasten@google.com> Simplify and document AudioTrack gain

also deprecate setStereoVolume

Bug: 12534920
Change-Id: I009ab91c5b73b93fbd961691e5764744ce37cae6
udioTrack.java
65c94e695929ffa1aaa49d7b5938b34aaf078b6c 02-Apr-2014 Jeff Tinker <jtinker@google.com> Add signature|system permission to MediaDrm signer APIs

Also addresses style issues noted in post-submit review from
https://googleplex-android-review.git.corp.google.com/#/c/439054/

Change-Id: If177b11dbcc049bc271529c119bc5c36ae0107b5
related-to-bug: 12702350
ediaDrm.java
53c90cf916ddd1151f042a61a569ea75a220b26e 02-Apr-2014 Jeff Tinker <jtinker@google.com> am 6dc8063d: am 433a0633: Merge "Support CAST V2 Authentication in MediaDrm" into klp-modular-dev

* commit '6dc8063d2a06017f249181b4b5b07c54ce645943':
Support CAST V2 Authentication in MediaDrm
e4095a80b674642e0e0e8f0883dee3b22f32f19a 04-Mar-2014 Jeff Tinker <jtinker@google.com> Support CAST V2 Authentication in MediaDrm

Java API version

Update frameworks to enable support for CAST
V2 Authentication in the DRM Plugin.

Change-Id: I23cfbbbc89c1226b7a3968ce8bc1e2d4bd41014a
related-to-bug: 12702350
ediaDrm.java
5c2f20394edfb2c89d88d51772717b8f61a50f60 01-Apr-2014 Glenn Kasten <gkasten@google.com> Merge "Don't ignore return value of setAuxEffectSendLevel()"
3009f0b911e39d3b26c69bd7667d6444eacb9d11 29-Mar-2014 Glenn Kasten <gkasten@google.com> Don't ignore return value of setAuxEffectSendLevel()

Change-Id: I1383c913304430146e6f40d89df623dd0d582e50
udioTrack.java
6f127c9b6c249ca1cd17c07a8476edd0fcc1f04d 01-Apr-2014 Paul McLean <pmclean@google.com> Merge "Initial implementation of USB Audio output."
3af0fe0c9df2fc1e0a4d6bcd827a4d7aa28dbdeb 02-Dec-2013 Paul McLean <pmclean@google.com> Initial implementation of USB Audio output.

Change-Id: I7fbbe421285d628fa49591c6469ac50efec77ccf
udioService.java
udioSystem.java
877ffde5f6b5d605a0c3727f8538c8f48427fdab 31-Mar-2014 Glenn Kasten <gkasten@google.com> Merge "Synchronize channel masks in AudioFormat with system/audio.h"
167d1a27713ab64cd3c0aa70de96434083ef0400 24-Jul-2013 Glenn Kasten <gkasten@google.com> Fix typo

Change-Id: I7c2fb560b8d8778afad237aadd97e8e94dd865e7
udioService.java
c806050a078151ed47876ae326654e7c7e94b9b0 19-Jul-2013 Glenn Kasten <gkasten@google.com> Synchronize channel masks in AudioFormat with system/audio.h

AudioFormat channel mask comments

Change-Id: I8b43cb58cd9d3a33bf02aa0455bbfc16ed29f9ae
udioFormat.java
dda1c4040c034af14f21e54b1271e20b35620475 26-Mar-2014 Jean-Michel Trivi <jmtrivi@google.com> Continue refactoring MediaFocusControl

Rename MediaController to PlayerRecord.

Change-Id: Icf474b4107649f501341309bf7ec520aa1e71586
ediaController.java
ediaFocusControl.java
layerRecord.java
7d3168cef2d1db8adf1123b1d3bc4205f8dc926a 25-Mar-2014 Jean-Michel Trivi <jmtrivi@google.com> Continue refactoring of MediaFocusControl

Move RemoteControlClient death handler and remote playback state
inside MediaController class.
Make MediaController data fields private. Document which accessors
can be removed once the audio focus and media button receiver
mechanisms are dissociated.

Change-Id: Icd14fb0d99bf74512c8f8552d124c0353ce1f06d
ediaController.java
ediaFocusControl.java
223fd631f6abb536451d2db8935d314cf4fa399c 24-Mar-2014 Jean-Michel Trivi <jmtrivi@google.com> Continue refactoring of MediaFocusControl

Close external access to MediaFocusControl event handler.

Change-Id: Id82718399806c246b5ac2cb3b49189286dcd8e89
ediaController.java
ediaFocusControl.java
de23f5636010143938e143809b70c28ab15aa1ef 21-Mar-2014 Jean-Michel Trivi <jmtrivi@google.com> Begin refactor of MediaFocusControl

Extract class that handles each entry in the remote control stack
and move it to another file, MediaController.java.
Rename RemoteControlStackEntry to MediaController as each instance
will not just encapsulate information about the corresponding
(if any) RemoteControlClient.
This is just a CL for the renaming and extraction into a new file
of existing code. Obvious required changes are labelled "FIXME".

Change-Id: Ifbdac1d70e4d279ab175eef03e9d792d44873c51
ediaController.java
ediaFocusControl.java
e10dd634e169ae628455a3dc49638ffde3583a80 21-Mar-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioTrack write from ByteBuffer updates position"
5d21f679c58dbb13c8c931ffec6e06b6b8cd454f 21-Mar-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioTrack write from ByteBuffer updates position

Remove offset parameter.
Update buffer position when data is successfully written.

Bug 7919023

Change-Id: I1701532ef0a91e2ccecfc38b24de29bc4f64d035
udioTrack.java
5e8ff02ec93aa0f933d0082d9a0e066b552c6a80 20-Mar-2014 Colin Cross <ccross@android.com> MediaHTTPConnection: use jlong to store native pointer

Change-Id: Ic4f391a8e658498e63c26ea2af4c7413ed387360
ediaHTTPConnection.java
1c9b528dc0235a69a35f90ed52fdf83c1df27df9 19-Mar-2014 Lajos Molnar <lajos@google.com> am 0dc08486: am f7b33e86: Merge "MediaPlayer: fix int overflow issue in MediaTimeProvider" into klp-dev

* commit '0dc084865313a416246915c72b29c13cc3f404d4':
MediaPlayer: fix int overflow issue in MediaTimeProvider
e128ca437a668e4050f6b81187d5a9c507c5725e 19-Mar-2014 Lajos Molnar <lajos@google.com> am 0dc08486: am f7b33e86: Merge "MediaPlayer: fix int overflow issue in MediaTimeProvider" into klp-dev

* commit '0dc084865313a416246915c72b29c13cc3f404d4':
MediaPlayer: fix int overflow issue in MediaTimeProvider
1af30c7ac480e5d335f267a3ac3b2e6c748ce240 10-Mar-2014 John Spurlock <jspurlock@google.com> Add stream-level suppression to vibrate/audio services.

- Add new audio restriction layer to app-ops. Restrictions add
additional constraints to audio operations at a stream-level.
Restrictions do not affect the persistable state, and are purely
additive: that is, they can only impose additional contstraints, not
enable something that has already been disabled. Restrictions
also support a whitelisted set of exempt package names.

- Add new audio stream-level checks to app-ops.

- Implement a provisional OP_PLAY_AUDIO suppression to three
java entry points MediaPlayer, AudioTrack, & SoundPool.

- Enhance vibrator api to take stream information as an optional
hint - the constants correspond to AudioManager stream types.
OP_VIBRATE now supports the stream-level restriction check.

- Simplify Vibrator subclasses by adding default implementations
for two .vibrate calls.

- Migrate NoMan's zen-mode control to use the new app-ops
stream-level restriction mechanism.

Change-Id: Ifae8952647202f728cf1c73e881452660c704678
udioService.java
udioTrack.java
ediaPlayer.java
oundPool.java
0cab07d78844b71caa2b33d2fac3ab85de77ac2a 11-Mar-2014 Lajos Molnar <lajos@google.com> MediaPlayer: fix int overflow issue in MediaTimeProvider

Bug: 13394783
Change-Id: I228ded5cf198852fda867d136cd8b1aacd8b6584
ediaPlayer.java
203a6ddb0c098821ff36511e2a98211a90a69954 14-Mar-2014 Marco Nelissen <marcone@google.com> am 105c4792: am 10a07a04: Merge "Verify certificates" into klp-dev

* commit '105c47924f7af9319ec9242b952b4bf074585229':
Verify certificates
b80adb5dbdaac41893484c47c48c294149386cc6 14-Mar-2014 Marco Nelissen <marcone@google.com> am 105c4792: am 10a07a04: Merge "Verify certificates" into klp-dev

* commit '105c47924f7af9319ec9242b952b4bf074585229':
Verify certificates
10a07a043f7fa47148ae2cc2fcd6b0edeb52190b 14-Mar-2014 Marco Nelissen <marcone@google.com> Merge "Verify certificates" into klp-dev
57080be98e6c8d33781c619b79731264ab909baf 14-Mar-2014 Zhihai Xu <zhihaixu@google.com> am bdd4c31a: am 60d7c995: Merge "DO NOT MERGE setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager" into klp-dev

* commit 'bdd4c31a22b9a5395e9d727e9f39ce1dc689c0a7':
DO NOT MERGE setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager
cb6cd536aa022f75478bdaa2c300d706e4cfccca 14-Mar-2014 Zhihai Xu <zhihaixu@google.com> am bdd4c31a: am 60d7c995: Merge "DO NOT MERGE setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager" into klp-dev

* commit 'bdd4c31a22b9a5395e9d727e9f39ce1dc689c0a7':
DO NOT MERGE setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager
7e435a011dd519f76a8ec1a8ed99a22bee5c3e26 13-Mar-2014 Marco Nelissen <marcone@google.com> Verify certificates

b/13418320

Change-Id: I39c81b1557a16c7a4666a4531a398efa91dcb00c
udioService.java
AudioService.aidl
7fb580ea4ddbf3d406610485fd7e5fbf25cdef21 11-Jan-2014 Zhihai Xu <zhihaixu@google.com> DO NOT MERGE setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager

setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager.
It cause maximize volume in Bluetooth speaker/device.
The volume expected by Bluetooth Avrcp should be from 0 to 15.
But the current volume parameter passed to Bluetooth Avrcp is from 0 to 150.
It is scaled by 10 times than the correct volume.
index = rescaleIndex(index * 10, streamType, streamTypeAlias);
Should divide the volume by 10 before pass to Bluetooth Avrcp.

bug:12495379
Change-Id: I4160588e92ee384e21a75d63036d8bd6ccb30621
udioService.java
8ae0f34db936a649ddaf9cdd086c224f6514efeb 25-Feb-2014 RoboErik <epastern@google.com> Adds a TransportController and TransportPerformer to session

This makes transport controls a primitive interface on sessions with
a way to create the performer, register callbacks, and send commands
and updates between controllers and performers. This still needs some
cleanup but has been tested with OneMedia.

Change-Id: I373d35f7ccc383b8421bd14044457467d80425f3
ating.java
ession/IMediaController.aidl
ession/IMediaControllerCallback.aidl
ession/IMediaSession.aidl
ession/IMediaSessionCallback.aidl
ession/MediaController.java
ession/MediaMetadata.aidl
ession/MediaMetadata.java
ession/MediaSession.java
ession/PlaybackState.aidl
ession/PlaybackState.java
ession/RouteInterface.java
ession/RouteTransportControls.java
ession/TransportController.java
ession/TransportPerformer.java
7ca2b8958578dfd1a382b8f9e44e45ffb0de5d58 11-Mar-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioTrack write method with data in ByteBuffer"
7ca0452fa62b9c15bd45b0fd52aef97442555a6e 07-Feb-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioTrack write method with data in ByteBuffer

New write method with data in ByteBuffer. Allows blocking and
non-blocking write.
If the ByteBuffer is not direct, the implementation uses the
existing implementation with a byte array.

Bug 7919023

Change-Id: I6935e3e05783d7d7672614b194941a87abbb50cf
udioTrack.java
7246fa56100c186df0c094e21a5d06a3d9545900 11-Mar-2014 Lajos Molnar <lajos@google.com> MediaPlayer: fix int overflow issue in MediaTimeProvider

Bug: 13394783
Change-Id: I228ded5cf198852fda867d136cd8b1aacd8b6584
ediaPlayer.java
f0768d71bdba1db5bf70fbe9aa587ae7e652df21 10-Mar-2014 Robert Shih <robertshih@google.com> Merge "MediaMuxer: added WebM filetype; open output file RW."
7e7f65b40fab6169db1a2964dec9d4bf76a7d502 07-Mar-2014 Marco Nelissen <marcone@google.com> am 233e7e9f: am 98a6bcf4: Merge "ExifInterface: fix class load failure" into klp-dev

* commit '233e7e9f64be5e85196dd959824bce9a69b2fd99':
ExifInterface: fix class load failure
b2c45abc1d6f791f254c2cf6affcfc4f564d9cd2 07-Mar-2014 Marco Nelissen <marcone@google.com> am 233e7e9f: am 98a6bcf4: Merge "ExifInterface: fix class load failure" into klp-dev

* commit '233e7e9f64be5e85196dd959824bce9a69b2fd99':
ExifInterface: fix class load failure
9f97ac433aa9157173912b8714f260626326043e 20-Dec-2013 Zhijun He <zhijunhe@google.com> ExifInterface: fix class load failure

libexif_jni was renamed as libjhead_jni

b/12203995
Change-Id: I0ceff1ad288c7ce2255826d5d5ba9ca1f121a556
xifInterface.java
3260f254459fab42fb23389088da0eb73e0e0969 06-Mar-2014 Eric Laurent <elaurent@google.com> am eac19754: am 617e715a: Merge "Fix RemoteController synchronization mode" into klp-dev

* commit 'eac19754ca0822e4c1c50c436affbf5cbf7e08d3':
Fix RemoteController synchronization mode
b4545ce96c49fd5e941432dea56bd7b550c123df 06-Mar-2014 Eric Laurent <elaurent@google.com> am eac19754: am 617e715a: Merge "Fix RemoteController synchronization mode" into klp-dev

* commit 'eac19754ca0822e4c1c50c436affbf5cbf7e08d3':
Fix RemoteController synchronization mode
4b0f1554577e1782e93998af5d83ebf5add3543e 03-Jan-2014 Jean-Michel Trivi <jmtrivi@google.com> Fix RemoteController synchronization mode

Fix erroneous argument check in RemoteController syncrhonization
mode setter..

Bug 12189375

Change-Id: Ic2b70ec48cacc6d10f17762387b52b4e4304aa10
emoteController.java
8fb4cf1ef4ca3b3c5ea1897cc1a4f9f5dc454877 26-Feb-2014 RoboErik <epastern@google.com> Merge "Move Session apis to android.media.session"
2f5b057da7d05d5d699a272aa24fd7c97cdda820 21-Feb-2014 RoboErik <epastern@google.com> Move Session apis to android.media.session

This is to make it easier to distinguish the new apis from the old
ones.

Change-Id: Ic5eaf65e8bd054a844f87b9118c4bb18f30ac8a7
MediaController.aidl
MediaControllerCallback.aidl
MediaSession.aidl
MediaSessionCallback.aidl
MediaSessionManager.aidl
ediaController.java
ediaSession.java
ediaSessionManager.java
ediaSessionToken.aidl
ediaSessionToken.java
ession/IMediaController.aidl
ession/IMediaControllerCallback.aidl
ession/IMediaSession.aidl
ession/IMediaSessionCallback.aidl
ession/IMediaSessionManager.aidl
ession/MediaController.java
ession/MediaSession.java
ession/MediaSessionManager.java
ession/MediaSessionToken.aidl
ession/MediaSessionToken.java
8440a33b25d1251701b8597908800551f356ec5b 24-Feb-2014 Chong Zhang <chz@google.com> Merge "support time lapse/slow motion on SURFACE source"
6e89ddc0468495aa15c8408980bb7a86bf2ad604 21-Feb-2014 Marco Nelissen <marcone@google.com> Add method to get redirected Uri

Change-Id: I32c35e1cae89ee1106e8eabff0a4673af8cf57cd
MediaHTTPConnection.aidl
ediaHTTPConnection.java
5f105a1efb656cf7ce94e7e990d7f0b45f2ea2a1 20-Feb-2014 RoboErik <epastern@google.com> Another javadoc fix

Change-Id: I7a569a1583f87153f68d492a7500ffceac2ed3ae
ediaSession.java
9524ed59a44b6850f3f708e50ef0708d2a462316 20-Feb-2014 RoboErik <epastern@google.com> Fix build (bad javadoc reference)

Change-Id: Ifddab9f61fda81858ab429bbd2ec9d0821577c23
ediaController.java
332886854438809e956fb232b69879e33b5dc2bb 20-Feb-2014 RoboErik <epastern@google.com> Merge "Initial round of MediaSession APIs"
01fe661ae5da3739215d93922412df4b24c859a2 13-Feb-2014 RoboErik <epastern@google.com> Initial round of MediaSession APIs

This is far from complete but puts the basic components in place
for an app to interact with media sessions.

Change-Id: Icfe313f90ad76ae56badbe42b0e43fc5f68db36f
MediaController.aidl
MediaControllerCallback.aidl
MediaSession.aidl
MediaSessionCallback.aidl
MediaSessionManager.aidl
ediaController.java
ediaFocusControl.java
ediaSession.java
ediaSessionManager.java
ediaSessionToken.aidl
ediaSessionToken.java
emoteController.java
d5a579765e06d69c1a33663c202c3593a5bd5c6b 19-Feb-2014 Marco Nelissen <marcone@google.com> Fix regression

Don't crash if an item is inserted without a slash in its path.
b/13076381

Change-Id: I5cde2adaa038201e0692af3c8ca92540ce75f083
ediaScanner.java
daa98ca8d7c85b77ad794cc8d9f17e262ac41d96 14-Feb-2014 Chong Zhang <chz@google.com> support time lapse/slow motion on SURFACE source

- pass time between capture as us, in high fps case ms could
be inaccurate

- add test cases in MediaRecorderTest for time lapse/slow motion

Bug: 13032650

Change-Id: I34ecc3b39e0519753f74ae42afcaeeddfff1666a
ediaRecorder.java
cdf1d1895a57af25feb2f618183c935df2f235ad 14-Feb-2014 Andy McFadden <fadden@android.com> Update createInputSurface() doc

The Surface returned by MediaCodec#createInputSurface() is configured
for HW_VIDEO_ENCODER by the consumer. Accessing the Surface through
Surface#lockCanvas() sets SW_READ_OFTEN | SW_WRITE_OFTEN, and some
devices choke on the combination.

Bug 11418094

Change-Id: Ic182802386146d19b1bdecdb894c5130c563a3ed
ediaCodec.java
f8a0c47e9091d7a14e05dedc65b49af09fdc8fb8 05-Feb-2014 Andreas Huber <andih@google.com> Remove no longer needed http proxy handling code, it's obsolete now

since we started to use java's HTTPConnection instead of the native
implementation.

Change-Id: I32b08480593a859e0368dbbcf8da8f25c9e08ca9
ediaPlayer.java
cb1b23b5e600abe542e3374b66c2be7976fccd72 05-Feb-2014 Andreas Huber <andih@google.com> Merge "FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code"
d2506a506303ed94fd1991cf986b825b870a67c5 29-Jan-2014 Andreas Huber <andih@google.com> FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code

Change-Id: I7f6cdcfd2a28846d36d89dd5180ef20a22b03af8
MediaHTTPConnection.aidl
MediaHTTPService.aidl
ediaExtractor.java
ediaHTTPConnection.java
ediaHTTPService.java
ediaMetadataRetriever.java
ediaPlayer.java
93a5845d1a56dde3be4f0bdae70044724548b7d1 04-Feb-2014 Marco Nelissen <marcone@google.com> Cache media/nomedia paths

Instead of checking all the parents of every path for presence of
a .nomedia file every time a new entry is inserted, build a cache
of paths and use that when possible.

Change-Id: I5b912fd54473db8f96d3511cbc2715e0b69dd16b
ediaScanner.java
1797dc93fb203762eecbc9c026b77263e4e4a4f5 28-Oct-2013 Robert Shih <robertshih@google.com> MediaMuxer: added WebM filetype; open output file RW.

Files with RW access can be memory mapped.

Change-Id: Ic5df057e6661b062e834845a19b606c8d01a0608
ediaMuxer.java
329eec53497f766f3159139dfc97c07edb2b1c3a 28-Jan-2014 Andreas Huber <andih@google.com> Fix invocation of notification callback in case the callback is modified

from a separate thread.

Change-Id: I741c1f2f9c796ec977a742a69cedcca10c5218ad
ediaCodec.java
aba671392d6606e35726c350a28d0c9b36ebfe16 22-Oct-2013 Andreas Huber <andih@google.com> API that allows usage of MediaCodec APIs without polling.

Change-Id: Iebccdd3aec74a2cfa9ad0bf16c0c6006a3b72999
related-to-bug: 11990118
ediaCodec.java
bdf8db082827a914e7ab6df2978e8da587adfc80 22-Jan-2014 Andy Hung <hunga@google.com> Merge "Add "throws IOException" to MediaCodec factory methods"
83511d2f49c9e272f328730586c3d0a7852247f2 16-Jan-2014 Andy Hung <hunga@google.com> Add "throws IOException" to MediaCodec factory methods

android.media.MediaCodec
(createByCodecName|createDecoderByType|createEncoderByType)
now explicitly throws IOException.

Requires changes to existing code for declaration compatibility.

Bug: 11364276
Change-Id: I105ecb7c4bd49bf803111253cd23bab161c988f9
Signed-off-by: Andy Hung <hunga@google.com>
ediaCodec.java
6bb5cb24b458a11bd02e9bff37c03f6381e06b7c 16-Jan-2014 Narayan Kamath <narayan@google.com> Resolved conflicts for merge of 28c6ec02 to master

Change-Id: Idf1cabf2694dfa13d928df944d346f5e051b6948
24d63a838211db019bf7ea970a0d844d8033b729 16-Jan-2014 Narayan Kamath <narayan@google.com> am bc0468e6: am 6f17adba: Merge "AArch64: Use long for pointers in media classes"

* commit 'bc0468e67626937300e9afd182656469463d96a1':
AArch64: Use long for pointers in media classes
0c5b62744b1123f36dc8fe3c228a89899fec36d2 15-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "Unhide android.media.AudioTrack.setVolume(float)"
075e9a19ce645752f8282bc19c91b25978a7dc52 06-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Use long for pointers in media classes

For storing pointers, long is used in media classes,
as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: Idc4ca0124d03df7f9cef412488abafd020e5e774
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
udioRecord.java
udioTrack.java
aceDetector.java
etPlayer.java
ediaCodec.java
ediaCrypto.java
ediaExtractor.java
ediaMetadataRetriever.java
ediaPlayer.java
ediaRecorder.java
ediaScanner.java
emoteDisplay.java
oundPool.java
oneGenerator.java
4896cb59a443370252d230793ee030021f719821 15-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "Use AUDIO_SESSION_ALLOCATE instead of hard-coded 0"
3e21cc8140e42bdcd924590e5e12446b6c55ad2a 14-Jan-2014 Glenn Kasten <gkasten@google.com> Unhide android.media.AudioTrack.setVolume(float)

Bug: 12534920
Change-Id: I7d7437f87f7002c42452011e347e89ddaa0bf6a5
udioTrack.java
f634bc0ff507ebbaae5a8eaed52efa5706fc0208 13-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "Prepare for additional formats beyond 8-bit and 16-bit PCM"
93899a5972f7ad2defd51f46f039e39613c6f7f6 11-Jan-2014 Zhihai Xu <zhihaixu@google.com> Merge "setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager"
2f4a2b139b4c1dde7be1d14333ad02553734c528 11-Jan-2014 Zhihai Xu <zhihaixu@google.com> setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager

setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager.
It cause maximize volume in Bluetooth speaker/device.
The volume expected by Bluetooth Avrcp should be from 0 to 15.
But the current volume parameter passed to Bluetooth Avrcp is from 0 to 150.
It is scaled by 10 times than the correct volume.
index = rescaleIndex(index * 10, streamType, streamTypeAlias);
Should divide the volume by 10 before pass to Bluetooth Avrcp.

bug:12495379
Change-Id: I0432f83ca4a0c134244d96b2eea14d7168e9a9ff
udioService.java
fe834d30f4f3f51b754d55fecb36f11279733948 08-Jan-2014 Glenn Kasten <gkasten@google.com> Prepare for additional formats beyond 8-bit and 16-bit PCM

This CL does the same thing for AudioTrack,
that an earlier CL did for AudioRecord:
> Change-Id: Ic3525f049e939bdf125d9f87ed39abd2690dcf9f

Pull out the common parts of that earlier CL and move them to new header
file android_media_AudioFormat.h.

Use the new function audioFormatToNative() to convert from Java
ENCODING_PCM_* to native AUDIO_FORMAT_*.

Use audio_bytes_per_sample() instead of hard-coding the size of various formats.

Use size_t for memory sizes.

Change-Id: I7992dd6a2c9500126a6d7ae5fc1ed9f3312962d6
udioFormat.java
819f2e12347e588c223923a3698daafb1c593ccf 07-Jan-2014 Narayan Kamath <narayan@google.com> am 510616d2: am bec733af: am 23ebc24e: am 08467c57: am 9bc6acf2: Merge "AArch64: Use long for pointers in VideoEditor classes"

* commit '510616d215372e59e5e8c39b8de1125fc5b54c60':
AArch64: Use long for pointers in VideoEditor classes
e434ddd042f7fe9ff905ab29bda14e113e3d1c55 07-Jan-2014 Narayan Kamath <narayan@google.com> am 113e83e6: am 58cb0f0c: am bfbe585e: am c0c92f20: am 357ea905: Merge "AArch64: Use long for pointers in audio effect classes"

* commit '113e83e6f538ea217c167c6d8e11b28042ff2c53':
AArch64: Use long for pointers in audio effect classes
ac8bd534ddc474e5aadbe6a6edde200cff52d442 07-Jan-2014 Narayan Kamath <narayan@google.com> am 99aec6b5: am 40b0aaa9: am 568cde55: am 80cff944: am 74675f29: Merge "AArch64: Use long for pointers in AmrInputStream"

* commit '99aec6b5d1cb73a3f5b57badc53e6f56b2a53c4d':
AArch64: Use long for pointers in AmrInputStream
23ebc24eee4bf8b58405daab177e46d8e3da790f 07-Jan-2014 Narayan Kamath <narayan@google.com> am 08467c57: am 9bc6acf2: Merge "AArch64: Use long for pointers in VideoEditor classes"

* commit '08467c5727c04c1fef40ff1e361628944275ef28':
AArch64: Use long for pointers in VideoEditor classes
bfbe585ed4360b007640b227d49b6e8d7a2352b0 07-Jan-2014 Narayan Kamath <narayan@google.com> am c0c92f20: am 357ea905: Merge "AArch64: Use long for pointers in audio effect classes"

* commit 'c0c92f206eddb6fb319bd11929c1703daf17248f':
AArch64: Use long for pointers in audio effect classes
568cde557abfaaa5bf584cf7c3396f9efd990e6c 07-Jan-2014 Narayan Kamath <narayan@google.com> am 80cff944: am 74675f29: Merge "AArch64: Use long for pointers in AmrInputStream"

* commit '80cff94478a39914012df816179ea57c53040903':
AArch64: Use long for pointers in AmrInputStream
44ba5c1b4ef33ff50dacb2eb5553d01405e77f4d 17-Dec-2013 Ashok Bhat <ashok.bhat@arm.com> AArch64: Use long for pointers in VideoEditor classes

For storing pointers, long is used in VideoEditor
classes, as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: Ifff3a28f2ab6774ee89d31770ad63451c8726431
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
ideoeditor/MediaArtistNativeHelper.java
ea7861c918567d17d40a762b38f97c053d88b839 17-Dec-2013 Ashok Bhat <ashok.bhat@arm.com> AArch64: Use long for pointers in audio effect classes

For storing pointers, long is used in AudioEffect
and Visualizer classes, as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: Ief49bbe5baef663e268c7f6d70ac33a4df45621c
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
udiofx/AudioEffect.java
udiofx/Visualizer.java
b348c3fd87bff8641bb0c2fc475742f1847a4784 17-Dec-2013 Ashok Bhat <ashok.bhat@arm.com> AArch64: Use long for pointers in AmrInputStream

For storing pointers, long is used in AmrInputStream
class, as native pointers can be 64-bit.

Change-Id: I78fff3eb54fc7101746b0d693cbc4e923c2bad08
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
mrInputStream.java
a144b121b24e6ecbbc4016d15e1d57594c23781e 06-Jan-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix RemoteController synchronization mode"
83cc994ba40a7227c62a65ccb5addf3a23ff6350 02-Jan-2014 Chong Zhang <chz@google.com> MediaRecorder: add getSurface() api and SURFACE video source

Bug: 12305192
Change-Id: If833c5ac8a738ffa284307e0435b5cbd1b7379b1
ediaRecorder.java
b3ae913115c7d7ac519dc12f212f72dfce89cd8a 03-Jan-2014 Jean-Michel Trivi <jmtrivi@google.com> Fix RemoteController synchronization mode

Fix erroneous argument check in RemoteController syncrhonization
mode setter..

Bug 12189375

Change-Id: Ib446a21f36c6e0e97752336b22aff0feb651f215
emoteController.java
934349e8ad37c1ad251d6992e0751635f9ab3f28 20-Dec-2013 Zhijun He <zhijunhe@google.com> ExifInterface: fix class load failure

libexif_jni was renamed as libjhead_jni

Change-Id: I0ceff1ad288c7ce2255826d5d5ba9ca1f121a556
xifInterface.java
94ee2f502efbf1d31559573a7b05e3addb91d5e7 18-Dec-2013 Narayan Kamath <narayan@google.com> am 52ba48a8: am f08b83be: am 4dd5c377: am be8fbb8f: Merge "Remove unused field from MediaMuxer"

* commit '52ba48a85049a2a782c3e4c23d64577253f888eb':
Remove unused field from MediaMuxer
4dd5c37711f370af4c507eedd4c7d27ec35a2d64 18-Dec-2013 Narayan Kamath <narayan@google.com> am be8fbb8f: Merge "Remove unused field from MediaMuxer"

* commit 'be8fbb8fb63fddac2310dfbafa2594ed165b16b1':
Remove unused field from MediaMuxer
535daa191be782e147d0a115846135fe4229cf0b 18-Dec-2013 Narayan Kamath <narayan@google.com> Remove unused field from MediaMuxer

Change-Id: If1ebb2302654b64924084a52425366f1b69c7c30
ediaMuxer.java
36d10e79940fcb0c9ddd9780062065dc633971fb 17-Dec-2013 Elliott Hughes <enh@google.com> am 3bfc6e76: am c0d6028f: am a012fee3: am 5d6332e3: Merge "AArch64: Use long for pointers in MediaDrm and MediaMuxer"

* commit '3bfc6e76e627d4122a774488f36fb843bb3694fb':
AArch64: Use long for pointers in MediaDrm and MediaMuxer
a012fee3c31803799176f3efb75cf2f929eeb062 16-Dec-2013 Elliott Hughes <enh@google.com> am 5d6332e3: Merge "AArch64: Use long for pointers in MediaDrm and MediaMuxer"

* commit '5d6332e3744e37ced079e5360f1fa3e0e5681d57':
AArch64: Use long for pointers in MediaDrm and MediaMuxer
5d6332e3744e37ced079e5360f1fa3e0e5681d57 16-Dec-2013 Elliott Hughes <enh@google.com> Merge "AArch64: Use long for pointers in MediaDrm and MediaMuxer"
6a0db5990187a71427029fb0fd64394e849aa057 14-Dec-2013 Kenny Root <kroot@google.com> resolved conflicts for merge of e0b14ea7 to master

Change-Id: Ie018d3e2eba1eb2d655c153880e1951b68c2bd51
62d509d24f91959b75219edd0ab1a6f22b82c600 13-Dec-2013 Kenny Root <kroot@google.com> am 37c69fdd: Merge "Use java.util.Objects instead on internal API"

* commit '37c69fdd826f3973966430adc1abfbefc19bc16e':
Use java.util.Objects instead on internal API
e6585b32ea586743258a5457e2184ffc087f2d2f 13-Dec-2013 Kenny Root <kroot@google.com> Use java.util.Objects instead on internal API

Not needed since java.util.Objects implements all the needed
functionality.

Change-Id: Icd31d49a9801d1705427f028e9ac927d58e7d34c
ediaRouter.java
55d70620d9fda8afafb2fdec59757a710eec0e89 12-Dec-2013 Alan Viverette <alanv@google.com> Add caption window color attribute

The WebVTT rendering implementation interprets window color as region
color, since there is no window for non-region captions.

BUG: 12020757
Change-Id: Ie891e1343d718783fc32c712860f886de22558ec
ebVttRenderer.java
656fd0402613cec0196d5e2ae0a460d044d2805b 28-Nov-2013 Ashok Bhat <ashok.bhat@arm.com> AArch64: Use long for pointers in MediaDrm and MediaMuxer

For storing pointers, long is used in MediaDrm and
MediaMuxer classes, as native pointers can be 64-bit.

Change-Id: I77f26cde627baf0dce70b6aa3a4dbd974051d9a6
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
ediaDrm.java
ediaMuxer.java
a16a979315c3458499802f5cd94150822d49597a 22-Nov-2013 Glenn Kasten <gkasten@google.com> Update comments for AudioRecord IllegalArgumentException

Also explicitly list IllegalArgumentException in throws clause of the
constructor helper methods, as that is a critical side-effect of these methods.

Change-Id: I5cae5dfd807235fbdd827ef4ebc7cf05bfd11c02
udioRecord.java
19294ca0e88018867d7d31a34bb4306a3d9502c3 22-Nov-2013 Glenn Kasten <gkasten@google.com> Document need to call AudioRecord.getState() after construction

Change-Id: Ia6ebb5b01ae60453b6fc7db79e2ec3d40d2b56f1
udioRecord.java
a4b06fd111185f4f245d816c09074107fef960bb 22-Nov-2013 Glenn Kasten <gkasten@google.com> Fix typo nbChannels -> channelMask

Formal parameter name in native_setup was wrong.

Change-Id: Ie76c6e0aca83c6a01f2581d988e32da730b7e427
udioRecord.java
udioTrack.java
2ab3ec21c0d0b13533434cacf72cc1bc0c81bb32 22-Nov-2013 Jeff Brown <jeffbrown@google.com> am 2458681b: am 263c4310: am ce468a35: Stop wifi display discovery when no longer needed.

* commit '2458681b3ea4571d2f1254ef597475fe6a582907':
Stop wifi display discovery when no longer needed.
ce468a35b388ca46578934706b38dbae94941643 22-Nov-2013 Jeff Brown <jeffbrown@google.com> Stop wifi display discovery when no longer needed.

Keep track of how many clients are requesting scans and scan
continuously until all of them are gone then explicitly terminate the
scan instead of letting it time out as before.

Suspend wifi display scans while connecting or connected to a remote
display. This is handled by both the display manager and media router
since neither has complete information about what is happening.
Much of this code will no longer be needed once wifi display support
is integrated directly into the media router service.

Ensure that we don't attempt to scan or connect to wifi displays
while the wifi display feature is off.

Infer when a connection attempt fails and unselect the wifi display
route automatically so it doesn't appear to be connecting forever.

Fix issues around correctly canceling and retrying connection attempts.
Often we would cancel but not retry.

Improved connection reliability somewhat. It seems that discovery must
already be in progress in order for a connection attempt to succeed.

Ensure QuickSettings uses exactly the same logic as the MediaRouteButton
to determine when the remote display tile should be made visible.

Bug: 11717053
Change-Id: I18afc977b0e8c26204b8c96adaa79f05225f7b6e
ediaRouter.java
ab6294e4bb2830a3bc161bcfec15904685e8b5b5 20-Nov-2013 Chong Zhang <chz@google.com> am db44cb92: am 6b0653ff: am bfdecccc: Merge "Only scan for wifi display when there is no active connections" into klp-dev

* commit 'db44cb92ecae78f0fa5a8fe60eb1d35393c67507':
Only scan for wifi display when there is no active connections
6090995951c6e2e4dcf38102f01793f8a94166e1 19-Nov-2013 John Spurlock <jspurlock@google.com> Remove unused imports from frameworks/base.

Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
mrInputStream.java
syncPlayer.java
udioManager.java
udioService.java
ncoderCapabilities.java
ediaDrm.java
ediaFile.java
ediaFocusControl.java
ediaMetadataEditor.java
ediaPlayer.java
etadata.java
iniThumbFile.java
ating.java
emoteControlClient.java
emoteController.java
esampleInputStream.java
ingtoneManager.java
oundPool.java
ubtitleData.java
humbnailUtils.java
udiofx/AudioEffect.java
udiofx/BassBoost.java
udiofx/EnvironmentalReverb.java
udiofx/Equalizer.java
udiofx/PresetReverb.java
udiofx/Virtualizer.java
udiofx/Visualizer.java
ideoeditor/MediaArtistNativeHelper.java
a68c87eda84150b21f3d01511e60c720c6f6b695 20-Nov-2013 Chong Zhang <chz@google.com> Only scan for wifi display when there is no active connections

Bug: 11717053
Change-Id: I4ab73f6517fbfb8fcc131b89d0e934380dcf69e0
ediaRouter.java
30cb5c3ffa259f2a6df02a81a766c716477f4b92 15-Nov-2013 Jeff Brown <jeffbrown@google.com> am 2ea480ca: am 5d0b18cd: am 3de885be: Merge "Disallow applications from initiating cast screen." into klp-dev

* commit '2ea480cac89460ee2524cd080e90f6240e8eebf5':
Disallow applications from initiating cast screen.
af574183c274f51d04487a9c8355e9f34a1150f2 15-Nov-2013 Jeff Brown <jeffbrown@google.com> Disallow applications from initiating cast screen.

Only allow the system ui and settings to connect to a remote display.
To do this, we essentially hide the remote displays from applications
by using the ROUTE_TYPE_REMOTE_DISPLAY then add permission checks
around the operations that connect to them.

As a bonus, this may actually save power on devices since applications
that use MediaRouter will not longer be performing discover on
remote display routes at all.

Bug: 11257292
Change-Id: I9ea8c568df4df5a0f0cf3d0f11b39c87e2110795
ediaRouter.java
ediaRouterClientState.java
48f42fa861078d86eb1c0eb566881657a23268d3 15-Nov-2013 Jean-Michel Trivi <jmtrivi@google.com> am 7c9adaf6: am dc6da58a: am 2a96fc1f: Merge "Fix RemoteController update in RemoteControlClient registration" into klp-dev

* commit '7c9adaf6b90164f17164852276734f95c6d2c46f':
Fix RemoteController update in RemoteControlClient registration
320ad9fa1d45322e878496cc1c03137cabf20942 14-Nov-2013 Jean-Michel Trivi <jmtrivi@google.com> Fix RemoteController update in RemoteControlClient registration

A regression was introduced when trying to limit the number of
internal synchronization generation IDs that caused RCC
information to be shown only for applications that requested
audio focus after media button receiver and RCC registration,
(such as Play Music), not for applications that requested focus
first (such as Play Movies).
The correct behavior is to always check and update the
RemoteControllers (seen by MediaFocusControl as RCD interfaces)
whenever a RemoteControlClient is registered (even if it's a
re-registration) when it is associated when an entry at the top
of the remote control stack.

Bug 11657655

Change-Id: I30716e2028f7f718a31e13401b191178735229ff
ediaFocusControl.java
12c39dd50c4063ef06b06cf26071665ca60aaac6 12-Nov-2013 Jeff Brown <jeffbrown@google.com> am 9ffc4a65: am 854395ad: am c481a634: Merge "UI tweaks." into klp-dev

* commit '9ffc4a65e51ae8695be0531c6fae0d33301ded60':
UI tweaks.
39ad0e559896b45185429ea17cd12f18f7ae842c 12-Nov-2013 Jeff Brown <jeffbrown@google.com> UI tweaks.

Hide disabled routes from the chooser.

Fix layout of chooser dialog when the settings button is visible and
the list is very long to prevent truncation of the settings button.

Fix an issue when we fake the route connecting status when a route
is selected. The route changed notification needs to be propagated
to apps. Fake it better.

Immediately disconnect from a route when the connection is lost or
a connection attempt fails. Added a few new test displays for this
case.

Bug: 11257292
Change-Id: I360ab5dc937ad60d97592eab54b19f034519645e
ediaRouter.java
08432a419b83fd22fe43d921c2f9d9f289e3ea3b 12-Nov-2013 Jeff Brown <jeffbrown@google.com> am fa0d9c2f: am 02b77575: am 1cdbbb1e: Merge "Changes to support new screen cast settings screen." into klp-dev

* commit 'fa0d9c2fa8e5c2c73bd36688784f1e44eb08635b':
Changes to support new screen cast settings screen.
b530aeb0feab5d371684ee8040b2f11e654ae4df 12-Nov-2013 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of f0b9ee96 to master

Change-Id: I1b347e895049474e11076c60074dc5918cfe1405
19001d29bd37b0467ff37116edcefadd259c0a5a 12-Nov-2013 Chong Zhang <chz@google.com> am 9a05e846: am f32962a8: am e8d0fbf2: Merge "Fixed a bug updating presentation displays." into klp-dev

* commit '9a05e846f3ac2f5c60f42160bcca37355647a3a7':
Fixed a bug updating presentation displays.
75af171006ee80aaf7cfb56ded1378afe0084cca 11-Nov-2013 Jeff Brown <jeffbrown@google.com> Changes to support new screen cast settings screen.

Fixed the Preference ordering code to consider the case where
two preferences might have the same order. In that case, it
falls back on the title to disambiguate. Previous behavior was
undefined (and technically not stable).

Expose the wifi display device address.

Perform wifi display scans every 10 seconds instead of every 15
to improve reponsiveness.

Make sure to define routes for wifi displays that we are connecting
to even if they are not yet paired. Simplified the logic for
adding and removing these routes to avoid possibly getting out
of sync and leaving stale routes behind.

Fix wifi display notification icon.

Bug: 11257292
Change-Id: I8ac15fb17d83758c0bdce80399e12723c367b83c
ediaRouter.java
dd4f9e8b61c0a5639aa82480b7fdd760a2ed609c 11-Nov-2013 Jeff Brown <jeffbrown@google.com> Merge "Update the media router dialogs and integrate into system UI." into klp-dev
0abd3a6ce83ed23abe614155e776b600ef2a66c3 10-Nov-2013 Jeff Brown <jeffbrown@google.com> Update the media router dialogs and integrate into system UI.

Port the new style UI back into the framework from the support library.
There are now two dialogs: a chooser and a controller. We use the
same dialogs for selecting routes within app and within quick settings.

Note that the new UI does not support any grouping features since they
are deprecated and unused.

Bug: 11257292
Change-Id: I64e936a18d25ab75f0c470cbc1e7085f67004863
ediaRouter.java
5830b0b33618940d65197cec99d697b21908fec8 08-Nov-2013 Chong Zhang <chz@google.com> Fixed a bug updating presentation displays.

Also made findRemoteDisplay public.

Bug: 11257292
Change-Id: Ibc9bf3d8ee7c90293ffd8796270e8883ea458a65
ediaRouter.java
7da5bbedc75d7143d5b2cf36c4876f7b09a88807 08-Nov-2013 Jeff Brown <jeffbrown@google.com> am c2b652fd: am 5182ea4b: am d40a4d74: Merge "Add media router service and integrate with remote displays." into klp-dev

* commit 'c2b652fd4d386b79dc99af249b6ad3844e53fdf1':
Add media router service and integrate with remote displays.
6c58d890f3a6993a3bcf413b84ba6fba875832f8 08-Nov-2013 Jeff Brown <jeffbrown@google.com> am 84d76025: am eb223425: am 1f7a8a06: Merge "Add a platform library for remote display providers." into klp-dev

* commit '84d760257f46232601e5f47411fb4e59f57f1872':
Add a platform library for remote display providers.
d40a4d74c623175c96a2e9d865a99826e56d1132 08-Nov-2013 Jeff Brown <jeffbrown@google.com> Merge "Add media router service and integrate with remote displays." into klp-dev
1f7a8a06256907e03405f89108f081289c23e97a 08-Nov-2013 Jeff Brown <jeffbrown@google.com> Merge "Add a platform library for remote display providers." into klp-dev
69b07161bebdb2c726e3a826c2268866f1a94517 07-Nov-2013 Jeff Brown <jeffbrown@google.com> Add media router service and integrate with remote displays.

This change adds a new media router service whose purpose is to track
global state information associated with media routes. This service
publishes routes to the media router instance in application processes
and handles requested state changes such as selecting or unselecting
global routes. The service also binds to remote display provider
services which can offer new remote display routes to the system.

Includes a test application for manually verifying certain aspects
of the operation of the media router service.

The remote display provider interface is essentially a stripped down
media route provider interface as defined in the support library
media router implementation. For now, it is designed to be used only
by first parties to publish remote display routes to the system so
it is not exposed as public API in the SDK. In the future, the remote
display provider interface will most likely be deprecated and replaced
with a more featureful media route provider interface for third
party integration, similar to what is in the support library today.

Further patch sets integrate these new capabilities into the System UI
and Settings for connecting remote displays.

Bug: 11257292
Change-Id: I31109f23f17b474d17534d0f5f4503e388b081c2
MediaRouterClient.aidl
MediaRouterService.aidl
ediaRouter.java
ediaRouterClientState.aidl
ediaRouterClientState.java
f3c99e883f46c56e5e2877e844b902b6eb45545b 06-Nov-2013 Jeff Brown <jeffbrown@google.com> Add a platform library for remote display providers.

This interface allows applications to register services that offer
remote displays to the system. The system will then provide UI
to allow user to connect to these displays and enable mirroring.

Bug: 11257292
Change-Id: I34da5b9dfdaf71267bd3450c505bc1b7368d1b40
RemoteDisplayCallback.aidl
RemoteDisplayProvider.aidl
emoteDisplayState.aidl
emoteDisplayState.java
b84a72cb5ca1acb816cfef6ea1211dde6bb43439 07-Nov-2013 Andy Hung <hunga@google.com> Merge "Revert "Add "throws IOException" to MediaCodec constructors (3)""
8ca55fc980a567270d397c7392fd5fa8490f6d42 07-Nov-2013 Andy Hung <hunga@google.com> Revert "Add "throws IOException" to MediaCodec constructors (3)"

This reverts commit 52d8aa79a31c5042d2b43d06f08fa28489b27d1b.

Change-Id: Ic706e0fb469931664499d00fa3a221726b258673
ediaCodec.java
928f9fe466942e57dc01c6df0f528a59e621d8df 07-Nov-2013 Andy Hung <hunga@google.com> Merge "Add "throws IOException" to MediaCodec constructors (3)"
4feaa2e0b6e512dcc87f1f936d981794586f9e00 06-Nov-2013 Eric Laurent <elaurent@google.com> am 1a231f5f: am e661b541: am 7791b84c: Merge "AudioService: fix notifications with A2DP abs volume" into klp-dev

* commit '1a231f5fdabb00e491d86abf878efb15588012da':
AudioService: fix notifications with A2DP abs volume
52d8aa79a31c5042d2b43d06f08fa28489b27d1b 04-Nov-2013 Andy Hung <hunga@google.com> Add "throws IOException" to MediaCodec constructors (3)

Change to add "throws IOException" to android.media.MediaCodec
(createByCodecName|createDecoderByType|createEncoderByType). The exception was
previously thrown through the native JNI, but not explicitly declared.

Requires changes to existing code for declaration compatibility.

Bug: 11364276
Change-Id: Ia0d3481397285cb1503bedde37d4651934b3a481
Signed-off-by: Andy Hung <hunga@google.com>
ediaCodec.java
cd772d04345850e160a45613fcf6b86da0dce4cf 31-Oct-2013 Eric Laurent <elaurent@google.com> AudioService: fix notifications with A2DP abs volume

When A2DP absolute volume is enabled, the music stream
software volume is maxed out because the headset applies
the volume.

We must also max out other streams playing over A2DP otherwise
they are attenuated twice and are barely audible.

Bug: 11316102.
Change-Id: I7e58c74cb683ad1d6f3b68abb0ef967c817fbf4f
udioService.java
128537f600e14c941656e648205987083f4096c3 28-Oct-2013 Lajos Molnar <lajos@google.com> am f57530e4: am fcd69ca4: am 66b753b0: Merge "MediaPlayer: MTP: update state only based on source events" into klp-dev

* commit 'f57530e449631658cf9dddfa774ffc3df2383513':
MediaPlayer: MTP: update state only based on source events
66b753b06bb265d3f5b25244856f8d827a9dc5af 28-Oct-2013 Lajos Molnar <lajos@google.com> Merge "MediaPlayer: MTP: update state only based on source events" into klp-dev
4de8e7c1a55f024361786e9fe03fa6eec1db6cb7 28-Oct-2013 Lajos Molnar <lajos@google.com> MediaPlayer: MTP: update state only based on source events

State only depends on events from the MediaPlayer (this includes
the pseudo-event from MTP recovery mechanism.)

Change-Id: Idd62a773d2386ad6bfbfe417412c2e2ff09b3600
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11412881
ediaPlayer.java
cfcd53a8156aad5d5be9b7b8337ed9bf46786b93 25-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> am 33f713d2: am a60057c0: am d4249251: Merge "Limit RemoteControlClient generation ID changes" into klp-dev

* commit '33f713d2b3663ac05d145a0d971b009d9e0988a7':
Limit RemoteControlClient generation ID changes
d4249251e0a707d4fbc617b7556cb4c8c5163132 25-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Limit RemoteControlClient generation ID changes" into klp-dev
0b605349176e8667c52cf75ccdd33ed63398c224 23-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> Limit RemoteControlClient generation ID changes

At the beginning of each song, the Music app re-registers its
media button event and requests audio focus, which causes
the reevaluation of each corresponding stack of clients. Each
reevaluation is accompanied by the incrementation of the
RemoteControlClient generation ID, which causes RemoteController
to issue a notification that the client has changed. The lockscreen
correctly interprets this as a reason to dump the current
RemoteControlClient data (including the artwork) because it will
receive the new data if new one is available. This is what causes
the "flashing" of the wallpaper on the lockscreen: for an instant,
no client data is available.
The fix consists in not causing the client generation ID to be
incremented when registrations don't cause any change in the
RemoteControlClient stack. Even though Music re-registers everything,
nothing has changed: it still is the current media button receiver,
and it still has the same RemoteControlClient.

Bug 11307382

Change-Id: I4d2404b571e88aeedb0eca6bd19d39f7ec4fc8b1
ediaFocusControl.java
e38b99504d9bcc0fe80c720ddf064182d44da2c1 25-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> am 6a3bfe07: am 9c267f8d: am 5504537e: Merge "Missing LoudnessEnhancer constructor and UUID in public API" into klp-dev

* commit '6a3bfe0796f09114c834dab34b7f5b62a549e51c':
Missing LoudnessEnhancer constructor and UUID in public API
3661494d46d445fb68d41b0a0ec19fc06420fb34 24-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> Missing LoudnessEnhancer constructor and UUID in public API

Bug 11356672

Change-Id: Ia3d16712c8b9bb425a587acd87ba7fad6b4ce31c
udiofx/AudioEffect.java
udiofx/LoudnessEnhancer.java
d21b70322a7e8039008e501e648b4119b8bd9680 17-Oct-2013 Adam Powell <adamp@google.com> am 16f495df: am 11c746ab: am a9412556: Merge "Fix stale data in keyguard transport control display" into klp-dev

* commit '16f495dfa43a9e51e3964511c9d6e5567528587d':
Fix stale data in keyguard transport control display
3b435fb2f0c868c468f3fb2cb2e3ea8314a1755a 16-Oct-2013 Adam Powell <adamp@google.com> Fix stale data in keyguard transport control display

Make sure that caches are cleared at the right times and views have
their data populated correctly. Also fix a caching issue in
RemoteController.

Bug 11218218

Change-Id: Ieb833b5dc440ccd1b82050f12eb7059a4e0a412f
emoteController.java
d38b1302b7506ae7eef6c6680228c0f07f6e1895 13-Oct-2013 Eino-Ville Talvala <etalvala@google.com> Merge "DO NOT MERGE: Hide new camera API." into klp-dev
59ff7bd243f46c7749a2ef2f1bb1c3c769f0584f 11-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> am 09872a35: am fb059f3c: am 7a6ccb87: Merge "Remote volume changes" into klp-dev

* commit '09872a35cb09fc8dbe97d443d083d6c5b0948b90':
Remote volume changes
cd925885283396c0379ec2dcaa94e318993f40f8 07-Oct-2013 Eino-Ville Talvala <etalvala@google.com> DO NOT MERGE: Hide new camera API.

Not yet ready.

Bug: 11141002

Change-Id: I4704bffb9ba36af47a66dc5b49cbba00be623aae
mage.java
mageReader.java
fca1e603236b8d1681f784e77e3719d1d59c1428 11-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> Remote volume changes

When the user plays media remotely, and presses on the volume
keys with the screen off, verify whether not only local playback
is active, but also if remote playback is active to see if
the volume should be adjusted.
When adjusting the volume with screen off, adjust the remote
volume if applicable.

When controlling volume, give priority to local media playback.

Bug 11169862

Change-Id: I88a8c003969177d50d4c1569ec6cd2a7c153a341
udioManager.java
udioService.java
AudioService.aidl
cfed3656c0ff1cf66aa1755d629c779662ba4386 09-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> am f2177bae: am 2d06e69c: am c04337aa: Merge "Make RemoteController weakly referenced by IRemoteControlDisplay" into klp-dev

* commit 'f2177bae2da4c73bb2180efe154b3f7abb615370':
Make RemoteController weakly referenced by IRemoteControlDisplay
4348a73bbe4e66ab691aea5971107046df806511 09-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> Make RemoteController weakly referenced by IRemoteControlDisplay

In the RemoteController implementation, the inner class that
implements the IRemoteControlDisplay interface must have a weak
link to the RemoteController instance with which it is associated,
as MediaFocusControl and RemoteControlClient hold a strong
reference to this binder object in a different remote process.
Without a weak reference, any object referencing RemoteController
couldn't be independently garbage collected without a garbage
collection in the remote process.

Bug 8209392

Change-Id: I29e4274c45249b3cb0d3d89417c69e8fe8f62fc4
emoteController.java
f90299dfbcbae11415e81b78081f816b15f5b7a4 08-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> am 47f698b8: am c38c93f4: am 1a1e24f1: Merge "Update RemoteController info when enabling/disabling it" into klp-dev

* commit '47f698b88e8be919f3cc0400fa9f1076c1df037c':
Update RemoteController info when enabling/disabling it
19566543c4833f50e7c22aff0c707388f8a338d2 08-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> Update RemoteController info when enabling/disabling it

When a RemoteController listener is disabled: send its listener
"blank" information (no artist, "stopped state"...)
When a RemoteController listener is enabled: have the current
RemoteControlClient send the current information.

Bug 8209392

Change-Id: I375bf3c42a425ada94c61453b51669d7e819dde4
ediaFocusControl.java
emoteController.java
49fc2590c1d02c8b06a049c9c7060aad59c41b4c 07-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> am 9633629b: am 65d57713: am bacb5422: Merge "Also rely on enabled notification listeners for RemoteController registration" into klp-dev

* commit '9633629b7916b5694ae1bd960b9c08610b47b7aa':
Also rely on enabled notification listeners for RemoteController registration
bacb5422bc4670d2b8905d9f58d068a97836561f 07-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Also rely on enabled notification listeners for RemoteController registration" into klp-dev
f108cdd9ee5efe354d87edd02a07b323298c116c 28-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Also rely on enabled notification listeners for RemoteController registration

Registration of a RemoteController may succeed only if:
- the caller has the MEDIA_CONTENT_CONTROL permission,
- or if the RemoteController.OnClientUpdateListener it
registers if one of the enabled notification listeners.

For using the "enabled notification listener" functionality,
the CL involved:
- making OnClientUpdateListener an interface so a 3rd-party
application may have its implementation extend
NotificationListenerService, which is required for a
listener to be enabled by the user.
- add the concept of "enabled" status in an
IRemoteControlDisplay, so a RemoteController (which
encapsulates the IRemoteControlDisplay implementation)
may be registered, but later temporarily disabled by
the user, as a result of a user action in the security
settings, or a user switch.
- making MediaFocusControl, the component tied to
AudioService, monitor changes in enabled notification
listeners, and act upon enable/disable changes.

Bug 8209392

Change-Id: Ia8dfa2156c65668b2b0d4ae92048005912652d84
udioManager.java
udioService.java
AudioService.aidl
RemoteControlClient.aidl
RemoteControlDisplay.aidl
ediaFocusControl.java
emoteControlClient.java
emoteController.java
0272b31b5268564fc6e6e580ac1b1701a4e7e2b7 04-Oct-2013 Eric Laurent <elaurent@google.com> am 02f00de8: am 4b292317: am 15bcc2d8: Merge "audioservice: fix DTMF stream volume" into klp-dev

* commit '02f00de89f5173aab94b554c26cba94fe5366f94':
audioservice: fix DTMF stream volume
f7ee79b6bf08c0658674dda59ca1dc2d56b1176f 04-Oct-2013 Adam Powell <adamp@google.com> am 3a1abeac: am cf51fefd: am c7c7f5b5: Merge "Fix docs" into klp-dev

* commit '3a1abeac3526bb772d484a16a4110241f6ab090c':
Fix docs
5abb64d8014b49c355afe22f41f205772c084ec1 04-Oct-2013 Adam Powell <adamp@google.com> am 91aa6021: am 310796de: am d6239b92: Merge "Add a scrubber to keyguard; layout tweaks" into klp-dev

* commit '91aa6021876e1690ad84ca0b3304ca7b0f925e80':
Add a scrubber to keyguard; layout tweaks
15bcc2d82f1368ee4002b2eb6d652591dc2028af 04-Oct-2013 Eric Laurent <elaurent@google.com> Merge "audioservice: fix DTMF stream volume" into klp-dev
24e0d9b6c40712a297e4c287435a3b0fdd30e9da 04-Oct-2013 Eric Laurent <elaurent@google.com> audioservice: fix DTMF stream volume

DTMF stream must also be muted by silent mode when following ring
stream volume in order to be properly muted and unmuted when ringer
mode changes.

Also fix a problem in VolumeStreamState.setAllIndexes() when some
devices are not present in the stream state from which indexes
are copied.

Bug: 10932676.
Change-Id: I373d0fd1a475980786d97d97348d46a7e7421461
udioService.java
70cb8021ef7d1804982032c464685139629f68a2 04-Oct-2013 Adam Powell <adamp@google.com> Fix docs

Change-Id: I19e0cdab6c526f7eed376fc2067b5c49b31a3ea9
emoteController.java
f8895248e2ac4dbb46622f3e04c7256f03175b4f 01-Oct-2013 Adam Powell <adamp@google.com> Add a scrubber to keyguard; layout tweaks

Switch KeyguardTransportControlView over to using RemoteController
instead of the internal API.

Guard transition animations behind a flag until we can work out some
intermittent issues.

Change-Id: Ie9f41339ce6e735c5d524db88437672f2c9859e2
emoteControlClient.java
emoteController.java
587b75c3d661eca185a76a99ef2882e1660c6cd0 02-Oct-2013 Eric Laurent <elaurent@google.com> am 4bf36c3e: am 8222f04e: am 0bc0f109: Merge "audioservice: always acquire wake lock as AudioService" into klp-dev

* commit '4bf36c3ecb0294c0bfac04f8d2371b64a0f2f218':
audioservice: always acquire wake lock as AudioService
06429fba90a3f5399f02a8cfd9484b11857346f9 02-Oct-2013 Lajos Molnar <lajos@google.com> am 36c4adf9: am 990615e3: am fcd61bb5: Merge "Fix MediaTimeProvider seek & time drift recovery issue" into klp-dev

* commit '36c4adf9f713602722ebd99c4b44137f6240fca7':
Fix MediaTimeProvider seek & time drift recovery issue
4c9110fcfcf1771a78716ade70f12a1fae3eb18c 02-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> am 13715943: am b4c6b241: Merge "Cache RemoteController artwork bitmap size, use it in registration" into klp-dev

* commit '13715943f24760fbeb462dd601a52af410faac20':
Cache RemoteController artwork bitmap size, use it in registration
e8e560e0610001a1295f53686c05d5887f129f5f 02-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> am db0944de: am 60e7f819: Merge "Improve RemoteControlDisplay registration" into klp-dev

* commit 'db0944de128247e7e6016982a14513b04ac5e6f1':
Improve RemoteControlDisplay registration
0bc0f109dfe935a4ede91862d1f556e7f03a8bf2 01-Oct-2013 Eric Laurent <elaurent@google.com> Merge "audioservice: always acquire wake lock as AudioService" into klp-dev
a4dfbdc54d8898491d3a7d1d9d818c7db3fd773d 01-Oct-2013 Eric Laurent <elaurent@google.com> audioservice: always acquire wake lock as AudioService

When a wake lock is aquired while executing a binder call and released
in the message handler, AppOps complains about the uid mismatch.

Clear the binder identity before acquiring the wake lock.

Bug: 10627124.
Change-Id: Ibd5babc1ae699bffde1a659562089eb091879106
udioService.java
fcd61bb5879f054126ae21521d9ff1d7c86c61e0 01-Oct-2013 Lajos Molnar <lajos@google.com> Merge "Fix MediaTimeProvider seek & time drift recovery issue" into klp-dev
b4c6b241fb96e4482dd7c29f5ec54e40aacbbd25 01-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Cache RemoteController artwork bitmap size, use it in registration" into klp-dev
60e7f8191e75b8029da72f5248d6b4480bc0beac 01-Oct-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Improve RemoteControlDisplay registration" into klp-dev
d58b122208a7ce7dacc92bd729c0cb1fe0a5056a 25-Sep-2013 Lajos Molnar <lajos@google.com> Fix MediaTimeProvider seek & time drift recovery issue

Handle MEDIA_SKIPPED event

Prevent notifyTimedEvent events (REFRESH_AND_/NOTIFY_TIME)
to eclipse NOTIFY_SEEK events.

Add automatic seek when time drifts too much. This should
not happen under normal circumstances, but is there to recover
from any unannounced media time discontinuity.

Change-Id: I8d7fdac2b0b6a9e62d2860461e6a25788e77fef8
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10954008
ediaPlayer.java
9da75524d1269bd12bea4f2873f2241a1dbd5a44 30-Sep-2013 David Friedman <dmail@google.com> am d42e4132: am 233a341b: am 1b8e3197: am 8c38ea39: Merge "Docs: Fixed wrong parameter in SoundPool file; fixed typo in security file. Bug: 10807931 10796994" into jb-mr2-docs

* commit 'd42e4132bafe1b7cf6a665b6a0ed3160fe3ac991':
Docs: Fixed wrong parameter in SoundPool file; fixed typo in security file. Bug: 10807931 10796994
acb108818969a4d68866881540ca9f86e894b096 30-Sep-2013 Lajos Molnar <lajos@google.com> am 974a6e12: Merge "Make SubtitleController thread safe" into klp-dev

* commit '974a6e1231f80644e382567c5f0a5fb9b6962d27':
Make SubtitleController thread safe
86142da1ce8c1341404a9f9e21be8acbcba69ab3 29-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Improve RemoteControlDisplay registration

When a new RemoteControlDisplay gets registered, don't cause all
existing RemoteControlDisplays to re-receive RemoteControl
information they already have.

Bug 8417073

Change-Id: Icc8e7104d6870f748fddd702692789dbaef948ac
RemoteControlClient.aidl
ediaFocusControl.java
emoteControlClient.java
8ab8c2d06185dfefb5c69e614271f684e77eef63 29-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Cache RemoteController artwork bitmap size, use it in registration

Allow an app to set the artwork configuration at any point
regardless of the registration state, and cache the width/height
values.
If the RemoteController is already registered, apply them.
If the RemoteController is not registered, use the cached value
when the object gets registered.

Bug 10862527

Change-Id: If633e2b9383e7d59690288d2271113e98b195cd8
udioManager.java
emoteController.java
d42e4132bafe1b7cf6a665b6a0ed3160fe3ac991 28-Sep-2013 David Friedman <dmail@google.com> am 233a341b: am 1b8e3197: am 8c38ea39: Merge "Docs: Fixed wrong parameter in SoundPool file; fixed typo in security file. Bug: 10807931 10796994" into jb-mr2-docs

* commit '233a341b6d9477f7f41d5a954fa7f7a150972ccb':
Docs: Fixed wrong parameter in SoundPool file; fixed typo in security file. Bug: 10807931 10796994
974a6e1231f80644e382567c5f0a5fb9b6962d27 28-Sep-2013 Lajos Molnar <lajos@google.com> Merge "Make SubtitleController thread safe" into klp-dev
29f5183794efd58a3442aedcf829e3dbcd3fd867 20-Sep-2013 Lajos Molnar <lajos@google.com> Make SubtitleController thread safe

Add the concept of an anchor looper.
Allow show/hide/selectTrack/selectDefaultTrack to be called from thread
other than anchor looper.

Change-Id: Iaf2f3d3c46d1b00a0a24156745ec16b301c80c04
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10919206
ediaPlayer.java
ubtitleController.java
233a341b6d9477f7f41d5a954fa7f7a150972ccb 27-Sep-2013 David Friedman <dmail@google.com> am 1b8e3197: am 8c38ea39: Merge "Docs: Fixed wrong parameter in SoundPool file; fixed typo in security file. Bug: 10807931 10796994" into jb-mr2-docs

* commit '1b8e319784a1bb166aaa6b0f1dc306f8d4b6e57f':
Docs: Fixed wrong parameter in SoundPool file; fixed typo in security file. Bug: 10807931 10796994
36b692d8ef595eee1e28d20b740be548365a5671 27-Sep-2013 David Friedman <dmail@google.com> Docs: Fixed wrong parameter in SoundPool file; fixed typo in security file.
Bug: 10807931 10796994

Change-Id: I8c8e07c3e8606d5983c2545fa6638af45650d27c
oundPool.java
4cce5d76df11179c663c215a0a521196c29fc0b9 26-Sep-2013 Marco Nelissen <marcone@google.com> am 6e14f9bc: am 2c702990: Merge "Fix logic in fallback ringtone handling" into klp-dev

* commit '6e14f9bc9086edf1112ea5e7f5f010251b65f926':
Fix logic in fallback ringtone handling
2c7029902961772a1531b6502e4fb45a3e6fb76f 26-Sep-2013 Marco Nelissen <marcone@google.com> Merge "Fix logic in fallback ringtone handling" into klp-dev
19a4671b10e7d07309f1d427e1d81b87d5bbca18 26-Sep-2013 Marco Nelissen <marcone@google.com> Fix logic in fallback ringtone handling

The existing code would only play a fallback ringtone if the requested
ringtone was one of the three ringtone uris that are defined by settings,
and it wasn't set to "silent".
Now it also plays the fallback for custom ringtone uris.

b/10891718

Change-Id: I79c2298c6497165e6845b98532cce0855347e50b
ingtone.java
e4b0a9a940a122a37dafd79fc3c251c450b0519d 26-Sep-2013 Alan Viverette <alanv@google.com> am 607ea331: am 812b6426: Merge "Fix caption rendering" into klp-dev

* commit '607ea331ebe6f133a7e95a0e37d4c00085646708':
Fix caption rendering
7fe420f31b4de2bbd7a89194384d0c9ac6293226 25-Sep-2013 Alan Viverette <alanv@google.com> Fix caption rendering

Fixed rendering of captions in regions and incorrect caption width
measurement. Removes minimum-difference line wrapping, since the
results weren't consistent with StaticLayout's rendering.

BUG: 10917766, 10822229
Change-Id: I55ef28cbf383fd6b945c0be62e440781288364f1
ebVttRenderer.java
8a7ae6708dcfe372aa5b498fe1c8ed374ad684b1 25-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> am 6dda4984: am 80e8a28c: Merge "Fix artwork not received in RemoteController metadata update." into klp-dev

* commit '6dda4984cf636c2804ee6c6b109bcbb69d4baa04':
Fix artwork not received in RemoteController metadata update.
80e8a28c339e88b59b681eff20d5438526d6b699 25-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix artwork not received in RemoteController metadata update." into klp-dev
9ae69e73af4368c4b48c743131c065541a8c4f66 24-Sep-2013 Lajos Molnar <lajos@google.com> am 6ce2967f: am 566d6b65: Merge "WebVttRenderer: allow BOM at beginning of a WebVTT file." into klp-dev

* commit '6ce2967fa4e9c2a8f8dab741c58c622bacb34a4c':
WebVttRenderer: allow BOM at beginning of a WebVTT file.
566d6b653466a4aed3a47b13ec03171912c48287 24-Sep-2013 Lajos Molnar <lajos@google.com> Merge "WebVttRenderer: allow BOM at beginning of a WebVTT file." into klp-dev
62719220a1aed6b8b2b14c14b287e7484549d962 24-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> am e783ffab: am bc05918c: Merge "Public API for peak and RMS monitoring through the Visualizer effect" into klp-dev

* commit 'e783ffab89dbe612a4865a1a1e1a7814522b0ef4':
Public API for peak and RMS monitoring through the Visualizer effect
30231077a771c824174da4eedecbd463bbd58d4a 24-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> am b25f2640: am e9b0dd89: Merge "Add audio level monitoring capabilities in Visualizer effect" into klp-dev

* commit 'b25f26405234f5f8e98467f4f09184990dd5a496':
Add audio level monitoring capabilities in Visualizer effect
283fe37aa20d6f5910ed1c86847c6228e151e1ff 24-Sep-2013 Lajos Molnar <lajos@google.com> WebVttRenderer: allow BOM at beginning of a WebVTT file.

This is part of the spec.

Change-Id: I61ccc259c0b9d3a2bc4273925665d107b0c89c62
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10900755
ebVttRenderer.java
6d298811ef642bc4f179ca3e9f4de028fb1ddb74 24-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Fix artwork not received in RemoteController metadata update.

Regardless of the artwork value, always update the metadata.

When updating the metadata, make sure the artwork is stored
in the artwork field, not in the bundle of the MetadataEditor.

Bug 10862527

Change-Id: Iec83fd9bb358a91c852099b30bb6d307a52a034c
emoteController.java
01b5743aee4473c3bdbcb0decde47952a4cb739d 24-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Public API for peak and RMS monitoring through the Visualizer effect

Public API to extend the capabilities of the Visualizer audio
effect with measurements of peak and RMS values.

Bug 8413913

Change-Id: Ifc6646e013ec55fde3523fab685add1d043f1272
udiofx/Visualizer.java
badca26cb218852d32862dada36ee52fce865ad2 20-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Add audio level monitoring capabilities in Visualizer effect

Extend the visualizer audio effect with the capability to query
peak and RMS values for the currently playing audio.
Values are expressed in mB and are retrieved as an array of
int values in the native layer, and written directly as
object fields for the JNI.

Bug 8413913

Change-Id: I808075a18e61f85c566544a2bdaae10e5c4a644b
udiofx/Visualizer.java
80326646b79538178c3115a4bf2d89b9616c50be 19-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> am 58910a74: am 1608f496: Merge "Public API for RemoteController" into klp-dev

* commit '58910a746ebf915264b87536ab25148a94714ca2':
Public API for RemoteController
1608f496a34c001ac3836fb77d8aefdb114e82dc 19-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Public API for RemoteController" into klp-dev
a83487e8c618f3c267c3fe3a72d4eb9f1388d07e 18-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Public API for RemoteController

Public API, under system|signature permission for access to
currently playing metadata and playback state.
Public API for sending media key events.

Bug 8209392

Change-Id: I39b9309ca3fb1bc305492bad98740df0ae0842b2
udioManager.java
ediaFocusControl.java
emoteController.java
44ed75219137404474e177bca77b0c5ac6e10622 18-Sep-2013 Zhijun He <zhijunhe@google.com> am 30ba38ac: am bf143ff1: Merge "ImageReader: disable NV21 support" into klp-dev

* commit '30ba38ac783dfaa5b784fef9450a173abc6710f3':
ImageReader: disable NV21 support
bf143ff1955f9ec70fd9435240e3505c5df4804d 18-Sep-2013 Zhijun He <zhijunhe@google.com> Merge "ImageReader: disable NV21 support" into klp-dev
4eda9f5359347c11914e47f477535c9533674d32 18-Sep-2013 Zhijun He <zhijunhe@google.com> ImageReader: disable NV21 support

Bug: 10787131
Change-Id: I5ff0a67144b5ec49eabde6129423a41c9597c2b8
mageReader.java
161f7c9be8180d4f71d48fafb65693a4fb7905bf 18-Sep-2013 Lajos Molnar <lajos@google.com> am 0fe0fe95: am b8462457: Merge "Misc. media API changes" into klp-dev

* commit '0fe0fe95015040f4b413bfad8c32e125e8d824d0':
Misc. media API changes
b84624571ba2d0431dda8fd7cd45ae995630dd17 18-Sep-2013 Lajos Molnar <lajos@google.com> Merge "Misc. media API changes" into klp-dev
370da09782dad62a5566dc012ddb2158325ccba5 18-Sep-2013 Lajos Molnar <lajos@google.com> am e3d75c9d: am e23ce3b1: Merge "Add CaptioningManager listener Subtitle support." into klp-dev

* commit 'e3d75c9dc8d45f3a1f16601e6d20a2fe10d5d479':
Add CaptioningManager listener Subtitle support.
e23ce3b1fccd605ab696c120f86bd3912651731c 18-Sep-2013 Lajos Molnar <lajos@google.com> Merge "Add CaptioningManager listener Subtitle support." into klp-dev
0741bdefef665e388b0013a8cfbb1cc504a36bbc 18-Sep-2013 Jesse Hall <jessehall@google.com> am 1f9b4861: am 11c92012: Merge "Fix ImageReader onImageAvailable synchronization" into klp-dev

* commit '1f9b486142408bcdd24d31d6f4a3b2fc96aa6f64':
Fix ImageReader onImageAvailable synchronization
11c920124021bd9b21eac4885486e21a45f681e7 18-Sep-2013 Jesse Hall <jessehall@google.com> Merge "Fix ImageReader onImageAvailable synchronization" into klp-dev
14517e6978e16dc70f2b5da01a421f37baf88cfe 18-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> am d9250563: am f841d701: Fix javadoc in RemoteControlClient and MediaMetadataEditor

* commit 'd925056344ca2bd8e3418aefe68774893802f10f':
Fix javadoc in RemoteControlClient and MediaMetadataEditor
cac8a1c08ce5c07e5d5a4ab4314fa46ddf52c983 18-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> am f54f7d70: am 15bcc323: Merge "RemoteController class to expose IRemoteControlDisplay features" into klp-dev

* commit 'f54f7d707546a99ffc5345591f2c9488e6149e84':
RemoteController class to expose IRemoteControlDisplay features
f841d70155c991b6cf728dd41e6d37e051be453d 18-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Fix javadoc in RemoteControlClient and MediaMetadataEditor

Change-Id: Ibd333d9cb47e74c4ca1d8ec7bd950224d81783b0
ediaMetadataEditor.java
emoteControlClient.java
8a39021dfaf401cabb7f46b83d936ed88bf209d9 18-Sep-2013 Lajos Molnar <lajos@google.com> Misc. media API changes

- MediaCodec.setParameter signature to take android.os.Bundle
- PARAMETER_KEY_VIDEO_BITRATE value
- comments for MediaFormat.KEY_LANGUAGE and createSubtitleFormat

Change-Id: I092e9830cb21df08b331854cbd28c758db06bc10
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10461617
ediaCodec.java
ediaFormat.java
7ddd226e7c6e759feaf2747a90be1cc06acf37a3 02-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> RemoteController class to expose IRemoteControlDisplay features

Wrap all the features of IRemoteControlDisplay.aidl in a
new class, RemoteController, that implements the
IRemoteControlDisplay interface.

The API functions to expose in the SDK are tagged with
"CANDIDATE FOR API"

Bug 8209392

Change-Id: I597bcd503ac93e73889c9ae8b47b16c4fcb363bc
udioManager.java
udioService.java
AudioService.aidl
ediaFocusControl.java
ating.java
emoteControlClient.java
emoteController.java
c395fffd901f5670bc2cb41a91af7ad87c39790e 17-Sep-2013 Jesse Hall <jessehall@google.com> Fix ImageReader onImageAvailable synchronization

This avoids a race where close() can return while there are still
onImageAvailable callbacks pending.

Bug: 10666923
Change-Id: Ic519b68f3132ceb7f95a9a42ebd1032c1638fbf5
mageReader.java
9c1109fa0759f3d89c3fcbdc6185ccb56edd101a 18-Sep-2013 Matthew Xie <mattx@google.com> am 1d47f003: am c9d1d5f3: Adjust absolute volume only when the device is streaming music

* commit '1d47f0033b8d46ec476c9e5985f6ce913d4a63aa':
Adjust absolute volume only when the device is streaming music
c9d1d5f35091226e96fcfa91817480f589eb36e2 12-Sep-2013 Matthew Xie <mattx@google.com> Adjust absolute volume only when the device is streaming music

The device has to be A2DP device
Remove AudioManager#avrcpUpdateVolume
bug 10681804

Change-Id: I2bc85e48fdff374638b984af593c6f1c4ddd3ee6
udioManager.java
udioService.java
AudioService.aidl
d5ed25f805513a723b174be904af99e9a85597c5 18-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> am 144835ae: am f03ceff2: Merge "Revise new public API for ratings in RemoteControlClient" into klp-dev

* commit '144835aef8045039ea303bd7d7f03114aea21935':
Revise new public API for ratings in RemoteControlClient
f03ceff2f506133a238848c2f5db4322285cc2b7 18-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Revise new public API for ratings in RemoteControlClient" into klp-dev
88183e67d4628e8c8a3310af0076b6f33f955cb2 07-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Revise new public API for ratings in RemoteControlClient

Refactor RemoteControlClient.MetadataEditor to move functionality
in new abstract class MediaMetadataEditor, so it can be also
used on the "display" side of the RemoteControl functionality.
Compatibility of these changes has been tested against
existing Play applications which use the RemoteControlClient API.

Move the new constants and method definitions related to the
ratings feature to MediaMetadataEditor. This changes the
yet-to-be-published ratings API, so this doesn't break
compatibility.
Rating feature is handled by the new Rating class with a set
of constructors that handle the different rating models.

Bug 8440498

Change-Id: I9b6dc2204bfc48594bad5cd6449d357f8a485da0
RemoteControlClient.aidl
ediaFocusControl.java
ediaMetadataEditor.java
ating.aidl
ating.java
emoteControlClient.java
d486f9656a6f9d6c056d84fce39f3db8d1614e1d 12-Sep-2013 Lajos Molnar <lajos@google.com> Add CaptioningManager listener Subtitle support.

Update default track selection based on settings change.
Implement HLS track selection scheme.
This requires synchronization for subtitletrack and controller.

Change-Id: I8295956d264ab2016a83957ace37d9d7b1acde4c
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
ediaFormat.java
ediaPlayer.java
ubtitleController.java
ubtitleTrack.java
cb49d18c2778b07f760d04f94d26644bd909047e 17-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> am eded3b50: am 2a07bde6: Merge "Public API for LoudnessEnhancer audio effect" into klp-dev

* commit 'eded3b50d7f5a334e138338fbeac508fb0c7b679':
Public API for LoudnessEnhancer audio effect
c3c0b9921fc35472c2cae5ddcd0248f364495965 15-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Public API for LoudnessEnhancer audio effect

Follows the API style of the other audio effects

Bug 8413913

Change-Id: I1ee21b0af7d9fc565d9cdacd006684577eeb7b21
udiofx/LoudnessEnhancer.java
4d567f538d40b0022c4f24821826cedaea6adbd4 17-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> am 49e12b69: am 3fb53d82: Merge "Loudness enhancer audio effect" into klp-dev

* commit '49e12b699df1a132445640afd1403b47dc5b4bee':
Loudness enhancer audio effect
3fb53d8238c0ccec275237cf4f4962f2a00eab7e 17-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Loudness enhancer audio effect" into klp-dev
8f64e3cd42730e0961a9c4d68f3ab49ffabdf649 16-Sep-2013 Igor Murashkin <iam@google.com> am 14297141: am 5cf86aa7: Merge "media: Update ImageReader to remove MaxImagesAcquiredException" into klp-dev

* commit '142971418c8e9ca539dae40f3c2532956f258e6b':
media: Update ImageReader to remove MaxImagesAcquiredException
5cf86aa7564eff8443158644e866a420d865b1bc 16-Sep-2013 Igor Murashkin <iam@google.com> Merge "media: Update ImageReader to remove MaxImagesAcquiredException" into klp-dev
5454e3ddcc0c64dd894dfd25e38226a8bef62f7a 16-Sep-2013 Igor Murashkin <iam@google.com> am 720b1fce: am 26cb5fd5: Merge "media: Update ImageReader APIs" into klp-dev

* commit '720b1fcecd6c21bf4fbe6d3822e52c8a092b93c4':
media: Update ImageReader APIs
26cb5fd5fffb2204ec12994cacb3b32639eb4d59 16-Sep-2013 Igor Murashkin <iam@google.com> Merge "media: Update ImageReader APIs" into klp-dev
d69e4e14226258fd103d0b9c1c5b4d8529e6a3ec 09-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Loudness enhancer audio effect

LoudnessEnhancer as android.media.AudioEffect subclass

Define UUID for loudness enhancer effect

Bug 8413913

Change-Id: If0ae6023f77ccf3aafbb55f2b3135b2ea1bb8365
udiofx/AudioEffect.java
udiofx/LoudnessEnhancer.java
e3351f1942bfe86682389b278e7ff128a72ea671 13-Sep-2013 Igor Murashkin <iam@google.com> media: Update ImageReader to remove MaxImagesAcquiredException

* acquiring images now throws IllegalStateException instead of
MaxImagesAcquiredException

Bug: 10691447
Change-Id: I7ce68f990fb96703705b9181012a28633fea0b7a
mage.java
mageReader.java
d17e719da0914aaee0bf6b21e92f4f3e4a4e8293 14-Sep-2013 Alan Viverette <alanv@google.com> Merge "Clean up layout constructors, make them consistent"
62642e1b8e0f109031714cbbda41ebc305eede53 14-Sep-2013 Jeff Tinker <jtinker@google.com> am 3b3b2efb: am fff175ae: Merge "Part of corrections from KLP API Review: Media" into klp-dev

* commit '3b3b2efb077b56f65a9c48c95f8dfab9af5ec531':
Part of corrections from KLP API Review: Media
fff175aedc86a176fb6ceafe00fe5a26adc5d909 14-Sep-2013 Jeff Tinker <jtinker@google.com> Merge "Part of corrections from KLP API Review: Media" into klp-dev
b6f0f962d9062ea136218f463f1105aa0076704a 14-Sep-2013 Jeff Tinker <jtinker@google.com> Part of corrections from KLP API Review: Media

b/10461617

Change-Id: Ic2e102c39428f7cef2923d00a67aec8c77cd108e
ediaCodec.java
4e8f5e3f786e5093d34941fb611bc95463b0451d 13-Sep-2013 Lajos Molnar <lajos@google.com> am 6118745b: am ab62870c: Merge "MediaFormat: add getInteger with default value convenience method" into klp-dev

* commit '6118745be53fed977edf1b29a2b0ecd2222e33a8':
MediaFormat: add getInteger with default value convenience method
fb73df74d56205e2c64e57324be8f8643781c330 13-Sep-2013 Lajos Molnar <lajos@google.com> am 736469ad: am 8c16943e: Merge "Fix CalledFromWrongThreadException in MediaPlayer\'s subtitle support" into klp-dev

* commit '736469ad5d9b21071d187a07e8f2575910960b7d':
Fix CalledFromWrongThreadException in MediaPlayer's subtitle support
5e712064dfe48992f8f732208fa4fc13f3455b30 30-Aug-2013 Igor Murashkin <iam@google.com> media: Update ImageReader APIs

Bug: 10461757
Change-Id: Ic04e4c41965e3d417b29004f3f08e0cd56b8f4cb
mage.java
mageReader.java
24390c11b23f83c4737c590c2beaef935469b35d 12-Sep-2013 Lajos Molnar <lajos@google.com> MediaFormat: add getInteger with default value convenience method

Change-Id: I58947a2f4a286fef74f74cb189469278056d4759
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
ediaFormat.java
9d480895956632ab388c7ee62d9f902910a198fb 12-Sep-2013 Lajos Molnar <lajos@google.com> Fix CalledFromWrongThreadException in MediaPlayer's subtitle support

Call selectTrack/setSubtitleWidget only from MP's looper or the
applications's event thread, which is the same for now (we only
support subtitles in VideoView.)

Change-Id: Ic1de923b801f28657f37e0330b95c321931a6960
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10691837
Bug: 10326117
ediaPlayer.java
c4eae8ec47b55426c8bb6b563b18be408b03b8c2 12-Sep-2013 Lajos Molnar <lajos@google.com> am 5481e5fe: am 03cd51cd: Merge "MediaFormat.java: Add KEY_MAX_WIDTH and KEY_MAX_HEIGHT" into klp-dev

* commit '5481e5fe30e3708f8a7a9ea8a1dabfa4ae050370':
MediaFormat.java: Add KEY_MAX_WIDTH and KEY_MAX_HEIGHT
835b5f344ba63a6c0ac9c8a7cc40052134d59b8c 12-Sep-2013 Eric Laurent <elaurent@google.com> am e33b79ef: am 95a18139: Merge "Add HOTWORD as an AudioSource" into klp-dev

* commit 'e33b79ef373fd3db9de035b5ecf2137a0684a441':
Add HOTWORD as an AudioSource
0b8dd03313e6fcbf2b785167bdd6bf029e0aba6c 12-Sep-2013 Chong Zhang <chz@google.com> am 1c6835a2: am bcb97996: Merge "Pass subtitle track properties to SubtitleController" into klp-dev

* commit '1c6835a28a03409eb6f3368b2466993fb993c7a6':
Pass subtitle track properties to SubtitleController
03cd51cd17989b4167b357b36fe337b75e2cafd6 12-Sep-2013 Lajos Molnar <lajos@google.com> Merge "MediaFormat.java: Add KEY_MAX_WIDTH and KEY_MAX_HEIGHT" into klp-dev
95a181397dad3113b96e3cc7392a5b0f5d742f39 12-Sep-2013 Eric Laurent <elaurent@google.com> Merge "Add HOTWORD as an AudioSource" into klp-dev
8d717b917cfe0b7d47743e2c80fd22131048ef3a 12-Sep-2013 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 03422d26 to master

Change-Id: I5d012fb122224c949a0039450bf0a9a475dc8e82
f8ca13b7a09f6262f13f0301abed0ecde5175c9a 11-Sep-2013 Chong Zhang <chz@google.com> Pass subtitle track properties to SubtitleController

Bug: 10326117
Change-Id: I387406adf3e1bd835b031dd5fbd2e1cdeaf2fe87
ediaFormat.java
ediaPlayer.java
95d785346b4dae808a2d8f77356175e55a572d96 11-Sep-2013 Dianne Hackborn <hackbod@google.com> Fix issue #10688644: Java crash in com.android.phone:

java.lang.SecurityException: Operation not allowed

There was a situation I wasn't taking into account -- components
declared by the system has a special ability to run in the processes
of other uids. This means that if that code loaded into another
process tries to do anything needing an app op verification, it will
fail, because it will say it is calling as the system package name but
it is not actually coming from the system uid.

To fix this, we add a new Context.getOpPackageName() to go along-side
getBasePackageName(). This is a special call for use by all app ops
verification, which will be initialized with either the base package
name, the actual package name, or now the default package name of the
process if we are creating a context for system code being loaded into
a non-system process.

I had to update all of the code doing app ops checks to switch to this
method to get the calling package name.

Also improve the security exception throw to have a more descriptive
error message.

Change-Id: Ic04f77b3938585b02fccabbc12d2f0dc62b9ef25
udioManager.java
357263da0ec2bc2be9d48c1becc3d94288c2f3ed 09-Sep-2013 Eric Laurent <elaurent@google.com> Add HOTWORD as an AudioSource

- This is a low-priority source that can be preempted by others
- This is required for scenarios where someone wants an alway-on
graceful microphone

Bug: 10640877.

Change-Id: Idb3577541103717cb713a7a93d3762ad2c2f4710
udioManager.java
udioRecord.java
ediaRecorder.java
d6479ec5eec13914f656f6be996d95fe1610fd57 11-Sep-2013 Alan Viverette <alanv@google.com> Clean up layout constructors, make them consistent

All constructors now flow through to each class's own 4-argument
constructor. This ensures that theme attributes are applied even
if a base AttributeSet is not provided.

BUG: 10680863
Change-Id: I727d2961bf017c6a5e0206367081670782583394
ebVttRenderer.java
b87857b50b46d7348a7f563541ffa9f416e5ae27 10-Sep-2013 Zhijun He <zhijunhe@google.com> am 487a8fc9: am 82d11f8e: Merge "MediaMuxer: Add setLocation API" into klp-dev

* commit '487a8fc9d487a68159c57b4de896ba7be88f1c2b':
MediaMuxer: Add setLocation API
82d11f8e94e38e434cb6bc5e3e8d87250956fa1c 10-Sep-2013 Zhijun He <zhijunhe@google.com> Merge "MediaMuxer: Add setLocation API" into klp-dev
83fa7d08c59c63511e8de4c12b8a89e69fcf06b8 10-Sep-2013 Glenn Kasten <gkasten@google.com> am 10779b12: am d9f4e0cf: Merge "AudioTrack.getTimestamp() return type is now boolean" into klp-dev

* commit '10779b12eec870f428345d192f200dd0a7ad40bc':
AudioTrack.getTimestamp() return type is now boolean
d9f4e0cf2c2466d9e05f8562e55d342934f7ed0d 10-Sep-2013 Glenn Kasten <gkasten@google.com> Merge "AudioTrack.getTimestamp() return type is now boolean" into klp-dev
cfd47481d1b375663d4e8e8d0c292d9001aa384b 10-Sep-2013 Zhijun He <zhijunhe@google.com> MediaMuxer: Add setLocation API

This API could be used for camera recording when MediaMuxer is used to write
output media file.

Bug: 10594784
Change-Id: Ide2d6e1d87b246100a5def49bfb8646dc984a512
ediaMuxer.java
617feb99a06e7ffb3894e86a286bf30e085f321a 10-Sep-2013 Alan Viverette <alanv@google.com> Add View constructor that supplies a default style resource

Also updates the constructor of every class that extends View.

BUG: 10676369
Change-Id: Ifaf27bf82028d180afa4931c0e906df88d858ac3
ebVttRenderer.java
596fb8e7969cafdf7f25dfdc97372be4c0950cc3 09-Sep-2013 Glenn Kasten <gkasten@google.com> AudioTrack.getTimestamp() return type is now boolean

Change-Id: Ie231652dc0959343f0726dcb985b6715bfe014f6
udioTrack.java
013634cc44d62fe90cd3e80a7530cffdc79f9715 09-Sep-2013 Alan Viverette <alanv@google.com> Merge "Add WebVTT caption renderer" into klp-dev
5e8f278f083f6a75cb6d1b09671c335156f93d1b 04-Sep-2013 Glenn Kasten <gkasten@google.com> Unhide AudioTimestamp and getTimestamp

Change-Id: I56687f42f83c4be7dc3fd1baa81a13e71113f22e
udioTimestamp.java
udioTrack.java
d43daf361e993457e64eeeddab6d1a0ebc828c99 06-Sep-2013 Alan Viverette <alanv@google.com> Add WebVTT caption renderer

Currently missing support for region anchor points, robust layout
when snapping to lines, and vertical text.

BUG: 10260603
Change-Id: I3463b4aa0039442159144e66922d67f5dfee58ed
ubtitleController.java
ubtitleTrack.java
ebVttRenderer.java
9a4575c31411524f5037f78666cdb648a07a5682 09-May-2013 Lajos Molnar <lajos@google.com> MediaFormat.java: Add KEY_MAX_WIDTH and KEY_MAX_HEIGHT

KEY_MAX_WIDTH and KEY_MAX_HEIGHT are optional video decoder
format keys. Specify both to request seamless resolution-
change support from video decoders that support this feature.
You can check this via CodecCapabilities.isFeatureSupported.

The codecs use the MAX_WIDTH/HEIGHT values as hints for the
range of resolutions that needs to be supported. Note,
however, that some codecs may require more memory just by
_preparing_ for larger maximum resolutions, whether or not
that resolution is actually used.

Change-Id: I00fe986ef894fec4bb39bceed081da0e88725d59
Signed-off-by: Lajos Molnar <lajos@google.com>
Related-to-bug: 7093648
ediaFormat.java
a67a4439cacdaa04cb53566b77053694b26d06ad 06-Sep-2013 Lajos Molnar <lajos@google.com> MediaPlayer.MTP: fix issue when main thread had no looper

We fall back to using the application's main looper similarly to MP,
and even create our own looper if MP was created outside of an
application context. Always creating our own looper is a waste
of resources.

Also resolved issue with MP.reset() when created outside of an
application context, and removed MP.MTP's unused getHandler().

Change-Id: I9c3b8a2f05a9e231ae9c008bc1a48d6b991cec1d
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10634238
ediaPlayer.java
04c58e9ec12c65c15738ba456f18a1f36416b0cc 05-Sep-2013 Glenn Kasten <gkasten@google.com> Merge "Java API for AudioTrack timestamps" into klp-dev
948c2e6ff46d65942277f2e0e9ce0c038972b9d8 04-Sep-2013 Glenn Kasten <gkasten@google.com> Java API for AudioTrack timestamps

This change adds android.media.AudioTimestamp and
android.media.AudioTrack.getTimestamp, with implementation, but hidden.

Change-Id: Ic314f04ff775baca05c57d19b5ea91133dbd0be1
udioTimestamp.java
udioTrack.java
171c63db9253e77c2bd11c53eb89b7c3c983669f 04-Sep-2013 Lajos Molnar <lajos@google.com> Merge "Add subtitle support to VideoView." into klp-dev
2a59f3f24076d96cbb10e1c00c3264dec43f19b1 04-Sep-2013 Lajos Molnar <lajos@google.com> Merge "Internal WebVtt subtitle support" into klp-dev
76935a5890ed8dd9d47f76f7593cc1c14c3844db 16-Aug-2013 Lajos Molnar <lajos@google.com> Internal WebVtt subtitle support

Change-Id: Ia55673a68a99c277dd6e3246e6f1913c8eb476d8
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
ebVttRenderer.java
4958c9d616e9f21750559d097fad66ea7bb79420 04-Sep-2013 Lajos Molnar <lajos@google.com> Merge "Add MediaTimeProvider to MediaPlayer" into klp-dev
295659002ae490481798a16e39b5f88e80a8151e 04-Sep-2013 Ben Murdoch <benm@google.com> Fix the build.

Fix javadoc typo.

Change-Id: I3e5f8f43650ce7b0958512bacc36e0ee744efa40
ediaTimeProvider.java
484ff7a92298eaeb5e7edc39895b3a26bed704b3 15-Aug-2013 Lajos Molnar <lajos@google.com> Add subtitle support to VideoView.

Change-Id: Ibfde491a624272c4f9733098529ad70c6aa93fe0
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
ediaPlayer.java
87399fc21b642688a690be5869f14a7ba020afdb 04-Sep-2013 Lajos Molnar <lajos@google.com> SubtitleController: update to new CaptioningManager APIs

This resolves the build issue.

Change-Id: I4db018c1abd9677ceb6d355921e4f7fa4be3b037
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
ubtitleController.java
3d99856f80ca23ce4e10bb3efcf7cefc65ff7337 16-Aug-2013 Lajos Molnar <lajos@google.com> Add MediaTimeProvider to MediaPlayer

Change-Id: Ie56331ef4eb4bdffa606598f241edb1cb2c2e2dc
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
ediaPlayer.java
03c25794b66b0d01e0e850042713f8009c787dc2 16-Aug-2013 Lajos Molnar <lajos@google.com> Internal subtitle base support

Change-Id: I3fc57d6280773dc24f4822be21c9497ae70f7374
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
ediaTimeProvider.java
ubtitleController.java
ubtitleTrack.java
a861245f06e854d47ff44155ebd3ac0e31c0cb2c 04-Sep-2013 Lajos Molnar <lajos@google.com> Merge "VideoView: add addSubtitleSource" into klp-dev
4a5931e2ae3ce0e117dcdbbb47e9aaa5ce4a35dc 03-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Public API for RemoteControlClient ratings and editable metadata" into klp-dev
af309824350d6b2fd38e19ef9104211e5ba132e8 16-Aug-2013 Lajos Molnar <lajos@google.com> VideoView: add addSubtitleSource

A way to add external subtitle file to VideoView.

Change-Id: Ic110238408550a5b4088851bc5da5e94eb58d831
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
ediaPlayer.java
b23cd118ce3339589fffd40ecf1aa9c5816b3438 27-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> Public API for RemoteControlClient ratings and editable metadata

A rating for RemoteControlClient content is:
- a value between 0 and 100
- or a value indicating there is no rating
For a same piece of content, a rating can come from:
- the user
- "others" (i.e. not the user), to provide an average rating
Rating styles are:
- heart (a toggle)
- thumb up / down
- stars (with a configurable maximum number of stars)

For editable metadata, add:
- methods to control which keys can be edited,
- interface for an application to receive new values for a key.

Rating by user is editable metadata.

Bug 8440498

Change-Id: Ia9f61e750772658051cea1ac7c316187717f0f58
emoteControlClient.java
ee9d44384239fff3d61cd4dd27f9daefb8a7103a 28-Aug-2013 Marco Nelissen <marcone@google.com> Merge "Use explicit intent for MediaScannerConnection" into klp-dev
e2a11bb74df06bb48a0d71b8cf78cc469b53931b 28-Aug-2013 Zhijun He <zhijunhe@google.com> ImageReader: Fix null listener case

Only do the handler check when listener is not null.

Bug: 10360518
Change-Id: I9940942ae95a492c92e028e5f862beea16e1da80
mageReader.java
22e3eb64bfb97a32c31be3cb4641b92ecb8400ac 26-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> "Year" is an authorized metadate long field.

MediaMetadataRetriever.METADATA_KEY_YEAR is listed as one of the
supported long fields but is not declared in the list of authorized
long keys.

Change-Id: If277f0c300e2bfed10472e23a2eeba08bfa6ed33
emoteControlClient.java
5de1faca166e2241cf9ad1981007caa947a1fc1b 24-Aug-2013 Chong Zhang <chz@google.com> Merge "wifi-display: add certification options" into klp-dev
365768fd3533343d6631875d7d46882907f7ab09 24-Aug-2013 Jeff Sharkey <jsharkey@android.com> Merge "Return EXIF thumbnails when available." into klp-dev
1f3ecaae6303d5ee6c5ca8499262c9962f036365 04-May-2013 Chong Zhang <chz@google.com> wifi-display: add certification options

When certification mode is enabled:

- Pass wfd session info to wifi display settings

- Allow sink to connect to source

- Add interface in display manager for pausing/resuming session

- Add interface in WifiP2pManager for setting lc, oc and starting
autonomous GO

Note that we're compliant regardless of certification mode, but
some confusing options (eg. allowing incoming connection from
sink) we want to hide when not being tested.

Bug: 9371882
Change-Id: Icc7dcae4e046453796cfa03f5f197055fabf234b
emoteDisplay.java
6398343e83b3fd11dd6536cf6f390a52c1e19d2e 21-Aug-2013 Jeff Sharkey <jsharkey@android.com> Return EXIF thumbnails when available.

Adds new ExifInterface method to extract the thumbnail range from
a larger image file, and use that to return an AssetFileDescriptor.

When decoding an AssetFileDescriptor thumbnail with offsets, read out
the raw data entirely, since Skia uses lseek() aggressively.

Bug: 10412208
Change-Id: I7906cdf82c0c3794cec7043c801a86f66efeb143
xifInterface.java
af753a2dfc66c92bfcac64b77c7a4d89d9434ad8 23-Aug-2013 Zhijun He <zhijunhe@google.com> ImageReader: Fix API doc table misalignment issue

Also cleanup unused macro in ImageReader.

Bug: 10360518
Change-Id: I2332703c92df771a6339ff92069e92d50a6c5cd5
mage.java
76cf8fe75e7c1abce9383fb915842f62228a1d91 23-Aug-2013 Jeff Tinker <jtinker@google.com> Merge "Add ability to test supported content types to MediaDrm" into klp-dev
f7bcf1951c598604d312600d1efe5734646dc5a4 22-Aug-2013 Marco Nelissen <marcone@google.com> Use explicit intent for MediaScannerConnection

b/10278751

Change-Id: I3fbc2b935a4fe6ec449c4bbf79400d4b48e613f7
ediaScannerConnection.java
198bc229c37fc65c7b61f1452345fb1da9c385b6 22-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Ratings for RemoteControl" into klp-dev
f823fc4dba2df5cf5f00e13361f2db93c81f6961 20-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> Ratings for RemoteControl

Add support for metadata of a RemoteControlClient that can be
updated:
- methods to control which keys can be edited,
- interface for an application to receive new values for a key.

Add definitions for ratings.
A rating is:
- a value between 0 and 100
- or a value indicating there is no rating
For a same piece of content, a rating can come from:
- the user
- "others" (i.e. not the user), to provide an average rating
Rating styles are:
- heart (a toggle)
- thumb up / down
- stars (with a configurable maximum number of stars)

Rating by user is editable metadata.

Bug 8440498

Change-Id: I1d45972f9ace4cb505ee0757e917f1d5dedd264e
udioManager.java
udioService.java
AudioService.aidl
RemoteControlClient.aidl
ediaFocusControl.java
emoteControlClient.java
7cda491321b9bd2e8faf956824312ea6a30e6457 21-Aug-2013 Jeff Tinker <jtinker@google.com> Add ability to test supported content types to MediaDrm

bug: 10244066
Change-Id: Ic96c2e23f36809faf1c88ede500f4bc2bad4142a
ediaDrm.java
7337bee7839238f244fad31112a45389f6ef907c 01-Mar-2013 Johan Gustavsson <johan1.gustavsson.x@sonymobile.com> Updating Force Use toggling for Communication use case

setForceUse toggling is shaky when toggling either through
setSpeakerphoneOn and setBluetoothScoOn. Depending on call sequence
an application may unintentionally trigger a routing use case it
does not want.
The main root cause is that neither of these calls take the
previous state into account. A call to setSpeakerPhoneOn will for
example partly disable any active BT SCO routing.

Change-Id: I436ee5a8da2d9ea5a2e4e89eec083c8118a5ff7e
udioService.java
ea18a8db653a0846187aba6116936b3738fa3f33 20-Aug-2013 Chong Zhang <chz@google.com> Merge "MediaPlayer: add listener for subtitle data" into klp-dev
a3132d975b218b3d973711ebf347da3c433a9afb 20-Aug-2013 Chong Zhang <chz@google.com> Merge "MediaPlayer.TrackInfo: add getFormat() method" into klp-dev
dfb881f96af7898151940a4bbc52e45e6043d38b 18-Jul-2013 Eric Laurent <elaurent@google.com> AudioSystem: new audioflinger restart detection

Add a specific method to AudioSystem for AudioService to poll
for AudioFlinger service restart instead of relying on current
callback mechanism which is flaky.

Bug: 9693068.
Change-Id: Id21d142a22b257205700201978cce1cb8b15180d
udioService.java
udioSystem.java
194c140c34d9f4874c64839c2e20ef61f41cbb97 20-Aug-2013 Jeff Brown <jeffbrown@google.com> Merge changes Id3815fe8,I90a85921 into klp-dev

* changes:
Define AudioSource.REMOTE_SUBMIX.
Remove setRemoteSubmixOn method.
64dfb604e70b70b7c346768114e05ddfadc09add 16-Aug-2013 Jeff Brown <jeffbrown@google.com> Define AudioSource.REMOTE_SUBMIX.

Add an API to allow applications to record from the remote
submix when they have the required permissions.

Bug: 10265163
Change-Id: Id3815fe82a6713e058ce4b8ab6128a898481df7e
ediaRecorder.java
e79ba1545323f067bbd22d1e89ed329f7ec1d011 19-Aug-2013 Andreas Huber <andih@google.com> Merge "Expose KEY_REPEAT_PREVIOUS_FRAME_AFTER and KEY_PUSH_BLANK_BUFFERS_ON_STOP" into klp-dev
f855a2ff01b270c06977f64f4a002f3f1c7769ca 18-Aug-2013 Matthew Xie <mattx@google.com> Merge "Adding support for Absolute Volume" into klp-dev
f15ef4b02cf2e4298a6eca9709693f1e720c18c6 10-Aug-2013 Jeff Brown <jeffbrown@google.com> Remove setRemoteSubmixOn method.

The submix will be controlled automatically from now on based on
whether there is an active audio recorder.

Bug: 10265163
Change-Id: I90a8592136c6507680e70f054243df70cc82efad
udioManager.java
udioService.java
AudioService.aidl
83ddaf664c7a9eb2759269ec75d25dba48edebf2 06-Aug-2013 Chong Zhang <chz@google.com> MediaPlayer: add listener for subtitle data

Bug: 10326117

Change-Id: I8fbd54df70e37a061c7c875743ded09f1922ef8f
ediaPlayer.java
ubtitleData.java
aa973d1d0b62f1645318b9c9da9212b0bc54246d 16-Aug-2013 Igor Murashkin <iam@google.com> Merge "media: Fix ImageReader only using maxImages=1 no matter what" into klp-dev
5a0cf7a27f3953a1266af48543ccd9024f4cd89f 19-Jul-2013 John Du <johnldu@google.com> Adding support for Absolute Volume

Change-Id: I7bbc6f9296221ca219a50a5e377ebac9dcf5a407
udioManager.java
udioService.java
AudioService.aidl
dd0643202de80cc4ced37d1844e722c8a5e89154 15-Aug-2013 Igor Murashkin <iam@google.com> media: Fix ImageReader only using maxImages=1 no matter what

- No longer return null when some bad error happens
- Throws OutOfResourcesException when images need to be closed
- Throws IllegalStateException when an unknown internal error happens

Bug: 10333400
Change-Id: Ia53a5dd33f9ce53abd036e080e6fcc4ded9b251d
mageReader.java
1c56a67dbbade39b1d88738a49fd31b4f97df0ab 15-Aug-2013 Lajos Molnar <lajos@google.com> MediaPlayer.TrackInfo: add getFormat() method

This returns the MediaFormat of the track or null (for now).

Change-Id: Ib88fc229b661942b2ed136204fdc43da427d7aed
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
ediaPlayer.java
dc775c66bf52d998e6cc37a0ba1ec3b12607fac4 15-Aug-2013 Lajos Molnar <lajos@google.com> MediaFormat: added subtitle format

Added KEY_LANGUAGE that for now only refers to subtitles.
Added createSubtitleFormat() method to create base format.

Signed-off-by: Lajos Molnar <lajos@google.com>
Change-Id: I344c36a3fd0d88c285cdebf3f67e549553b37a8e
Bug: 10326117
ediaFormat.java
8f4d43c3c4c419d5a652f81c5e01554f61d4caf2 14-Aug-2013 Andreas Huber <andih@google.com> Expose KEY_REPEAT_PREVIOUS_FRAME_AFTER and KEY_PUSH_BLANK_BUFFERS_ON_STOP

MediaFormat keys.

Change-Id: I37ec076f0b1f0aea9a460c9dc1751f1160860df9
ediaFormat.java
ca2fb9158e104ac88c8014e1273fd4554e1acd23 14-Aug-2013 Andreas Huber <andih@google.com> Merge "Expose MediaCodec.setParameters API to" into klp-dev
80c4437ebfe3e679267a64e4c9d7bdd585b7afce 10-May-2013 Lajos Molnar <lajos@google.com> MediaCodecInfo.java: Added isFeatureSupported method to CodecCapabilities

Added isFeatureSupported method to CodecCapabilities, so that applications
can query whether codecs support various features. For now
added one video-decoder feature:

FEATURE_AdaptivePlayback

Media playback applications can query it to see if the codec
supports seamless resolution changes during decoding.

Change-Id: I56b2cf1429f39f9b9e0243a990c95e7a64dd7ff7
Signed-off-by: Lajos Molnar <lajos@google.com>
Related-to-bug: 7093648
ediaCodecInfo.java
226065bbe60cf32b33a5f86d27e2db88138e4486 12-Aug-2013 Andreas Huber <andih@google.com> Expose MediaCodec.setParameters API to

- change video target bitrate on the fly
- request sync frames
- temporarily suspend feeding input buffers to the encoder

Change-Id: If5cf1162b2eeb28ac08288ecfa9f0e9823dd972e
ediaCodec.java
d840526196108956c9e62e880b3f749cec11a5ec 07-Aug-2013 Glenn Kasten <gkasten@google.com> Merge "Update audio comments"
8f6c998cfb98ee6dbaac52bed5081be44df99d00 07-Aug-2013 Jeff Tinker <jtinker@google.com> Merge "Define error codes for MediaCodec.CryptoException"
86fad47e68e344b19fabeab1156c5e6742d8dfad 22-Jun-2012 Glenn Kasten <gkasten@google.com> Update audio comments

Change-Id: If470efd77ed886da8d83a1b427c132bad77e668b
udioRecord.java
udioTrack.java
55e1bc6c58bbb7d08b8a197322dc1afbab9866a2 06-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> Event handler should be private in MediaFocusControl

Change-Id: I034224d42a3cfed8c49bfee55b332068796f9977
ediaFocusControl.java
34077aa6bb6f3438c58c76fd57d1c1ae0a32fd6d 06-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Reorder and comment MediaFocusControl code"
73673ab7988adc80fc179e9910c7a19fcabef884 06-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> Reorder and comment MediaFocusControl code

Change-Id: Iacc03a7233789bd1588e9f7d2ca5df10a756fb0d
ediaFocusControl.java
708e3595031fa15f4ac26c5675a53c1ed495b895 05-Aug-2013 Zhijun He <zhijunhe@google.com> ImageReader: Add RGB format support.

Bug: 10155122
Change-Id: Id53d6ec815488e73bde6ca62b42c92d16bc813c9
mageReader.java
f239d9d7bb15fbdbe026835d5ee6b0c91d3ac5f0 05-Aug-2013 Glenn Kasten <gkasten@google.com> Merge "Don't doubly initialize fields in constructor"
0bd2667e20f795d47efe834f3a947fcbfc3886b9 05-Aug-2013 Glenn Kasten <gkasten@google.com> Merge "Clean up imports"
07ede3551460f4c00a2aa8e04151411538ca9b1e 05-Aug-2013 Glenn Kasten <gkasten@google.com> Merge "Clean up throws in AudioRecord and AudioTrack"
3ed38266c1647c6219ae5ad89cb3f867cf66caaa 03-Aug-2013 Jeff Tinker <jtinker@google.com> Define error codes for MediaCodec.CryptoException

Define specific failure cases so apps have the information they
need to deal with these conditions.

Also adds a new ResourceBusyException to MediaDrm

Change-Id: Iaecf269d58108f28179974b05671bf29b9fe4b7d
related-to-bug: 10157154
related-to-bug: 9695816
ediaCodec.java
ediaDrm.java
esourceBusyException.java
a81dcd03dc55fe8d80e6ff50b2f83c8df0137dd9 03-Aug-2013 Elliott Hughes <enh@google.com> am b56f10aa: am 32c308a5: Merge "If media wants ASCII lowercasing, it needs to ask for it."

* commit 'b56f10aa66914aeb880c624ed6e938e1941ff820':
If media wants ASCII lowercasing, it needs to ask for it.
97d50425a48e7ac297da02b9a05612e373a672db 19-Jul-2013 Glenn Kasten <gkasten@google.com> Don't doubly initialize fields in constructor

Change-Id: Id3b4911a7954a5a908764683cc7b8d8515d4482a
udioRecord.java
896a7f5fee46c24d31e9403abdf5813e4bb84ca5 19-Jul-2013 Glenn Kasten <gkasten@google.com> Clean up throws in AudioRecord and AudioTrack

Remove dead assignments to member fields in constructor prior to throw.
Execution doesn't continue execution, so no need to initialize fields.

throw doesn't need parentheses.

Fix indentation.

Change-Id: I2bf1b8bfa2c836e53a41eea67552cba40dc6fd43
udioRecord.java
udioTrack.java
83db9ed19969a43d9bc179cb872129910d7039b2 02-Aug-2013 Glenn Kasten <gkasten@google.com> Clean up imports

No need to import java.lang.*;
these imports are implicit in the language.

Change-Id: Ia903fb9546f2a295605dbc80ba69c4e6778627d6
udioRecord.java
dcb1a58cf9d66b36de825dae2fa0cb0529e60680 02-Aug-2013 Elliott Hughes <enh@google.com> If media wants ASCII lowercasing, it needs to ask for it.

http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Use toLowerCase(Locale.ROOT) if you want ASCII for machine consumption,
and use toLowerCase(Locale.getDefault()) if you want the user's locale's
casing rules for human consumption.

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Id9005a17e34217a81bef3b40031b9e2e6272f45d
ediaFile.java
ediaScanner.java
68d6dedcc3a7d7ceaad297e59248332eb900113c 02-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> Remove whitespace in IAudioService.aidl

Change-Id: I537a2ad8356b04fec25bd7a5a8934f0bc343c1f6
AudioService.aidl
3523a06375ab3fa1037eef23f2a6edaef2163c62 01-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> Remove outdated comment in MediaFocusControl

The stream type is used in audio focus to better deal with
RemoteControlClient/Display in the case of notifications
during media playback. This comment is therefore outdated.

Change-Id: Ifa33bc4c0fbf065d8288ff5fdfaf1bc67b2a337e
ediaFocusControl.java
9171db279826ee91d64eb9538a504ffed5e53b38 01-Aug-2013 Jean-Michel Trivi <jmtrivi@google.com> Unhide android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE

Unhide android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE
Update android.media.AudioManager.requestAudioFocus() javadoc for the
new focus type.

Bug 8251963

Change-Id: I7cd69faaf5f0169ee462b91d0aaa75dc6b092107
udioManager.java
2380566debfc57eb1cc07db1306ccee23b84ddd4 31-Jul-2013 Jean-Michel Trivi <jmtrivi@google.com> Notification muting conditional to exclusive audio focus request

Summary of feature:
Do not mute notifications when speech recognition recording is
active, but when an app has requested audio focus with
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE.

Implementation:
Move definition of AUDIOFOCUS_NONE to AudioManager where other
audio focus codes are defined.
Add support for querying the current audio focus type.
When audio focus is requested as GAIN_TRANSIENT_EXCLUSIVE, make
the corresponding loss by LOSS_TRANSIENT.
Before playing a notification, check whether GAIN_TRANSIENT_EXCLUSIVE
has been requested.

Bug 8251963

Change-Id: I41edc77326b70639d2fdcb4642c53109995b72a8
udioManager.java
udioService.java
ocusRequester.java
AudioService.aidl
ediaFocusControl.java
cbb212ff6f06b004ae19dfb6958ee3852716bbdc 31-Jul-2013 Jean-Michel Trivi <jmtrivi@google.com> Focus gain sends focus loss through the focus stack

When a new focus owner lands on the stack, don't just make the
previous top of the stack lose focus, propagate the loss throughout
the stack.
Only dispatch focus loss on focus loss state change
Remove canDispatchFocus() method as it now doesn't need to be known
(and shouldn't be known) outside of the implementation.
Fix error where the focus code for a focus gain request should
always be a focus loss code.

Bug 8315302

Change-Id: I92c8f51fdcc090851d34d00fefed916e25da40c1
ocusRequester.java
ediaFocusControl.java
53e6e287ffe924b6d26237e167a1a8996054e17e 30-Jul-2013 Jean-Michel Trivi <jmtrivi@google.com> Focus loss value takes into account previous loss

Implement a state machine to represent how to transition to the
next audio focus loss state, given the current focus loss (state)
and the given external focus gain (transition).

Bug 8315302

Change-Id: I4a3d5a4a53c842caceaa876206a993c4e5446681
ocusRequester.java
fec4a907b1ccb667758d9e7df151d372a070fd83 30-Jul-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Audio focus request managed by FocusRequester class"
92ed64515940537224fd1da42c4ffae2310b7226 30-Jul-2013 Eino-Ville Talvala <etalvala@google.com> Merge "Camera2 API: Rename package to android.hardware.camera2"
2f1a2e423e0fbb64467d6fcfa4e82c6384f31210 26-Jul-2013 Eino-Ville Talvala <etalvala@google.com> Camera2 API: Rename package to android.hardware.camera2

Change-Id: I77b7939e199f9fe8e12a59393c24cff08097448c
mage.java
mageReader.java
783cea46580b69319669a0a354894be4982e996e 30-Jul-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "More refactor of audio focus, keep track of focus loss"
83283f23eb1b7c1576e253c644b8aade6f657d0a 30-Jul-2013 Jean-Michel Trivi <jmtrivi@google.com> Audio focus request managed by FocusRequester class

Move all audio focus request functionality under a new class/file.
Clean up encapsulation of data related to the request.

Change-Id: I989796e1ee1a5fc99799a64e1612294e0e40fa6d
ocusRequester.java
ediaFocusControl.java
4d4a137bf5f861bce744c113744718066e1f214e 30-Jul-2013 Marco Nelissen <marcone@google.com> am 51cf3661: am f38b5287: Merge "MediaFormat: Explain that KEY_COLOR_FORMAT is used with decoders as well"

* commit '51cf3661fa658d7cec6a08ed3f916ce98203027c':
MediaFormat: Explain that KEY_COLOR_FORMAT is used with decoders as well
f38b528701fd9bfd06adb2c9aeb7d5f951647312 30-Jul-2013 Marco Nelissen <marcone@google.com> Merge "MediaFormat: Explain that KEY_COLOR_FORMAT is used with decoders as well"
00bf4b18173b8921d7a5cecbd8b8d3745470b5d0 27-Jul-2013 Jean-Michel Trivi <jmtrivi@google.com> More refactor of audio focus, keep track of focus loss

Move more audio focus-specific functionality into the class
representing each audio focus owner, FocusStackEntry.
Keep track of how each FocusStackEntry instance lost focus.

Change-Id: I35df0717765a26ec747cb0110e2e951d155d1525
ediaFocusControl.java
0350f4167fab99a3f36c3c96b402301dcfe81782 30-Jul-2013 Jean-Baptiste Queru <jbq@google.com> am 00157c0d: am 6c0fe0df: Merge "MediaFormat: Fix the documentation link to the AAC profile constants"

* commit '00157c0d466786e7f125f58257ff706e132c52ef':
MediaFormat: Fix the documentation link to the AAC profile constants
6c0fe0df4ea35fba69f805e18c8c88c0be31c36f 30-Jul-2013 Jean-Baptiste Queru <jbq@google.com> Merge "MediaFormat: Fix the documentation link to the AAC profile constants"
d7c05c2ca9f641ad69bd7282ffc4fa1e835d3092 27-Jul-2013 Chong Zhang <chz@google.com> Merge "Select BT route when currently selected route becomes unavailable"
2e5fbf552113024bbd143cec87000f28013af17d 26-Jul-2013 Chong Zhang <chz@google.com> Select BT route when currently selected route becomes unavailable

Bug: 10003524
Change-Id: I5de740fac9f2bc2a56125296defe892a8deb505e
ediaRouter.java
3f44fae1dd18aa3f57aed7cc5f1261d1713b0a89 26-Jul-2013 Marco Nelissen <marcone@google.com> am 77802977: am 161b3624: Merge "Fix NullpointerException in MediaMetadataRetriever"

* commit '778029776bac60856af7e97e19deb7b1f42b1984':
Fix NullpointerException in MediaMetadataRetriever
425916e4c5305b9bfff5b5d60d203363afcb7b89 28-Aug-2012 Oscar Rydhé <oscar.rydhe@sonymobile.com> Fix NullpointerException in MediaMetadataRetriever

According to the API documentation and the ICS implementation
the setDataSource(String) method throws an
IllegalArgumentException if path is null. In JB a
NullpointerException is thrown instead. This fix restores
the earlier behaviour.

Change-Id: Ic47baadf91076acc227d92d84f6b8d1d6ecd0c03
ediaMetadataRetriever.java
816af56eace0c8d4eb57c5bb1b0f6747f3c9be77 24-Jul-2013 Martin Storsjo <martin@martin.st> MediaFormat: Fix the documentation link to the AAC profile constants

Change-Id: If1780436baa2884cea05ccd8ab74745af790eb17
ediaFormat.java
158754b1bfc9e0a03a6d9bcd999bdcbd42cedd30 30-Aug-2012 Martin Storsjo <martin@martin.st> MediaFormat: Explain that KEY_COLOR_FORMAT is used with decoders as well

If reading the decoded pixel data (instead of letting the system
render it), this is critical for interpreting the data correctly.

The video MediaCodec CTS tests use this MediaFormat key in this
way as well.

Therefore, make sure the documentation reflects the actual use of
this field - claiming that it is encoder-only is misleading.

Change-Id: I9bfd295a95dd3e7d1fa3189886fd243b07bb82cc
ediaFormat.java
2e012206475eb77a2c7e9c6b9536163c7d63a06e 25-Jul-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "More info in audio focus stack entry"
caa2c5bba82d3a515b1bb2830556a89299b2ccd0 24-Jul-2013 Jean-Michel Trivi <jmtrivi@google.com> More info in audio focus stack entry

Add fields in an audio focus stack entry to track what type of audio
focus was requested, and why it was lost.
Make audio focus dump easier to read.

Change-Id: I61f6e43c13a32328a07125a2ba0dce1053872c86
ediaFocusControl.java
33c437df39029b70d4ffafac2ca31bd71eafd0c6 19-Jul-2013 Glenn Kasten <gkasten@google.com> Rename mChannels to mChannelMask to avoid ambiguity

This clarifies that it's a channel mask, as opposed to a count.

Also no need to initialize the field in the declaration,
as it's initialized in the constructor.

Include channel mask in error logs.

Change-Id: Ifc02668cf922dc8826a9fb042b3ca52fad377ba6
udioRecord.java
d5af238199b5c9f73d87fd57b7485a3a972629a7 24-Jul-2013 Glenn Kasten <gkasten@google.com> Match AudioRecord.getChannelConfiguration docs

Bug: 10001767
Change-Id: I28705ae84ee585afc37cdd2b13a039b7bfc36543
udioRecord.java
369dbf9a66592641f3a72116d7c5f498c0198032 23-Jul-2013 Glenn Kasten <gkasten@google.com> Merge "Use the utility logging methods and single tag"
2352228ff185722c62c95a64fdf0896603e19dc8 23-Jul-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Launch voice-based searches as current user"
9020316ea3004a777ec80350964de7ec65a5de7c 23-Jul-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix dump formatting of RemoteControlClient playback state dump"
4afca0cc90e08bd2d7c39b3800e2db2cd463257f 23-Jul-2013 Glenn Kasten <gkasten@google.com> Merge "Detect integer overflow"
4e693f558f744a700aba85bfb33e85c7ebf3147b 23-Jul-2013 Glenn Kasten <gkasten@google.com> Merge "Verify that AudioRecord object is initialized for more APIs"
7fc7230787d2847e6160fb0512bc11dc1f59c5f8 23-Jul-2013 Glenn Kasten <gkasten@google.com> Merge "Remove redundant AudioRecord. qualifiers"
004f2b783576eed9b1ab5886fcf93b3b164d01e0 23-Jul-2013 Glenn Kasten <gkasten@google.com> Merge "Return the record state locked"
f47634edfe08fcebbf564a5df12a0a96906032c3 03-Jul-2013 Jean-Michel Trivi <jmtrivi@google.com> Fix dump formatting of RemoteControlClient playback state dump

Take into account the two types of undefined plyback position.
Only use "ms" unit when there is a position to write.
Fix misplaced ",".

Change-Id: I5033ec6ee7480f1ac525af7b7b0a9da259614783
ediaFocusControl.java
dcd40c0e57649ffbdb41c774aa6493648e1ac2b5 23-Jul-2013 Jean-Michel Trivi <jmtrivi@google.com> Launch voice-based searches as current user

Launch the voice-based interactions (voice search, web search) as
the current user.

Change-Id: I5a038feea24346c3c94f86097f574ffdc499cf60
ediaFocusControl.java
fa9a69805b001034aa04c3b33989a7ac21522371 28-Jun-2013 Jean-Michel Trivi <jmtrivi@google.com> Refactor for audio focus, remote control, media button handling

Extract audio focus, remote control and media button handling
outside of AudioService without any changes in functionality.
Moving logic to new class, MediaFocusControl.
Introduce interface for managing volum control logic, VolumeController.
The VolumePanel class implements this interface.

Change-Id: I72bda2e0670c26e61ff076fd729c15f9f1156dc5
udioManager.java
udioService.java
AudioService.aidl
ediaFocusControl.java
olumeController.java
626c0415a29a6dd23ffe292ce7f166a91f66d005 19-Jul-2013 Glenn Kasten <gkasten@google.com> Use the utility logging methods and single tag

See Change-Id: I5bfc66562a4a0630d520390ae886bd19de3327cb

Change-Id: I569e0a746c4430f9d0cd1cb20bbc9aa50b81bcfc
udioRecord.java
6ab188589d9126c19bb37ba7dfa4de3e73e93e55 19-Jul-2013 Glenn Kasten <gkasten@google.com> Detect integer overflow

See Change-Id: Iec36fc0ea67095e18a2c238b148dad5545c102c1

Change-Id: I421f0d84c64310fcb6c5451993cfaf38125c4bb2
udioRecord.java
70c17f47031a60b4ce8bf65df895e8d53f8846fe 22-Jul-2013 Glenn Kasten <gkasten@google.com> Merge "Inform AudioFlinger of device's low RAM attribute"
8057f24d4aeb06da44aed2723575c983cabdda4b 19-Jul-2013 Glenn Kasten <gkasten@google.com> Verify that AudioRecord object is initialized for more APIs

Compare to AudioTrack, which already has these checks.

Change-Id: I3a239dfb4b918ceabfb723f189cc50ed6662eee6
udioRecord.java
25a64b4badb21765426df26915d5582d5fb809af 19-Jul-2013 Glenn Kasten <gkasten@google.com> Remove redundant AudioRecord. qualifiers

Symbols of the current class don't need to be qualified.
See Change-Id: Ic89ce568771165d01d4b5bcf835c591ca0b86541

Change-Id: I75ec74a95cf68bf8eabdbac5b227a9035b945360
udioRecord.java
79e49a0752bc2ec1431728ab793601536fac1ee5 19-Jul-2013 Glenn Kasten <gkasten@google.com> Return the record state locked

This field is always accessed with a lock held.
See Change-Id: I502b7401196c42932c9667ef73eb4cae16c3da16

Change-Id: I0900b60cd6b9076868532f951db370ccd5a0312e
udioRecord.java
cacfe69b6845dd1c1c8682f67c3c52ef35214b2c 12-Jul-2013 Justin Koh <justinkoh@google.com> Add FX_KEYPRESS_INVALID constant to AudioManager.

Add FX_KEYPRESS_INVALID constant to AudioManager. This is a sound which should
play if the user tries to click or press on an element which is disabled.

Change-Id: Idd8953abeddd1afb51f7f190f9fb612ef672defa
udioManager.java
fd116ad1ab02f6060a0b2201f018317fa32e28b4 13-Jul-2013 Glenn Kasten <gkasten@google.com> Inform AudioFlinger of device's low RAM attribute

to help it configure it's memory

Bug: 9798886
Change-Id: Ia2df59cfcb76f5ff48cca92b107915e2adde899c
udioService.java
udioSystem.java
bfdad8ecad06f855c8facf72177b0f01919ff629 08-Jul-2013 Jaekyun Seok <jaekyun@google.com> Add a keycode to switch audio tracks (1/2)

A key to switch audio tracks is general on media devices like blu-ray.

Bug: 9728155
Change-Id: Ib61822b8aa9c143a8febc3cff4707fa775119448
udioService.java
79d097ee5bd3281669b39419e1fa7aa2f5e96820 11-Jul-2013 Henrik Baard <henrik.baard@sonymobile.com> generateProjectThumbnail can fail to close output stream

In case of an excpetion the generateProjectThumbnail method
does not close the output stream used.

Move the closing of the stream to the finally block.

Change-Id: I417236ab1acf65bb97e40beb8a750035c25e436e
ideoeditor/VideoEditorImpl.java
dae9aa3f3716e7f370ea0b5681d87a7297201b7f 02-Jul-2013 Oliver Woodman <olly@google.com> am 9ad7b946: am 0661dd15: Merge "Expose latency methods through AudioManager and AudioTrack." into jb-mr2-dev

* commit '9ad7b946fe9a5dd706205e90046ddc1bd6cb8ad0':
Expose latency methods through AudioManager and AudioTrack.
e64716ad01e52a9ce034369142c41d0333dd8dd4 26-Jun-2013 Oliver Woodman <olly@google.com> Expose latency methods through AudioManager and AudioTrack.

There's a longer term plan to fix audio/video sync, but
this gets the Java level to parity with the native level,
and allows applications in Java to achieve sync in the
same way as the native media player. APIs are left as hidden
for now.

Bug: 9587132
Change-Id: Iaf70baac1ffb50ef48e03355163158568fbd0fe9
udioManager.java
udioSystem.java
udioTrack.java
86bebb4c78ffb1c2968f90841a65c07f81ba664b 27-Jun-2013 Oliver Woodman <olly@google.com> Merge "Expose latency methods through AudioManager and AudioTrack."
212e78df9eb3bfff069de01aa7820cf4201c5f82 07-Jun-2013 Zhijun He <zhijunhe@google.com> ImageReader: Implementation of ImageReader and Image APIs

Used for direct image data access from producer like camera or video decoder.

Bug: 9254294
Change-Id: I1853af03f4487ac3585d86202f6140854471fa89
mage.java
mageReader.java
60bd67f7b1b85ed0ee19f77b056b90350a3d5343 26-Jun-2012 Glenn Kasten <gkasten@google.com> Use AUDIO_SESSION_ALLOCATE instead of hard-coded 0

Change-Id: Ic56e4a51895297516552e190d508e2257484fb53
udioRecord.java
udioSystem.java
udioTrack.java
61dcdf3764b614c6f01e77cb4342d192e3101f8a 26-Jun-2013 Oliver Woodman <olly@google.com> Expose latency methods through AudioManager and AudioTrack.

There's a longer term plan to fix audio/video sync, but
this gets the Java level to parity with the native level,
and allows applications in Java to achieve sync in the
same way as the native media player. APIs are left as hidden
for now.

Change-Id: Iaf70baac1ffb50ef48e03355163158568fbd0fe9
udioManager.java
udioSystem.java
udioTrack.java
63a6473a56c8f988a4003cdbbfe0e8e0edaf524e 26-Jun-2013 hkuang <hkuang@google.com> Change the comments to incorporate change for VP9 decoder.

Change-Id: I9a4f3af9278c90962856516df5930e8924c28f9d
ediaCodec.java
e0dae4b493d3547b223f498a9f3e5aa2ddd856f6 15-Jun-2013 Chong Zhang <chz@google.com> Merge "MediaRouter: grey out wifi displays that's in use"
343233c4edc09013bdb9ac44d65054c029d4d885 15-Jun-2013 Scott Main <smain@google.com> am 3717cf6b: am 07d6d9e7: Merge "additional documentation for media codec info" into jb-mr2-dev

* commit '3717cf6bc2e92d58d8de9f039165d1e6c73de8a0':
additional documentation for media codec info
3717cf6bc2e92d58d8de9f039165d1e6c73de8a0 15-Jun-2013 Scott Main <smain@google.com> am 07d6d9e7: Merge "additional documentation for media codec info" into jb-mr2-dev

* commit '07d6d9e74c1f79de791b37b1cb738fa398915879':
additional documentation for media codec info
c06bb7f5b9c6be9d121e3f5b4ee7cd31c99f6879 12-Jun-2013 Scott Main <smain@google.com> additional documentation for media codec info

Change-Id: I3b4e5baccab6da2dfc8dff8d03872bb5b346a4ad
ediaCodecInfo.java
ediaCodecList.java
2d2cd32cc7293bbb48b0f0e70a0dc7eb05cac9d3 14-Jun-2013 Marco Nelissen <marcone@google.com> Make MediaPlayer.invoke() public-and-hidden again

It's used in a bunch of other places in other repos that I don't
want to touch.

Change-Id: I6f2ec6f8066286de9b52499fc71f3f08953c3cb4
ediaPlayer.java
ab87a63997a7dc771acfd0dcd7efda990dc3d5fe 11-Jun-2013 Chong Zhang <chz@google.com> MediaRouter: grey out wifi displays that's in use

bug 9229799

Change-Id: I9f5fd2107f60c492d42c74e575e6483838a51267
ediaRouter.java
3e72eb5245a439525976dbb9a67280b9b26b9f14 14-Jun-2013 Marco Nelissen <marcone@google.com> Remove unused MediaPlayer methods

Change-Id: Id63fdde7d0e4f096d3bb9eb4da5e0f37eb9dea21
ediaPlayer.java
352e56ee97d24422b857304819f26958ad1b0811 11-Jun-2013 Zhihai Xu <zhihaixu@google.com> am 36e90664: am bcc6ae88: Merge "Let RemoteControlDisplay know more about playback position" into jb-mr2-dev

* commit '36e90664c7b74bd90b56b17afb407729f7949108':
Let RemoteControlDisplay know more about playback position
8d7f9f813d4d45d3f139965964a1159ae8f5f8ab 11-Jun-2013 Marco Nelissen <marcone@google.com> am 3826e8bd: am 37490462: Merge "Unhide MediaExtractor.getPsshInfo()" into jb-mr2-dev

* commit '3826e8bd6e30dbda90f330e4b3facbccc8c4bb9e':
Unhide MediaExtractor.getPsshInfo()
36e90664c7b74bd90b56b17afb407729f7949108 11-Jun-2013 Zhihai Xu <zhihaixu@google.com> am bcc6ae88: Merge "Let RemoteControlDisplay know more about playback position" into jb-mr2-dev

* commit 'bcc6ae88f97caa7591a7507a90ec1152ee7cab7a':
Let RemoteControlDisplay know more about playback position
3826e8bd6e30dbda90f330e4b3facbccc8c4bb9e 11-Jun-2013 Marco Nelissen <marcone@google.com> am 37490462: Merge "Unhide MediaExtractor.getPsshInfo()" into jb-mr2-dev

* commit '374904621a79eb12416da4a26be515ae9a2d243a':
Unhide MediaExtractor.getPsshInfo()
bcc6ae88f97caa7591a7507a90ec1152ee7cab7a 11-Jun-2013 Zhihai Xu <zhihaixu@google.com> Merge "Let RemoteControlDisplay know more about playback position" into jb-mr2-dev
ecba2e4b953e9480b5084c04ec0cb5a8ba574b03 11-Jun-2013 Marco Nelissen <marcone@google.com> Unhide MediaExtractor.getPsshInfo()

b/9373882

Change-Id: I2af42656d6a7eb19e8e9ec798b615dab0d9d33cb
ediaExtractor.java
1b16cc3de51d69c8027cefcc70a084a5b2d7a3d0 08-Jun-2013 Jean-Michel Trivi <jmtrivi@google.com> Let RemoteControlDisplay know more about playback position

The BT stack needs to differentiate between applications that use
the new RemoteControlClient APIs to pass a playback position but
don't have one yet, and applications that use the legacy API and
will never pass a position.

Bug 9294855

Change-Id: I05cba82a073e6e0aaea1d8bbf9cc8c99da715f58
RemoteControlDisplay.aidl
emoteControlClient.java
b2675542c2f414154125b534767ae0903fba581e 12-Dec-2012 Eino-Ville Talvala <etalvala@google.com> Initial commit of new camera API, mostly just the interface.

- New core API classes in android.hardware.photography
- android.media.Image and android.media.ImageReader classes for
application access to direct hardware image buffers.
- Additions to android.graphics.ImageFormat to describe new image
types needed by new camera API.
- Some documentation included; very little implementation.

Bug: 9111736
Change-Id: I0680f35944d1cb8845b7dc0c67edc8c0f0864573
mage.java
mageReader.java
febfd26d106ef6afbe6cbc379093c32b5f918e9a 04-Jun-2013 Scott Main <smain@google.com> am e125116f: am e4ef3849: Merge "javadoc cleanup for audioeffect" into jb-mr2-dev

* commit 'e125116fc8767ecf431c80f5659a8a90032acb97':
javadoc cleanup for audioeffect
e125116fc8767ecf431c80f5659a8a90032acb97 04-Jun-2013 Scott Main <smain@google.com> am e4ef3849: Merge "javadoc cleanup for audioeffect" into jb-mr2-dev

* commit 'e4ef3849c58225206fd5cba1b33c08968c5e6021':
javadoc cleanup for audioeffect
1d154187a99d5ad8dd33d47173cf6a4456276e76 04-Jun-2013 Scott Main <smain@google.com> javadoc cleanup for audioeffect

Change-Id: I87917309d1da6529e16d72ad2b4ec9ce04d10569
udiofx/AudioEffect.java
4a02d4c60946c257ab48783493db67ca08e327bc 03-Jun-2013 Andreas Huber <andih@google.com> am c41a0eff: am be22605d: Merge "Listen for HTTP proxy changes and propagate the information to the media" into jb-mr2-dev

* commit 'c41a0eff938f825ef235b92efa7a31c3b7f8bfb4':
Listen for HTTP proxy changes and propagate the information to the media
c41a0eff938f825ef235b92efa7a31c3b7f8bfb4 03-Jun-2013 Andreas Huber <andih@google.com> am be22605d: Merge "Listen for HTTP proxy changes and propagate the information to the media" into jb-mr2-dev

* commit 'be22605d1eacfb4137b6984b72a3eda004b911a1':
Listen for HTTP proxy changes and propagate the information to the media
d5f9fa574da2ee210ac86154ab0aea9fee5e8278 28-May-2013 Andreas Huber <andih@google.com> Listen for HTTP proxy changes and propagate the information to the media

framework.

related-to-bug: 8873723

Change-Id: I2a34343f8006fa1b1448a1f047458fd58fe14fda
(cherry picked from commit bfe9154142428aa8abecaf943dfeffc55f411ea7)
ediaPlayer.java
d554dc3643fa1643f27b976857e4d4c99295af0e 31-May-2013 ztenghui <ztenghui@google.com> am 43590eb7: am 4f0002e6: Merge "MediaMuxer sample code update, no functional change" into jb-mr2-dev

* commit '43590eb76cac78f780dd318492c5fe6093e2fa88':
MediaMuxer sample code update, no functional change
43590eb76cac78f780dd318492c5fe6093e2fa88 31-May-2013 ztenghui <ztenghui@google.com> am 4f0002e6: Merge "MediaMuxer sample code update, no functional change" into jb-mr2-dev

* commit '4f0002e6de601f6727475a3296618120b62d7f12':
MediaMuxer sample code update, no functional change
4f0002e6de601f6727475a3296618120b62d7f12 31-May-2013 ztenghui <ztenghui@google.com> Merge "MediaMuxer sample code update, no functional change" into jb-mr2-dev
34a5b011cd3fe3b231770a3bae984175d2c983e2 31-May-2013 ztenghui <ztenghui@google.com> MediaMuxer sample code update, no functional change

bug:9213533

Change-Id: I0d42ec58576d9fd797dba9c9c9f5ebed1170a818
ediaMuxer.java
718aefb6ff11d16ce7412c81e4d4d9c29124eead 31-May-2013 Jeff Brown <jeffbrown@google.com> am 6474d840: am 636af7a1: Merge "Rename CALLBACK_FLAG_ACTIVE_SCAN for clarity." into jb-mr2-dev

* commit '6474d8407cb1551608fc403861e11cf514f8558e':
Rename CALLBACK_FLAG_ACTIVE_SCAN for clarity.
6474d8407cb1551608fc403861e11cf514f8558e 31-May-2013 Jeff Brown <jeffbrown@google.com> am 636af7a1: Merge "Rename CALLBACK_FLAG_ACTIVE_SCAN for clarity." into jb-mr2-dev

* commit '636af7a1cb90bb2f422bc85356d30f5b4e9342e6':
Rename CALLBACK_FLAG_ACTIVE_SCAN for clarity.
636af7a1cb90bb2f422bc85356d30f5b4e9342e6 31-May-2013 Jeff Brown <jeffbrown@google.com> Merge "Rename CALLBACK_FLAG_ACTIVE_SCAN for clarity." into jb-mr2-dev
905c2b11172de4852e4af713bc5656c4135fc2c2 31-May-2013 Jean-Michel Trivi <jmtrivi@google.com> am 7d2e3939: am c1d47c50: Merge "Monitor device rotation" into jb-mr2-dev

* commit '7d2e3939964fb6512f370059a33206d2c9ec7a0e':
Monitor device rotation
14507e257af5d71577574e25cbd690c4b54c9272 30-May-2013 Jeff Brown <jeffbrown@google.com> Rename CALLBACK_FLAG_ACTIVE_SCAN for clarity.

Bug: 9210033
Change-Id: I973c03b3a37e12af72a27c46d7da7fb59a30b606
ediaRouter.java
7d2e3939964fb6512f370059a33206d2c9ec7a0e 30-May-2013 Jean-Michel Trivi <jmtrivi@google.com> am c1d47c50: Merge "Monitor device rotation" into jb-mr2-dev

* commit 'c1d47c50d61063dc41214beb93aeea32f77f2550':
Monitor device rotation
c1d47c50d61063dc41214beb93aeea32f77f2550 30-May-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Monitor device rotation" into jb-mr2-dev
ddcbb64a2aeb9ce60a0a38809c9f2810676b612f 30-May-2013 Lajos Molnar <lajos@google.com> am fabd32c1: am 673903a2: Merge "android.media.MediaMuxer: remove SAMPLE_SYNC_FLAG" into jb-mr2-dev

* commit 'fabd32c1fb353c4e1437f1472de5ec2810bda329':
android.media.MediaMuxer: remove SAMPLE_SYNC_FLAG
fabd32c1fb353c4e1437f1472de5ec2810bda329 30-May-2013 Lajos Molnar <lajos@google.com> am 673903a2: Merge "android.media.MediaMuxer: remove SAMPLE_SYNC_FLAG" into jb-mr2-dev

* commit '673903a2759067b29bed7e309211000d365e0ad3':
android.media.MediaMuxer: remove SAMPLE_SYNC_FLAG
ecca7f60a69d99a9569c06bdf9c122f853e67d47 28-May-2013 Lajos Molnar <lajos@google.com> android.media.MediaMuxer: remove SAMPLE_SYNC_FLAG

SAMPLE_SYNC_FLAG is not used by MediaMuxer; instead,
MediaCodec.BUFFER_FLAG_SYNC_FRAME is used, which has
the same value.

Remove this now, so that users will not have to translate
MediaCodec flags to MediaMuxer flags, even though MediaMuxer
takes in MediaCodec.BufferInfo objects to specify these flags.

Change-Id: I4b2f2039ca16debf4788a530a36bdd06d516f417
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 9169479
ediaMuxer.java
bb6f8711a7f804d39c45218db2d6339940cc5d35 24-May-2013 Jean-Michel Trivi <jmtrivi@google.com> Monitor device rotation

If requested by ro.audio.monitorOrientation property, set orientation
information as audio system parameter on configuration changes.

Bug 9095903

Change-Id: I669d4084eade3c14feb63f644bdd5b74fddc8857
udioService.java
2feefe01e92cc83cc5bcde1245347ea22bc6ccf3 17-May-2013 Jeff Brown <jeffbrown@google.com> am b7871af2: am 50ab525a: Merge "Add route description API." into jb-mr2-dev

* commit 'b7871af2fbde70c7cf4812d5710b2729588bac54':
Add route description API.
b7871af2fbde70c7cf4812d5710b2729588bac54 17-May-2013 Jeff Brown <jeffbrown@google.com> am 50ab525a: Merge "Add route description API." into jb-mr2-dev

* commit '50ab525af62ef5e1f9cf3433a161f2e874da6116':
Add route description API.
56d4b744b374af11f540567d2b43d66d8d7c301e 16-May-2013 Jeff Brown <jeffbrown@google.com> Add route description API.

Bug: 8175766
Change-Id: I65dbc10fc04f9ff8f6abc1bda23fbf5baa227737
ediaRouter.java
83d551898d4a441475e9582cd573cebb563a6ef3 11-May-2013 Jeff Brown <jeffbrown@google.com> am f8e54846: am 9766caed: Merge "Add an API to determine if a route is connecting." into jb-mr2-dev

* commit 'f8e54846146c234aa9a201f54eea70df93ee56e2':
Add an API to determine if a route is connecting.
f8e54846146c234aa9a201f54eea70df93ee56e2 11-May-2013 Jeff Brown <jeffbrown@google.com> am 9766caed: Merge "Add an API to determine if a route is connecting." into jb-mr2-dev

* commit '9766caedf0657615f739d4e441ab9f2fa71aa709':
Add an API to determine if a route is connecting.
a27b8fb4296c1271ddf5916843ddffda6764e65f 10-May-2013 Jeff Brown <jeffbrown@google.com> Add an API to determine if a route is connecting.

Bug: 8175766
Change-Id: I54d5f31d4e7d79c471c0e1bbc438cd8ebb4f8a1e
ediaRouter.java
89efc6e6c1bba5866e7bdb1bb9e009022ec9d691 10-May-2013 Jeff Brown <jeffbrown@google.com> am da58f92b: am b2f6842d: Merge "Add an API to allow a callback to request active scans." into jb-mr2-dev

* commit 'da58f92bfaf875074656a55103c819e6f4dda341':
Add an API to allow a callback to request active scans.
1f59cbb20a2ad74cf2ac57d256f1fc5f0629f8a3 10-May-2013 Jeff Brown <jeffbrown@google.com> am 507a3c77: am 2298d68e: Merge "Fix bug managing wifi display routes." into jb-mr2-dev

* commit '507a3c77d583643f4a884c5d7b0c5e6bce3222bb':
Fix bug managing wifi display routes.
da58f92bfaf875074656a55103c819e6f4dda341 10-May-2013 Jeff Brown <jeffbrown@google.com> am b2f6842d: Merge "Add an API to allow a callback to request active scans." into jb-mr2-dev

* commit 'b2f6842d5528345e02a91218fbe58c3e0ca8bafb':
Add an API to allow a callback to request active scans.
507a3c77d583643f4a884c5d7b0c5e6bce3222bb 10-May-2013 Jeff Brown <jeffbrown@google.com> am 2298d68e: Merge "Fix bug managing wifi display routes." into jb-mr2-dev

* commit '2298d68e72afa9cf311af394b61f92f75385bbbf':
Fix bug managing wifi display routes.
66f3b39ec452a8a03e3254e77e19ccb764ee931f 09-May-2013 Jeff Brown <jeffbrown@google.com> Add an API to allow a callback to request active scans.

This API is needed by the support library media router to ensure
that wifi display routes can be discovered while the route
chooser dialog is open.

Bug: 8175766
Change-Id: I3773773d93384aa4a3c009e71a5444ee8ce37caf
ediaRouter.java
77e59fef24c02a109bb409afe38dbdf28e1fd914 09-May-2013 Jeff Brown <jeffbrown@google.com> Fix bug managing wifi display routes.

We could sometimes crash due to some inconsistencies in the
way the wifi display routes were updates when connecting,
disconnecting or scanning wifi displays.

Bug: 8837094
Change-Id: I10c7ccb163ec33c4ea107dfcb5074741049fe955
ediaRouter.java
c8b1f82791a8d20ab344efa8b7221b04df8e01e9 09-May-2013 Jeff Tinker <jtinker@google.com> am 5adeaeab: am 02f7f449: Merge "Correct java API docs for MediaDrm offline use case" into jb-mr2-dev

* commit '5adeaeabd62481b529ec5999df481d74033d67f9':
Correct java API docs for MediaDrm offline use case
5adeaeabd62481b529ec5999df481d74033d67f9 08-May-2013 Jeff Tinker <jtinker@google.com> am 02f7f449: Merge "Correct java API docs for MediaDrm offline use case" into jb-mr2-dev

* commit '02f7f449739ae3429b0bf834cebcb2b1bcade8c1':
Correct java API docs for MediaDrm offline use case
ea824eddbcaf24cde1c2388ff73e7c5c5e4afb26 07-May-2013 Jeff Tinker <jtinker@google.com> Correct java API docs for MediaDrm offline use case

Documentation only change, no APIs are affected

Change-Id: I4f3978751928de503f51afa77e0983d4c385ff7b
related-to-bug: 8621588
ediaDrm.java
ba50b97cff80e73620a0e3d13cae169e095974a7 01-May-2013 Dianne Hackborn <hackbod@google.com> Add new app ops for various interesting audio service things.

Media buttons: note when an application tries to take ownership
of the media buttons.
Audio focus: note when an application tries to take audio focus.
Volume levels: note changes to the volume level of the various
streams.

Maybe we should also have some ops for muting streams, soloing
streams, etc?

Change-Id: I79a5d477b0bad4ff61486cdb73ffb1196a674964
udioManager.java
udioService.java
AudioService.aidl
ediaRouter.java
e0eb0e90630c19808429a9bcdc9ff8dff085d2e8 02-May-2013 Jeff Tinker <jtinker@google.com> am 9ba564c7: am 48f2b548: Merge "MediaDrm API: Add two exceptions to handle error path scenarios" into jb-mr2-dev

* commit '9ba564c7e205c4b278be61eec773a90a94451251':
MediaDrm API: Add two exceptions to handle error path scenarios
9ba564c7e205c4b278be61eec773a90a94451251 02-May-2013 Jeff Tinker <jtinker@google.com> am 48f2b548: Merge "MediaDrm API: Add two exceptions to handle error path scenarios" into jb-mr2-dev

* commit '48f2b548edf8e276cc89d2c4c2d2936cde46fc95':
MediaDrm API: Add two exceptions to handle error path scenarios
1d7c218ba23185c58ae27f59e4ec6b8526b2d04a 26-Apr-2013 Jeff Tinker <jtinker@google.com> MediaDrm API: Add two exceptions to handle error path scenarios

bug: 8725707
Change-Id: Ia00c495ac591cc2993f4d11ad3480b59833d009e
eniedByServerException.java
ediaDrm.java
ediaDrmException.java
otProvisionedException.java
nsupportedSchemeException.java
322780496fbe994698c0de63deb17f498b66a6ee 30-Apr-2013 Mike Lockwood <lockwood@google.com> Fix javadoc errors for @deprecated tags with no explanatory comment

Change-Id: I38a31facf7d4a9cd13645516f25b4305df65c618
ingtoneManager.java
853ad6fbe34fa26e81e4b7325309a034d7a1b038 30-Apr-2013 Mike Lockwood <lockwood@google.com> Remove obsolete OMA-DRM support

Change-Id: Ic6008d4c9f8b9cd9fd4efec070260227af70559c
ingtone.java
ingtoneManager.java
0169b26adf63f4da5c8b7b2170f3b1190c360583 23-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> am 448c6ca4: am ea236f19: Merge "Identify in logs launch of voice search from key events" into jb-mr2-dev

* commit '448c6ca48144b324ca1e98962bd5dd06451a355e':
Identify in logs launch of voice search from key events
a7473ab28c6ea7cd53266d3038f7ea789b2dc1f6 23-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> am cb315af3: am fb0b6a81: Merge "Opt-in mechanism for RemoteControlClient position anti-drift check" into jb-mr2-dev

* commit 'cb315af34be49859a0bfda6ee808550671a5e416':
Opt-in mechanism for RemoteControlClient position anti-drift check
448c6ca48144b324ca1e98962bd5dd06451a355e 23-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> am ea236f19: Merge "Identify in logs launch of voice search from key events" into jb-mr2-dev

* commit 'ea236f19e652942a7af384566c70cdd0c7f88c58':
Identify in logs launch of voice search from key events
cb315af34be49859a0bfda6ee808550671a5e416 23-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> am fb0b6a81: Merge "Opt-in mechanism for RemoteControlClient position anti-drift check" into jb-mr2-dev

* commit 'fb0b6a817903b42dfc192dc8fa71f5dede024379':
Opt-in mechanism for RemoteControlClient position anti-drift check
ea236f19e652942a7af384566c70cdd0c7f88c58 23-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Identify in logs launch of voice search from key events" into jb-mr2-dev
fb0b6a817903b42dfc192dc8fa71f5dede024379 23-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Opt-in mechanism for RemoteControlClient position anti-drift check" into jb-mr2-dev
c3c4babf8424f65b3d3d2700f60fae6e94e9cd00 19-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> Opt-in mechanism for RemoteControlClient position anti-drift check

RemoteControlClient has an interface for the framework to query
the playback position. This mechanism is used to detect
when the estimated position drifts from the real position by
having the framework regularly poll (every 15s when playing at
1x) this interface and compare against the estimation.
But this mechanism:
- should only be used when IRemoteControlDisplay implementation
care about position display
- should not be used by default because the implementation of
the position query interface might involve network traffic
in some remote media player implementation for instance.

This CL implements an opt-in mechanism to be used by
implementators of IRemoteControlDisplay, to request the
anti-drift mechanism to be turned on.

bug 8120740

Change-Id: I1baa3e515546ac41e0ac9c3a41bfa3147ecf3d7f
udioManager.java
udioService.java
AudioService.aidl
RemoteControlClient.aidl
emoteControlClient.java
9edfd5f2dfa7a0cd13ce7999a517dbddab44bed2 21-Apr-2013 Kenny Root <kroot@google.com> am 0f70770b: am b5ec8c14: Change doc comment to match API change

* commit '0f70770be83b02c36262ad7e05ac5b2040de3fec':
Change doc comment to match API change
0f70770be83b02c36262ad7e05ac5b2040de3fec 21-Apr-2013 Kenny Root <kroot@google.com> am b5ec8c14: Change doc comment to match API change

* commit 'b5ec8c145d467abbc6eaf3306a5f6725e348ceec':
Change doc comment to match API change
b5ec8c145d467abbc6eaf3306a5f6725e348ceec 20-Apr-2013 Kenny Root <kroot@google.com> Change doc comment to match API change

API change in f0d4777473f25847d67fc17fc082fada08cf678d didn't update a
comment to match which caused doc build failures.

Bug: 8603279
Change-Id: I475dc569747ae5d34b4267537370f18446386bb9
ediaDrm.java
924f1b962c3a8e700a695cb65cb07c17cf90c696 20-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> Identify in logs launch of voice search from key events

Clearly identify in the logs when AudioService starts one of
the following two intents in response to long-press on
the KEYCODE_HEADSETHOOK key: ACTION_WEB_SEARCH and
ACTION_VOICE_SEARCH_HANDS_FREE.

Bug 8095981

Change-Id: I14ca99533dfb011cdc530c0bafd8104ff2436c7d
udioService.java
7ffb2fb3daf05459267745643689cc0e5875e659 20-Apr-2013 Glenn Kasten <gkasten@google.com> Merge "Fix AOSP issue 9742: Documentation inconsistancy [sic] in AudioTrack"
89249e90faee83c6a8a0dc3dcdbe69ba64b66179 19-Apr-2013 Jeff Tinker <jtinker@google.com> am 408e6637: am 26a54eca: Merge "Correct algorithm property name and clarify javadoc description of device unique id property." into jb-mr2-dev

* commit '408e663712b7f807ff1a0859c636e2dc4f53422c':
Correct algorithm property name and clarify javadoc description of device unique id property.
408e663712b7f807ff1a0859c636e2dc4f53422c 19-Apr-2013 Jeff Tinker <jtinker@google.com> am 26a54eca: Merge "Correct algorithm property name and clarify javadoc description of device unique id property." into jb-mr2-dev

* commit '26a54ecaa556f72086790caa133e5a8d31652d8a':
Correct algorithm property name and clarify javadoc description of device unique id property.
e8c82a37050e568f211d47951480b182a61d42b4 05-Apr-2013 Glenn Kasten <gkasten@google.com> Fix AOSP issue 9742: Documentation inconsistancy [sic] in AudioTrack

See https://code.google.com/p/android/issues/detail?id=9742

Change-Id: I7e1fe0c3ac6e3b9367e4815097549250778766fa
udioTrack.java
f0d4777473f25847d67fc17fc082fada08cf678d 19-Apr-2013 Jeff Tinker <jtinker@google.com> Correct algorithm property name and clarify javadoc description of
device unique id property.

bug: 8603279
Change-Id: If56d568072b3c09e5f63901e285d0eaa3c77ff7a
ediaDrm.java
b05c3f5ed2e6774dd484a2bc799b430c69fe818c 19-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> am 0068e00d: am 91695a0c: Merge "Anti-drift in RCC playback position" into jb-mr2-dev

* commit '0068e00ddc625280ea230ca3fb819e901595c03d':
Anti-drift in RCC playback position
0068e00ddc625280ea230ca3fb819e901595c03d 19-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> am 91695a0c: Merge "Anti-drift in RCC playback position" into jb-mr2-dev

* commit '91695a0cdc0aaab3d3f939d9adb8855938b4f69d':
Anti-drift in RCC playback position
91695a0cdc0aaab3d3f939d9adb8855938b4f69d 19-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Anti-drift in RCC playback position" into jb-mr2-dev
2770caafed91d05b0286b627d626820b3c236df4 19-Apr-2013 Eric Laurent <elaurent@google.com> am 747847fa: am 56af4f21: Merge "AudioService: SCO audio backward compatibility" into jb-mr2-dev

* commit '747847fa128ebda5aab1afe15f64a2997cbb0cce':
AudioService: SCO audio backward compatibility
747847fa128ebda5aab1afe15f64a2997cbb0cce 19-Apr-2013 Eric Laurent <elaurent@google.com> am 56af4f21: Merge "AudioService: SCO audio backward compatibility" into jb-mr2-dev

* commit '56af4f212a21fe08b54de10322e023b09fa125aa':
AudioService: SCO audio backward compatibility
74312d96e0ac8678e076d3f96804f37293b4e9e1 19-Apr-2013 Andreas Huber <andih@google.com> am dbc26a86: am 6ead6cca: Merge "Add some documentation to MediaCodecInfo" into jb-mr2-dev

* commit 'dbc26a867d0a90319b0b016f9d658d9e754d6cb2':
Add some documentation to MediaCodecInfo
56af4f212a21fe08b54de10322e023b09fa125aa 19-Apr-2013 Eric Laurent <elaurent@google.com> Merge "AudioService: SCO audio backward compatibility" into jb-mr2-dev
dbc26a867d0a90319b0b016f9d658d9e754d6cb2 19-Apr-2013 Andreas Huber <andih@google.com> am 6ead6cca: Merge "Add some documentation to MediaCodecInfo" into jb-mr2-dev

* commit '6ead6ccac9727993559c9f09f1e8da3c69ee3313':
Add some documentation to MediaCodecInfo
521e68e76cfdcf297d0de056032dc142d4939fa0 17-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> Anti-drift in RCC playback position

Periodically verify that the reported playback position hasn't
drifted from the estimated playback position.
If a drift is noticed, re-synchronize registered
IRemoteControlDisplay implementations.

bug 8120740

Note that this implementation updates the playback position
of all IRemoteControlDisplay implementations,
and always causes the OnGetPlaybackPositionListener to be
called. This might be undesirable in some circumstances
and will be addressed in a subsequent CL.

Change-Id: Ib9f40e1b000e912f6c35fa03e41adf81efadc894
emoteControlClient.java
ba9269a5855b6d9d581af09077caafbd45180b41 19-Apr-2013 Andreas Huber <andih@google.com> Add some documentation to MediaCodecInfo

Change-Id: Ia94cde04af37e46b5d4b9c171dc50112134042b8
related-to-bug: 8657165
ediaCodecInfo.java
d32885bb7fe17a331598908ab4e273cd5933a6c5 18-Apr-2013 Jeff Tinker <jtinker@google.com> am 4efe71ae: am 45d59a99: Merge "Make MediaDrm APIs public" into jb-mr2-dev

* commit '4efe71ae55db09a4e3d727175df97d5bcda0449c':
Make MediaDrm APIs public
4efe71ae55db09a4e3d727175df97d5bcda0449c 18-Apr-2013 Jeff Tinker <jtinker@google.com> am 45d59a99: Merge "Make MediaDrm APIs public" into jb-mr2-dev

* commit '45d59a997f639662e4ce427933d81667fee39bcd':
Make MediaDrm APIs public
45d59a997f639662e4ce427933d81667fee39bcd 18-Apr-2013 Jeff Tinker <jtinker@google.com> Merge "Make MediaDrm APIs public" into jb-mr2-dev
c18c9138cee0f0859bcab636a004ce92ca4a9ab5 13-Apr-2013 Eric Laurent <elaurent@google.com> AudioService: SCO audio backward compatibility

After commit 25fc29b3, AudioManager.startBluetoothSco()
does not use virtual voice call mode anymore when starting the
SCO audio connection to the headset.
To help backward compatibility, this change makes that virtual voice call
is used if the request comes from an application targeting a SDK version
before JB MR2. For applications targeted to JB MR2 and above a raw SCO
audio connection is established.

Bug 8157702

Change-Id: If1ded2fd99b7ed76d2435d95ee03659e78a7882a
udioManager.java
udioService.java
AudioService.aidl
e1c76bebef41d362369627ed0c06ea9a01c6bddb 04-Apr-2013 Jeff Tinker <jtinker@google.com> Make MediaDrm APIs public

bug: 8603279

Change-Id: I9fab2673867ad413a084933cee7239d13e8b7893
ediaDrm.java
ediaDrmException.java
d5e1495723778b6765b42b1828fe32b5ec99750c 17-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> am aa4e2462: am e1546df2: Merge "Fix message handling in RemoteControlClient" into jb-mr2-dev

* commit 'aa4e246271fa837c373b71fbaa671f0cbc336eca':
Fix message handling in RemoteControlClient
aa4e246271fa837c373b71fbaa671f0cbc336eca 17-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> am e1546df2: Merge "Fix message handling in RemoteControlClient" into jb-mr2-dev

* commit 'e1546df25a7de17195f5b38ca90cad8447c288d0':
Fix message handling in RemoteControlClient
05e7c2ff8cd6b6386d8c553995c2d12075833e4a 17-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> Fix message handling in RemoteControlClient

Internal message must go through the message queue, not be
dispatched immediately.
Missing 'break' when handling MSG_SEEK_TO message.
This was spamming the log with fake error messages.

Bug 8120740

Change-Id: Ib53ec05ef33133637e587eb1b24dac9ea32a5680
emoteControlClient.java
4efc5b5cfb1b9885ff4294f6fa2de9ea74bd48b1 15-Apr-2013 Jeff Tinker <jtinker@google.com> am 29b5e170: am 7fa9667f: Merge "Clarify how release of offline keys is handled in the MediaDrm API" into jb-mr2-dev

* commit '29b5e1701bdf06861d0eae4a3be05a7012c5e1c6':
Clarify how release of offline keys is handled in the MediaDrm API
29b5e1701bdf06861d0eae4a3be05a7012c5e1c6 15-Apr-2013 Jeff Tinker <jtinker@google.com> am 7fa9667f: Merge "Clarify how release of offline keys is handled in the MediaDrm API" into jb-mr2-dev

* commit '7fa9667f63fe84a2d17ce899121f32bfcec98864':
Clarify how release of offline keys is handled in the MediaDrm API
7fa9667f63fe84a2d17ce899121f32bfcec98864 15-Apr-2013 Jeff Tinker <jtinker@google.com> Merge "Clarify how release of offline keys is handled in the MediaDrm API" into jb-mr2-dev
085e0f1240741f08b36673f4504f398bd65b76eb 15-Apr-2013 Scott Main <smain@google.com> am feb5a728: am fb5e6bbd: Merge "fix javadoc build" into jb-mr2-dev

* commit 'feb5a72843ffa6df0140a8c1cfa9c42f6612e19f':
fix javadoc build
feb5a72843ffa6df0140a8c1cfa9c42f6612e19f 15-Apr-2013 Scott Main <smain@google.com> am fb5e6bbd: Merge "fix javadoc build" into jb-mr2-dev

* commit 'fb5e6bbd2bf9ad8a71fc798be3ef12b950476f43':
fix javadoc build
e63b0609c3b5f6c21d4e006ee9ddd3ba98a4e684 15-Apr-2013 Scott Main <smain@google.com> fix javadoc build

Change-Id: I9b86dda5aea075832d5e165043f45c8d507b5c16
emoteControlClient.java
46863c6dea1fc7e21e23435ea3f4a0fee466e896 15-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> am 42732e10: am 74e56f19: Merge "Public APIs for media position in RemoteControlClient" into jb-mr2-dev

* commit '42732e1037b48e9bf71e9965bc28ddb5d8242fa4':
Public APIs for media position in RemoteControlClient
42732e1037b48e9bf71e9965bc28ddb5d8242fa4 15-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> am 74e56f19: Merge "Public APIs for media position in RemoteControlClient" into jb-mr2-dev

* commit '74e56f19299cd04e2e6c6a9a19af260551750d6a':
Public APIs for media position in RemoteControlClient
74e56f19299cd04e2e6c6a9a19af260551750d6a 15-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Public APIs for media position in RemoteControlClient" into jb-mr2-dev
9015e018eb30049483fc7245bc3c29113f9d949d 15-Apr-2013 Andreas Huber <andih@google.com> am e813a85c: am 2de0771d: Merge "MediaExtractor.setDataSource(...) has always thrown IOExceptions from" into jb-mr2-dev

* commit 'e813a85c97f542bbfc306a30ce2ae4c305133203':
MediaExtractor.setDataSource(...) has always thrown IOExceptions from
a7407ef01ecd45baf19ce6d9e6f2e72438c238fa 15-Apr-2013 Andreas Huber <andih@google.com> am baf4a057: am 5c5c3f3a: Merge "Document that MediaPlayer.getDuration() returns an invalid value (-1)" into jb-mr2-dev

* commit 'baf4a057f8d4b5a97a5b3da276b59c2cd175e4b7':
Document that MediaPlayer.getDuration() returns an invalid value (-1)
e813a85c97f542bbfc306a30ce2ae4c305133203 15-Apr-2013 Andreas Huber <andih@google.com> am 2de0771d: Merge "MediaExtractor.setDataSource(...) has always thrown IOExceptions from" into jb-mr2-dev

* commit '2de0771da2b6c07f717d62ae4e4be93702af9a43':
MediaExtractor.setDataSource(...) has always thrown IOExceptions from
baf4a057f8d4b5a97a5b3da276b59c2cd175e4b7 15-Apr-2013 Andreas Huber <andih@google.com> am 5c5c3f3a: Merge "Document that MediaPlayer.getDuration() returns an invalid value (-1)" into jb-mr2-dev

* commit '5c5c3f3abd8a95bf46378fd93b13160ad52e74ff':
Document that MediaPlayer.getDuration() returns an invalid value (-1)
2de0771da2b6c07f717d62ae4e4be93702af9a43 15-Apr-2013 Andreas Huber <andih@google.com> Merge "MediaExtractor.setDataSource(...) has always thrown IOExceptions from" into jb-mr2-dev
915747730060dff71b5b2ca7e4ee4073024fc24e 11-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> Public APIs for media position in RemoteControlClient

New APIs in android.media.RemoteControlClient to support application
exposing their current media playback position and speed, and
let the framework request position changes.

Bug 8120740

Change-Id: Ibfc41f60e279413c26147e3276d96f28b7f506e7
emoteControlClient.java
d8bbfc2750fa24a0374dd3525d2759692e6b9285 12-Apr-2013 Jeff Tinker <jtinker@google.com> Clarify how release of offline keys is handled in the MediaDrm API

bug: 8603820

Change-Id: Ifeda018fbbbb9905e62ee242da2ede1ed89868a2
ediaDrm.java
7cd281c332e81c93fde44d1a394b04843bebd723 11-Apr-2013 Andreas Huber <andih@google.com> Document that MediaPlayer.getDuration() returns an invalid value (-1)

if no duration information was available.

Change-Id: If064627cca7915f4562b6d61bfd4ceb9a3c9390c
related-to-bug: 8596285
ediaPlayer.java
a57da0dc5a5b863cdb12287699ba58f34529bd62 11-Apr-2013 Andreas Huber <andih@google.com> MediaExtractor.setDataSource(...) has always thrown IOExceptions from

within jni code, but failed to document this fact. No more.

Change-Id: If55980616e974637209dea2b7a28b2481b55cea4
related-to-bug: 8470755
ediaExtractor.java
ad7cc9e6df86246ca41826cfadaf1c82b7077ead 11-Apr-2013 Adam Powell <adamp@google.com> am 66104e1e: am 521eeaef: Merge "Make MediaRouter ignore remembered wifi displays when wifi display is off" into jb-mr2-dev

* commit '66104e1e19316d2c0a7b978093e2d9166f9cbda4':
Make MediaRouter ignore remembered wifi displays when wifi display is off
66104e1e19316d2c0a7b978093e2d9166f9cbda4 11-Apr-2013 Adam Powell <adamp@google.com> am 521eeaef: Merge "Make MediaRouter ignore remembered wifi displays when wifi display is off" into jb-mr2-dev

* commit '521eeaefcb4b78a8b571d1a1b4f095d993aea8b6':
Make MediaRouter ignore remembered wifi displays when wifi display is off
615e413a90ff5898d8c458ebc9649ca95fa9fd98 11-Apr-2013 Adam Powell <adamp@google.com> Make MediaRouter ignore remembered wifi displays when wifi display is off

Bug 8417329

Change-Id: Ica9bf1b250be4b72ba32e63d7eb1a6ff0b727961
ediaRouter.java
04fbed4377c0cc22bf05215c8cbe511bc2eb9ff9 10-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> am bb15974b: am 8515256a: Merge "Handle seek requests in AudioService" into jb-mr2-dev

* commit 'bb15974b72618396e5f04138427b49c22bc90dea':
Handle seek requests in AudioService
bb15974b72618396e5f04138427b49c22bc90dea 10-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> am 8515256a: Merge "Handle seek requests in AudioService" into jb-mr2-dev

* commit '8515256ad477721a97108745da4c86f378f50637':
Handle seek requests in AudioService
8515256ad477721a97108745da4c86f378f50637 10-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Handle seek requests in AudioService" into jb-mr2-dev
3fbf67e217fb489fe7318a9e43d8ae86646eb4cc 09-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> Handle seek requests in AudioService

AudioService handles seek requests to RemoteControlClients.
Discard old or unprocessed seek requests when handling a new one.
Update javadoc for OnPlaybackPositionUpdateListener interface.

bug 8120740

Change-Id: Id17c2852b24d4b8af85e472a177484b98cfeba05
udioService.java
emoteControlClient.java
574215e1f39dc0ef096d64e0fee3f9b0a1fe2d5d 09-Apr-2013 Marco Nelissen <marcone@google.com> am d563cede: am c4ad3cb0: Merge "Add support for common encryption" into jb-mr2-dev

* commit 'd563cede5cf4ca2647dcf00775dd0ed1dd08e792':
Add support for common encryption
d563cede5cf4ca2647dcf00775dd0ed1dd08e792 09-Apr-2013 Marco Nelissen <marcone@google.com> am c4ad3cb0: Merge "Add support for common encryption" into jb-mr2-dev

* commit 'c4ad3cb07ed76c5697c60285456d9c49675174d9':
Add support for common encryption
c4ad3cb07ed76c5697c60285456d9c49675174d9 09-Apr-2013 Marco Nelissen <marcone@google.com> Merge "Add support for common encryption" into jb-mr2-dev
e20a6d5c479909f37af748a81a6e5a5deb7b6e2c 08-Apr-2013 Marco Nelissen <marcone@google.com> Add support for common encryption

Change-Id: I2d56a6a90dff3ce1c37296934fca01b8a2ca0f89
ediaCodec.java
ediaExtractor.java
e6bec854d5730426a5338b873490d8963da88471 08-Apr-2013 Dianne Hackborn <hackbod@google.com> am 3793b928: am bc948101: Merge "Have audio service clean up new receivers in crashing processes." into jb-mr2-dev

* commit '3793b92816d940b265468e9f2f071fbf35db534d':
Have audio service clean up new receivers in crashing processes.
3793b92816d940b265468e9f2f071fbf35db534d 08-Apr-2013 Dianne Hackborn <hackbod@google.com> am bc948101: Merge "Have audio service clean up new receivers in crashing processes." into jb-mr2-dev

* commit 'bc948101043b3c4b57eb6e0e2421494fd7c1d41e':
Have audio service clean up new receivers in crashing processes.
bc948101043b3c4b57eb6e0e2421494fd7c1d41e 08-Apr-2013 Dianne Hackborn <hackbod@google.com> Merge "Have audio service clean up new receivers in crashing processes." into jb-mr2-dev
79f7ec70ebd5758ce54fd5b6fcd60fd27457cba6 05-Apr-2013 Dianne Hackborn <hackbod@google.com> Have audio service clean up new receivers in crashing processes.

The new media button receiver with only a pending intent (no
component name) could be left hanging if the process that
registered it went away. These semantically need to be tied
to the calling process's lifetime; we now clean them up when
the calling process goes away.

Also added some additional cleanup of media button receivers
when packages change (updated, cleared).

And on top of that, a new "media" command for doing media
things. Currently lets you send media keys and monitor
remote display data.

Oh and finally added a new BaseCommand base class for
implementing these command line utilities.

Change-Id: Iba1d56f10bab1eec4a94a7bb1d1c2ae614c8bcf5
udioManager.java
udioService.java
AudioService.aidl
8c75967799727119eeb2ac72db51b82348178d1b 08-Apr-2013 ztenghui <ztenghui@google.com> am 34dd708a: am 50b9eb1c: Merge "Update the documentiation for MediaMuxer::writeSampleData()" into jb-mr2-dev

* commit '34dd708a21ef49f22877c262e0fec07872624087':
Update the documentiation for MediaMuxer::writeSampleData()
34dd708a21ef49f22877c262e0fec07872624087 08-Apr-2013 ztenghui <ztenghui@google.com> am 50b9eb1c: Merge "Update the documentiation for MediaMuxer::writeSampleData()" into jb-mr2-dev

* commit '50b9eb1c7375a87525d44a036337a8ba18eba55b':
Update the documentiation for MediaMuxer::writeSampleData()
50b9eb1c7375a87525d44a036337a8ba18eba55b 08-Apr-2013 ztenghui <ztenghui@google.com> Merge "Update the documentiation for MediaMuxer::writeSampleData()" into jb-mr2-dev
2f633c83fc438194688947e29de20b5df0d46583 06-Apr-2013 Eric Laurent <elaurent@google.com> am 1a39d1bf: am e8d9d2b3: Merge "AudioService: do not use virtual call for bt sco" into jb-mr2-dev

* commit '1a39d1bff409e3b75be6590c4b67d428cb4e97d7':
AudioService: do not use virtual call for bt sco
1a39d1bff409e3b75be6590c4b67d428cb4e97d7 06-Apr-2013 Eric Laurent <elaurent@google.com> am e8d9d2b3: Merge "AudioService: do not use virtual call for bt sco" into jb-mr2-dev

* commit 'e8d9d2b3352bdeba0a455666bda9eb64b75198f7':
AudioService: do not use virtual call for bt sco
e8d9d2b3352bdeba0a455666bda9eb64b75198f7 06-Apr-2013 Eric Laurent <elaurent@google.com> Merge "AudioService: do not use virtual call for bt sco" into jb-mr2-dev
25fc29b3691a1d2a84164988dc74b2e7d301868e 05-Apr-2013 Eric Laurent <elaurent@google.com> AudioService: do not use virtual call for bt sco

Do not use startScoUsingVirtualVoiceCall() BluetoothHeadset
API to connect SCO audio. This will cause headsets to act as if an incoming
call was received which is not what we want for voice commands.

Bug 8157702

Change-Id: I271909d4d1f3822758740a8484e3d2d8b4f34c00
udioService.java
c71b045d88c222b78d9bc6da99f9ececfc4a16f6 05-Apr-2013 Glenn Kasten <gkasten@google.com> Merge "Update AudioTrack docs for source sample rate"
a074fcffec612c07f50729eb9cfd271307a7d356 05-Apr-2013 Glenn Kasten <gkasten@google.com> am 90771cba: am 564c866b: Merge "Fix AudioTrack.setPlaybackRate() error handling" into jb-mr2-dev

* commit '90771cbaeddc33963d0f1ac1780953b864a50006':
Fix AudioTrack.setPlaybackRate() error handling
90771cbaeddc33963d0f1ac1780953b864a50006 05-Apr-2013 Glenn Kasten <gkasten@google.com> am 564c866b: Merge "Fix AudioTrack.setPlaybackRate() error handling" into jb-mr2-dev

* commit '564c866bdfa0a415bfd34722767836add1517951':
Fix AudioTrack.setPlaybackRate() error handling
564c866bdfa0a415bfd34722767836add1517951 05-Apr-2013 Glenn Kasten <gkasten@google.com> Merge "Fix AudioTrack.setPlaybackRate() error handling" into jb-mr2-dev
8d7fa137466c833ed422053204fb4c506b7bb209 15-Mar-2013 Glenn Kasten <gkasten@google.com> Update AudioTrack docs for source sample rate

Add "source" for sampling rate.
Add "initial" to constructor sample rate parameter.
Abbreviate Hertz to standard Hz.

Unrelated:
- fix spelling typo
- add comment to session ID parameter

Change-Id: I0902ba5d77ff21fc961f717c984f28255d5fe9b3
udioTrack.java
9e2e8e0b6d39e9f8b9078a6404931d4423205266 05-Apr-2013 Jeff Tinker <jtinker@google.com> am 72e2307c: am 1e0f36cf: Merge "Implement async event callout from drm plugin to Java app" into jb-mr2-dev

* commit '72e2307c6a84de5770dd1aa2943d3d609d29baf3':
Implement async event callout from drm plugin to Java app
72e2307c6a84de5770dd1aa2943d3d609d29baf3 05-Apr-2013 Jeff Tinker <jtinker@google.com> am 1e0f36cf: Merge "Implement async event callout from drm plugin to Java app" into jb-mr2-dev

* commit '1e0f36cffd8a4399fcd12e25bddde4544992bcb2':
Implement async event callout from drm plugin to Java app
1e0f36cffd8a4399fcd12e25bddde4544992bcb2 05-Apr-2013 Jeff Tinker <jtinker@google.com> Merge "Implement async event callout from drm plugin to Java app" into jb-mr2-dev
e4d9a01bfc7451afff1ed399a5801c7aa2af2831 29-Mar-2013 Dan Morrill <morrildl@google.com> Phase 1 of refactoring SystemServer.

SystemServer is currently a monolithic class that brings up key system
services. This change is the first phase of refactoring it to be more
configurable. Specifically, it adds a set of on/off switches used to control
startup of individual services. Future plans include finer grained controls
and a more explicit and consistent startup sequence for these services.

Change-Id: I7299f5ce7d7b74a34eb56dffb788366fbc058532
oundPool.java
f19395db6343efdf80d064e0ba7c3b9aa4dbae75 04-Apr-2013 Glenn Kasten <gkasten@google.com> Fix AudioTrack.setPlaybackRate() error handling

CTS expects that setPlaybackRate() returns an error for a static buffer
AudioTrack that has not yet had any data written to the buffer.

Bug: 8181114
Change-Id: I17ba039368468f6ccd1eec5322018bfe420c09c8
udioTrack.java
314b25d0fd9fae7eff7930fef32458518e8a227d 03-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> resolved conflicts for merge of ca762bee to master

Change-Id: Ib57124c30352b4f6ed66f384b386eb6f49b505c1
ca762beea440ec497fd8d6f6f50ac0904a2b0a05 03-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> am 6a570204: Merge "RemoteControlClient receives playback position change requests" into jb-mr2-dev

* commit '6a5702041f48f868863a0454d7df6cd64eab235d':
RemoteControlClient receives playback position change requests
6a5702041f48f868863a0454d7df6cd64eab235d 03-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "RemoteControlClient receives playback position change requests" into jb-mr2-dev
9c2be9bcb7a6cb3a02d39403932c2250924f62cd 03-Apr-2013 Andreas Huber <andih@google.com> am 9a1ff831: am c9a1ca3c: Merge "MediaCodec: docs: Clarify that audio/mp4a-latm is plain AAC, not in LATM"

* commit '9a1ff831b755c22e26107a8f446ed02fbde5ccb5':
MediaCodec: docs: Clarify that audio/mp4a-latm is plain AAC, not in LATM
9a1ff831b755c22e26107a8f446ed02fbde5ccb5 03-Apr-2013 Andreas Huber <andih@google.com> am c9a1ca3c: Merge "MediaCodec: docs: Clarify that audio/mp4a-latm is plain AAC, not in LATM"

* commit 'c9a1ca3c1a9f8591b675b980c1e390be8d901b39':
MediaCodec: docs: Clarify that audio/mp4a-latm is plain AAC, not in LATM
f7d3aae32859a52c24713dba30e4d7ef779fdfb1 03-Apr-2013 ztenghui <ztenghui@google.com> Update the documentiation for MediaMuxer::writeSampleData()

Change-Id: I7a5591c7b14728c1833e6401dcd8f0272c4ee56c
ediaMuxer.java
54cfbd6dc28334119c33b6a77779bfe244c71e69 02-Apr-2013 Jeff Tinker <jtinker@google.com> Implement async event callout from drm plugin to Java app

Change-Id: I451b7c6f766aafac39ce432a71ef5a03bffe29f1
ediaDrm.java
c9a1ca3c1a9f8591b675b980c1e390be8d901b39 03-Apr-2013 Andreas Huber <andih@google.com> Merge "MediaCodec: docs: Clarify that audio/mp4a-latm is plain AAC, not in LATM"
6a411bc0625f3005efa531b206fe1055ec2fdacd 03-Apr-2013 Jeff Tinker <jtinker@google.com> am 30b95a60: am 5c0ce512: Merge "MediaDrm API update" into jb-mr2-dev

* commit '30b95a606a105bdd2f323da28fcde485a65ebc91':
MediaDrm API update
5c0ce512c5782eb79c7b907e2dd20aa3896dd068 03-Apr-2013 Jeff Tinker <jtinker@google.com> Merge "MediaDrm API update" into jb-mr2-dev
5d26e13281d7efdfd4bde48ecbe81c19af91da85 02-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> am 5514aff4: am c3c7b92a: Merge "Clean up role of component name in media button event receiver" into jb-mr2-dev

* commit '5514aff44d506ce23cd14d73962de335224db707':
Clean up role of component name in media button event receiver
c4b55722592b2883b70fe50ef5f4183aa7013245 02-Apr-2013 Jeff Brown <jeffbrown@google.com> am 6c48c431: am 579b0c09: Merge "Fix a doc typo." into jb-mr2-dev

* commit '6c48c4317e29002281ef18bd706b530986a26964':
Fix a doc typo.
edd719a9b520b3c8928304bfcd25a90e46555190 02-Apr-2013 Eric Laurent <elaurent@google.com> am 756561f1: am 742647c8: Merge "AudioService: removed last audible volume index" into jb-mr2-dev

* commit '756561f1fc980ac7212141c5a5e27182a94a36d1':
AudioService: removed last audible volume index
c3c7b92a8128831445d2a185b0986c60d929b150 02-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Clean up role of component name in media button event receiver" into jb-mr2-dev
16b8cffb2893c10c35788191847500004da466d1 31-Mar-2013 Jeff Tinker <jtinker@google.com> MediaDrm API update

Clarify offline usage of sessions and keys and implement
implement CryptoSession to support additional crypto use
cases.

Change-Id: Id3f8c706e9e3034b09af8e2a6a2f26bd74a49f93
ediaDrm.java
579b0c091cd64a27b3e7d5bad8668dd9f3f92bb3 02-Apr-2013 Jeff Brown <jeffbrown@google.com> Merge "Fix a doc typo." into jb-mr2-dev
24e22d19a2316ff89be2530eb9bde5b3607ecf4c 02-Apr-2013 Jeff Brown <jeffbrown@google.com> Fix a doc typo.

Change-Id: Id41af7644e552b0fbfe90818d0a9f42178c6474d
ediaMetadataRetriever.java
3261b537c5fdec824575a1f6ad6d8942715e82e2 01-Apr-2013 Jean-Michel Trivi <jmtrivi@google.com> RemoteControlClient receives playback position change requests

RemoteControlClient defines two listener interfaces for playback
position, one to let the framework query the current playback
position, the other to request playback to seek to a given
position.

Updated IRemoteControlDisplay interface to support passing info
about whether the user of RemoteControlClient can provide a
playback position, and receive a new one.
Updated implementations of IRemoteControlDisplay to new
interface.

Bug 8120740

Change-Id: I1a5a969da4d0f8c9ad27f691919dd08f8653982b
udioManager.java
udioService.java
AudioService.aidl
RemoteControlClient.aidl
RemoteControlDisplay.aidl
emoteControlClient.java
742647c809622703207c34171d482c562e34b10b 02-Apr-2013 Eric Laurent <elaurent@google.com> Merge "AudioService: removed last audible volume index" into jb-mr2-dev
42b041ed4f184e3af7f788eb07307f556a2a6616 29-Mar-2013 Eric Laurent <elaurent@google.com> AudioService: removed last audible volume index

Removed storage of last audible stream volume index.
This information is redundant because we already have
two pieces of information (current volume and mute state)
allowing to completely define which volume should actually
be applied by the framework or indicated to apps.

The last audible index management had anyway been broken by
successive changes making that the value stored could be 0
in some cases causing problems like issue 8109149 when
restoring the volume settings from the DB.

Bug 8109149

Change-Id: Iea80f5a994554e42d45b227f651ec9646844aa77
udioService.java
b839b83c7349533b4cb7278fd3d792b47199ba36 30-Mar-2013 Jean-Michel Trivi <jmtrivi@google.com> Clean up role of component name in media button event receiver

A public API was added to AudioManager to register a media button
event receiver whithout having to supply a ComponentName.
This CL updates the comments that specified that the now optional
ComponentName parameter can be null, and never persist the button
event receiver is there is no ComponentName to persist.
Also unregistering the media button receiver makes no use of
the ComponentName anymore.

Change-Id: Idcfed1e2a85feb6fa178ca7797427f238705957c
udioManager.java
udioService.java
AudioService.aidl
ddc3d75a5d08c30d26459eda0cf8651658f4d5b5 30-Mar-2013 Jean-Michel Trivi <jmtrivi@google.com> am 3af2d3f1: am 6f268369: Fix RemoteControlStackEntry constructor in AudioService

* commit '3af2d3f1dec6c5b5c7d5a3bca994b4d36c62fdd8':
Fix RemoteControlStackEntry constructor in AudioService
6f2683698ea1b316ae49623a7e9a13d9d9b53f71 30-Mar-2013 Jean-Michel Trivi <jmtrivi@google.com> Fix RemoteControlStackEntry constructor in AudioService

Add missing call to constructor of RccPlaybackState to initialize
the mPlaybackState field of the RemoteControlStackEntry class.

bug 8512601

Change-Id: I636d5c1b416d6a3d3808d5be53c9c544ab293732
udioService.java
d12edb08201d65c746ec44284f1b139effa8f224 30-Mar-2013 kmccormick <kmccormick@google.com> am cb937f23: am be1339ed: am 328f7b71: am 90fa2ae2: am 23b55e78: am 3fab60bd: am 183c95e0: Merge "Doc update: PlaybackCompleted valid state 4 pause" into jb-mr1.1-docs

* commit 'cb937f23fd35db726cc239e9c6156d2a86919793':
Doc update: PlaybackCompleted valid state 4 pause
be1339edc445eef19c3aa880b51a5c500cab6f82 30-Mar-2013 kmccormick <kmccormick@google.com> am 328f7b71: am 90fa2ae2: am 23b55e78: am 3fab60bd: am 183c95e0: Merge "Doc update: PlaybackCompleted valid state 4 pause" into jb-mr1.1-docs

* commit '328f7b7160d4c5a30c6810cbcd4aa01bb7b57dda':
Doc update: PlaybackCompleted valid state 4 pause
328f7b7160d4c5a30c6810cbcd4aa01bb7b57dda 30-Mar-2013 kmccormick <kmccormick@google.com> am 90fa2ae2: am 23b55e78: am 3fab60bd: am 183c95e0: Merge "Doc update: PlaybackCompleted valid state 4 pause" into jb-mr1.1-docs

* commit '90fa2ae28c200e0269f86f7d4e486ce781763a99':
Doc update: PlaybackCompleted valid state 4 pause
b04c07fb9b105fe55ea261283d0be2c817133d67 29-Mar-2013 kmccormick <kmccormick@google.com> Doc update: PlaybackCompleted valid state 4 pause

"Bug: 7962402"

Change-Id: Ie41d7085373794e98208d8815010b3ca1d81378c
ediaPlayer.java
7678a7beea7d457d20c60dc226328fd2252214ef 29-Mar-2013 Jean-Michel Trivi <jmtrivi@google.com> resolved conflicts for merge of 99bd302c to master

Change-Id: I858f67d0c61f6403b336c82a300f69027fc16bd1
bc43b4c2f24fd03c0d0546895c97918c1736d9fb 22-Mar-2013 Jean-Michel Trivi <jmtrivi@google.com> RemoteControlClient can report current position, speed

Extend RemoteControlClient class to support reporting the
current playback position, and the playback speed.
Define listener for an application to receive new playback
position to seek to (use of listener to be implemented).
Update IRemoteControlDisplay implementations to new interface.

bug 8120740

Change-Id: I2654daeca1ac49713d325df8226dceb85943c020
udioService.java
AudioService.aidl
RemoteControlDisplay.aidl
emoteControlClient.java
428a66b7b0fb70de4d4458fe89a52e6c5c778fa4 29-Mar-2013 Eric Laurent <elaurent@google.com> am 5efd8942: am dac3fd9d: Merge "audio service: fix BT SCO intent permission again" into jb-mr2-dev

* commit '5efd89423eb3937b9ab45935fc2c9c5ddb8671e2':
audio service: fix BT SCO intent permission again
6b5e22d52c69cb6d80ff09bd32395b0034ada343 29-Mar-2013 Eric Laurent <elaurent@google.com> audio service: fix BT SCO intent permission again

Commit 2a57ca93 did not address the calling permission
for setMode() method which can also indirectly call
BluetoothHeadset APIs.

Bug 8242429

Change-Id: I8483c0492836192f47984c48629291cb261b001b
udioService.java
8c9202b147ba5d881f679965d7f2afcfc98d2036 27-Mar-2013 Jean-Michel Trivi <jmtrivi@google.com> am 45554779: am f2b0fdb2: Merge "AudioEffect types in SDK" into jb-mr2-dev

* commit '455547795cdec66972546bbfd60d8697f5d8477e':
AudioEffect types in SDK
f2b0fdb2f7d701355d3fdb7b9a7780387cbf0e46 27-Mar-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioEffect types in SDK" into jb-mr2-dev
80569f7ff7db28ce98dde6e22bb4521ddbe5490a 26-Mar-2013 Jean-Michel Trivi <jmtrivi@google.com> AudioEffect types in SDK

Not all effect types are defined by OpenSL ES. Add the full UUID
effect identifier in the superclass of all audio effects.

bug 8113082

Change-Id: I8dfc6cdcfd2a145e792fb3669e6132e6f19d1c16
udiofx/AudioEffect.java
3dafcd040a699384a345cfe861226a0a5f48f498 26-Mar-2013 Eric Laurent <elaurent@google.com> am b93e7dc0: am d8b50ab6: Merge "AudioService: rewrite sound effects loading" into jb-mr2-dev

* commit 'b93e7dc0f55f3e54d7098047471125ae68246908':
AudioService: rewrite sound effects loading
5d3eb44a749ece55ce345f9d8ac608fc3715f9da 21-Mar-2013 Eric Laurent <elaurent@google.com> AudioService: rewrite sound effects loading

Handle all access to SoundPool in the message Handler to
synchronize load/unload and play requests.

Add a timeout to load operations in case a problem occurs while loading
a sample and the SoundPool callback is not called.

Bug 6633095

Change-Id: I39949e4c8b2f7ca2d8b760b1f92c7e0fcd0a46e1
udioService.java
368fbb61b520b80ce1fac65584961f913448b999 25-Mar-2013 Eric Laurent <elaurent@google.com> am e4ad1a74: am 7c566bf3: Merge "audio service: add config option for fixed volume" into jb-mr2-dev

* commit 'e4ad1a7420f6ad9b7f3b1d28205ed3d18e2dd04d':
audio service: add config option for fixed volume
7c566bf3e4a10d74588b3e92ea3f6af310930f37 25-Mar-2013 Eric Laurent <elaurent@google.com> Merge "audio service: add config option for fixed volume" into jb-mr2-dev
e9e9aa650c8f5325fc404fadc1a8a031f9499ad5 23-Mar-2013 Dianne Hackborn <hackbod@google.com> am c31dc858: am 1a89c532: Merge "New media button API." into jb-mr2-dev

* commit 'c31dc858488ce291f434ab8bb7b90629f7a0ce27':
New media button API.
961cae92540763226648813d111c5b5c3b0f1597 20-Mar-2013 Dianne Hackborn <hackbod@google.com> New media button API.

This allows sending media buttons to any PendingIntent,
so they can be captured with a registered receiver.

Also add some new ViewTreeObserver APIs; this is all for
a new support library API to watch media buttons while an
app has input focus.

Change-Id: I3c51cef59460662b008c9a2cc87d6a6383c21855
udioManager.java
udioService.java
83a017b6b7c099d1a0293e5839be6477325aef06 20-Mar-2013 Eric Laurent <elaurent@google.com> audio service: add config option for fixed volume

Add a boolean configuration option config_useFixedVolume indicating if
stream volumes or master volume can be modified.
If the option is true, the AudioManager volume and mute APIs will be no ops and the
volumes will be maxed out.
To be consistent:
- the ringer mode is forced to normal and cannot be modified
- volume panel is never displayed
- volume settings are not available
- ringer mode global action is not displayed.

The default for this option if false.

This is useful for a class of devices intended for connection to a digital
audio output only, where the volume is directly controlled on the audio sink.

Bug 8161458

Change-Id: I2571d5ee79952ef0914d8fd1985816467a80adcd
udioService.java
28f77f45a51211dcb5c0b7f6fa23089d7f570b79 21-Mar-2013 Eric Laurent <elaurent@google.com> am 817bb7d0: am fc7c9b48: Merge "audio service: allow touch sounds customization" into jb-mr2-dev

* commit '817bb7d014dab572d834a8b9fd7d219b31745de4':
audio service: allow touch sounds customization
fc7c9b484a25e60a569253d9e0c24d1f4205f490 21-Mar-2013 Eric Laurent <elaurent@google.com> Merge "audio service: allow touch sounds customization" into jb-mr2-dev
2effb1dc55e31fec85bdbcb002eb8fb85544bdba 20-Mar-2013 ztenghui <ztenghui@google.com> am 39fecf19: am 1e7298b2: Merge "Add the orientation hint to the MediaMuxer" into jb-mr2-dev

* commit '39fecf197ac143f50aa7aaccefd1c55f4b3055de':
Add the orientation hint to the MediaMuxer
1e7298b250a3cddfcdcf54e413748e8eb71ca0c8 20-Mar-2013 ztenghui <ztenghui@google.com> Merge "Add the orientation hint to the MediaMuxer" into jb-mr2-dev
e78fced559d879b2e37b610d0d9a89daf08f0f2b 16-Mar-2013 Eric Laurent <elaurent@google.com> audio service: allow touch sounds customization

Added audio_assets.xml resource listing the
audio asset files for each touch sound effect.
This resource can be overlayed to customize the
touch sounds for a given device.

Bug 8339000

Change-Id: I8c156f0ce7f8769a58d77442fbd9c46b57c202e9
udioService.java
8bc2f2e38649a3974fb64e23bc0494baf0431b12 20-Mar-2013 Jeff Tinker <jtinker@google.com> am 1e724125: am d4a21185: Merge "Implementing MediaDrm APIs" into jb-mr2-dev

* commit '1e724125d81e2d780a4bf6d3c245a4e0b950f1df':
Implementing MediaDrm APIs
d4a2118585d6227ccdccb946c946275b81d99ec9 20-Mar-2013 Jeff Tinker <jtinker@google.com> Merge "Implementing MediaDrm APIs" into jb-mr2-dev
effc9b4839f3cc109fe3d8244022f3c898cd080b 13-Mar-2013 ztenghui <ztenghui@google.com> Add the orientation hint to the MediaMuxer

bug:7991013

Change-Id: I7e3e513851589e4ba7983d2c416152b2b08cbcfb
ediaMuxer.java
36b314587f187d631a471650dc37e04f38cb3e53 15-Mar-2013 ztenghui <ztenghui@google.com> am 93a2fde9: am faf0e89c: Merge "Make release() behaves the same way as other part of media framework" into jb-mr2-dev

* commit '93a2fde962618e46b2d5668807a19c720273fd3d':
Make release() behaves the same way as other part of media framework
faf0e89ce3bdb2c50eb5da671bc4fc2a618ebf89 15-Mar-2013 ztenghui <ztenghui@google.com> Merge "Make release() behaves the same way as other part of media framework" into jb-mr2-dev
a83df76859f0af12105bcea27e2e8d9f0b4d2c31 15-Mar-2013 ztenghui <ztenghui@google.com> Make release() behaves the same way as other part of media framework

bug:7991013

Change-Id: Ib3efa94c0a6a599f71517f80fb7c3842d8d4e74f
ediaMuxer.java
88730b9cdc1166426152032a740a0608c383b885 14-Mar-2013 Jean-Michel Trivi <jmtrivi@google.com> am 6a0b0973: am a1cebc1f: Merge "Fix race in media button intent registration" into jb-mr2-dev

* commit '6a0b0973cc133bf1a67c51b5b0f026b0f891a0ca':
Fix race in media button intent registration
a1cebc1f8ae2c4361078e3208ac7fa8c438fcf9c 14-Mar-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix race in media button intent registration" into jb-mr2-dev
eefee4396494655a67cea8bbcd8d892db9a96494 12-Mar-2013 Jean-Michel Trivi <jmtrivi@google.com> Fix race in media button intent registration

AudioManager.registerMediaButtonEventReceiver maps to
AudioService.registerMediaButtonIntent
AudioManager.registerRemoteControlClient maps to
AudioService.registerRemoteControlClient
To use RemoteControlClient, an application needs to have
first registered its button event receiver. Therefore
registerMediaButtonEventReceiver() needs to have
completed registration when returning, otherwise the
RemoteControlClient registration can sometimes fail due
to the lack of association between the button event
receiver and the RemoteControlClient.

Bug 8315459

Change-Id: I82c196c3f21a65e38bad275085ed4f9ec0ec60dd
AudioService.aidl
8a0c80fdcc46faa8cb8c9f4dda06f4b63ec2f906 08-Feb-2013 Jeff Tinker <jtinker@google.com> Implementing MediaDrm APIs

Change-Id: Ib6eeb9c04c5c5cf1d485f9004cd3e6a1047a1d19
ediaDrm.java
ediaDrmException.java
1f6fe3408d526109409f70f0aaab204161968ec5 12-Mar-2013 Eric Laurent <elaurent@google.com> am 1f8ac95a: am 9105ce74: Merge "audio service: fix regression in startBluetoothSco" into jb-mr2-dev

* commit '1f8ac95ac6dba5b646e19acef0effbdae5491a6a':
audio service: fix regression in startBluetoothSco
f5a1fc3c0fd733acd21e1437f153ba27220be8ce 12-Mar-2013 Eric Laurent <elaurent@google.com> audio service: fix regression in startBluetoothSco

Commit 2a57ca93 introduced a regression in startBluetoothSco()
where the calling pid was cleared before creating the entry for
the client app. The pid in the entry was always the system server pid
and the SCO client verification logic was broken preventing the activation
of the BT SCO connection.

Change-Id: I4e024b22fceb350f829ff0d8664703faeef7af48
udioService.java
c1059ca337bce554056467dc79de6aecf4569f9e 12-Mar-2013 Jean-Michel Trivi <jmtrivi@google.com> am a2bb9327: am 7c8aeadd: Merge "Support multiple IRemoteControlDisplay" into jb-mr2-dev

* commit 'a2bb93273481f8d7633c993c22e8a31ab5930c22':
Support multiple IRemoteControlDisplay
7c8aeadd9a010b79c04261f0a9092942d1db0dc2 12-Mar-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Support multiple IRemoteControlDisplay" into jb-mr2-dev
bb709246f3a7d8a460aa8b1b5d2b90180802ba53 11-Mar-2013 Eric Laurent <elaurent@google.com> am 94a731fa: am 5ef14b25: Merge "audio service: fix BT SCO intent permission" into jb-mr2-dev

* commit '94a731fabf6830ef3068e78ab0ac435f67daa6a8':
audio service: fix BT SCO intent permission
5ef14b259fa07f08b29fa7888d39128456dc253a 11-Mar-2013 Eric Laurent <elaurent@google.com> Merge "audio service: fix BT SCO intent permission" into jb-mr2-dev
ec509edfa6c3bd4fe2e927ce74e5b9544ce53086 11-Mar-2013 ztenghui <ztenghui@google.com> am 8313ba36: am 8c63487f: Merge "Java API for MediaMuxer" into jb-mr2-dev

* commit '8313ba36b0186dd93c481cd85418d3e78b33e6ed':
Java API for MediaMuxer
68ccf103a10c674f1db649bb15bb3e790bc6dad3 13-Feb-2013 ztenghui <ztenghui@google.com> Java API for MediaMuxer

Implement the Java API for MediaMuxer.

bug:7991013

Change-Id: Ibf3aa256cc1d89f1c7636b74c9fb53073d173636
ediaMuxer.java
4a5700556191c835116ec2a6997a4f16f464ac9d 04-Mar-2013 Jean-Michel Trivi <jmtrivi@google.com> Support multiple IRemoteControlDisplay

Modify RemoteControlClient and AudioService to support multiple
simulataneous IRemoteControlDisplay interfaces active at the
same time.

Change-Id: I9f200a488afdd62a5e6957e64624d745e0f28149
udioManager.java
udioService.java
AudioService.aidl
RemoteControlClient.aidl
emoteControlClient.java
d8cd823ff98e6711240740c4420819b1fa0aadd6 08-Mar-2013 Andy McFadden <fadden@android.com> am ed3ba97f: am 01eaa2d5: Merge "Tweak comment." into jb-mr2-dev

* commit 'ed3ba97f5c96da7b5231a65e150543656f26921f':
Tweak comment.
01eaa2d545a0b0dc28f8f13e6db7348bb6e098e3 08-Mar-2013 Andy McFadden <fadden@android.com> Merge "Tweak comment." into jb-mr2-dev
47a2db4943ea5c094a97a1627ff886409c2b31f0 08-Mar-2013 Andy McFadden <fadden@android.com> Tweak comment.

Change-Id: Ic99fefde512fa3a5b1fca2bc65cd37c8170e7f2c
ediaCodec.java
ecda86cebc60b072c66f9ab63677b057000095cc 08-Mar-2013 Andy McFadden <fadden@android.com> am fe8b6efb: am dd3e75fa: Merge "Publish new MediaCodec API" into jb-mr2-dev

* commit 'fe8b6efbb44476b28b0d8ea3d6cd405d5fbea770':
Publish new MediaCodec API
dd3e75fa6b9fd93790eec010f40c8bc1c3aeda3c 08-Mar-2013 Andy McFadden <fadden@android.com> Merge "Publish new MediaCodec API" into jb-mr2-dev
2a57ca931fefe817b6110101289721acaacfc808 08-Mar-2013 Eric Laurent <elaurent@google.com> audio service: fix BT SCO intent permission

Clear calling identity before calling BluetoothHeadset
methods from binder call.
Also send BT SCO audio state intents from the
message handler, not from binder calls.

Bug 8242429

Change-Id: I742ba8dc47a258dbee6fb9d57db302f2bffaafd7
udioService.java
083c7a58b7a50581ed0fd5c16ec86136524070d7 07-Mar-2013 Glenn Kasten <gkasten@google.com> Merge "AudioTrack comments and range checks"
34f17dd1f615c6285f4f344eb700923e2432e48e 06-Mar-2013 Andy McFadden <fadden@android.com> Publish new MediaCodec API

Un-hide two new methods in MediaCodec, one new constant, and a new
EGL extension.

Bug 7991062
Bug 8191230

Change-Id: I028669132d9ffda1e4b34a561bab3997bbd7dae5
ediaCodec.java
ediaCodecInfo.java
cbf4cd73a308c46d29a3042a47f691a4f53ac2a6 07-Mar-2013 Jeff Brown <jeffbrown@google.com> am 7987082e: am 3afc18af: Enhance MediaRouter API.

* commit '7987082ecdcbe5a9e7ca5e0e89e9e30985611dd6':
Enhance MediaRouter API.
e2a4b42c5b7f3475c1587f30d19afc12a190f009 12-Jul-2012 Glenn Kasten <gkasten@google.com> AudioTrack comments and range checks

Added range checks for setPlaybackHeadPosition and setLoopPoints to
correspond to the new implementation. The checks are not expected to
cause any significant incompatibilities for real apps.

Change-Id: Ia52723419e7d0e2c561a0d1eeb8f36a5376c4e03
udioTrack.java
3afc18af2cea898753b10e8575dcf20c11356bca 07-Mar-2013 Jeff Brown <jeffbrown@google.com> Enhance MediaRouter API.

The support library MediaRouter implementation needs a couple
of extra generally useful APIs in the platform MediaRouter to ensure
that it can safely synchronize its state.

Change-Id: I72c5652e10f3b6de48800abfa922affbefbd250f
ediaRouter.java
7003ffdd430a884a42da0c24a4cc49804feabd73 06-Mar-2013 Glenn Kasten <gkasten@google.com> Merge "Subclassing AudioTrack considered harmful"
43abdc486d19c137b79a2bde9ce4706c91656bda 05-Mar-2013 Andy McFadden <fadden@android.com> Merge "Implement Surface input to MediaCodec." into jb-mr2-dev
daa95754a53a9f90c4afaa4eccdc25f08fd2d264 05-Mar-2013 Marco Nelissen <marcone@google.com> am 056c610c: am b6a2978a: Merge "Performance increase in thumbnail handling"

* commit '056c610c9ba83fbf68e15fa4557620dc7820f087':
Performance increase in thumbnail handling
b6a2978a5118d66bcebc380b0c20e566b7cbdfda 05-Mar-2013 Marco Nelissen <marcone@google.com> Merge "Performance increase in thumbnail handling"
c9b6be7c402bd349f8d9322730256f593053dc52 05-Mar-2013 Dave Burke <daveburke@google.com> Add nullness check.

Bug: 8313121
Change-Id: Id2221e1c77eaf749ab4c4f6ec4cfa6684927c751
xifInterface.java
2621e40d0e0a496a96575768b7e2b70e3b3be640 19-Feb-2013 Andy McFadden <fadden@android.com> Implement Surface input to MediaCodec.

Adds two new public methods to MediaCodec, and one new public
constant to MediaCodecInfo (currently @hidden).

Bug 7991062

Change-Id: I830a9794e92334ad05c870cc5fc90be4652147a5
ediaCodec.java
ediaCodecInfo.java
66dfcd465c02d78cb4ff22e7b509ee42d4309286 28-Feb-2013 Marco Nelissen <marcone@google.com> When scanning a single file, take .nomedia into account

Make scanSingleFile behave the same way as scanMtpFile, by taking into
account whether there's a .nomedia file guarding the file being scanned.
Without this, downloaded (or otherwise explicitly scanned) images/video/music
will appear in Gallery and Music even if a .nomedia file is hiding them.

Change-Id: Ib9ad4bda1b9a942f79a37ccd8e6a54d57710f528
ediaScanner.java
aac753dcf8862b416773eabaabb9d938a30f5896 22-Feb-2013 John Spurlock <jspurlock@google.com> DO NOT MERGE - Small documentation fix for AudioManager.java

Correct typo + copy-paste description issue.

Cherry-pick of CL Idce7cfeb7255d96aef91efc40d19f077dde3e9a5 from
master.

Change-Id: I1b6f378d58eafdd4a265672a12189273b41f72d6
udioManager.java
d2aaff582ad7928291bd1ba6e7fb5f5366e8e189 26-Feb-2013 Martin Storsjo <martin@martin.st> MediaCodec: docs: Clarify that audio/mp4a-latm is plain AAC, not in LATM

The mime type name is unfortunate since it implies that the data
should be provided as a LATM bitstream, which it should not.

Change-Id: I3c997025342e3298729db2bfaeace9fcac001af9
ediaCodec.java
788717ca599c714d58b2cb5deea1d37b4a711c07 16-Feb-2013 Eino-Ville Talvala <etalvala@google.com> Camera and MediaRecorder: Support AppOps

- Allow media processes to update AppOps state
- Pass package name to media services

Bug: 8181262
Change-Id: I115d39f0b306cb9eb7cd3d3e663c680b7322fd3f
ediaRecorder.java
e72409fe779f620382c5bd0b82f4a32ac91d9fe4 07-Feb-2013 Kunter Gultekin <kuntergultekin@google.com> Adds vp8 profile and levels to MediaCodecInfo.

In line with ongoing effort of adding vpx encoder to
stagefright (https://android-review.googlesource.com/50893)
we need to add profile and level values for VP8.

VP8 profiles and levels are defined in OMX IL 1.1.2
extension headers, which is also being added here
https://android-review.googlesource.com/51272

This alters the public API.

Change-Id: I2bbb91c0b8b522b90c3cdfadaba0d18134800408
Signed-off-by: Kunter Gultekin <kuntergultekin@google.com>
related-to-bug: 8226783
ediaCodecInfo.java
c058a380de5a7eb5427cef295f1c259c507e25bd 19-Feb-2013 Jeff Sharkey <jsharkey@android.com> Open file:// Uris on client side of MediaPlayer.

Bug: 7962739
Change-Id: I674b437593fa083eb66ff3ca57b898cf9bd4a3e9
ediaPlayer.java
679d5046f245ea8b39f9b5596195f3468808dd54 05-Feb-2013 Jean-Michel Trivi <jmtrivi@google.com> Add support for querying whether the music stream is active remotely

Bug 7485803

Change-Id: I554b44bd35b017fa4030a0d89779066c96594f2b
udioManager.java
udioSystem.java
78c2d8b356029e191aec5e45de7d9bb0fca98c21 31-Jan-2013 Eric Laurent <elaurent@google.com> Merge "AudioRecord: allow front + back mic capture"
6809afe1c26f0044adf2be414fcaede9024289a6 18-Jan-2013 Eric Laurent <elaurent@google.com> AudioRecord: allow front + back mic capture

Change-Id: Id75c9b420198092f5f5d255bd5512ec5a7a2c502
udioRecord.java
35654b61e8fe7bc85afcb076ddbb590d51c5865f 15-Jan-2013 Dianne Hackborn <hackbod@google.com> More work on App Ops service.

Implemented reading and writing state to retain information
across boots, API to retrieve state from it, improved location
manager interaction to monitor both coarse and fine access
and only note operations when location data is being delivered
back to app (not when it is just registering to get the data at
some time in the future).

Also implement tracking of read/write ops on contacts and the
call log. This involved tweaking the content provider protocol
to pass over the name of the calling package, and some
infrastructure in the ContentProvider transport to note incoming
calls with the app ops service. The contacts provider and call
log provider turn this on for themselves.

This also implements some of the mechanics of being able to ignore
incoming provider calls... all that is left are some new APIs for
the real content provider implementation to be involved with
providing the correct behavior for query() (return an empty
cursor with the right columns) and insert() (need to figure out
what URI to return).

Change-Id: I36ebbcd63dee58264a480f3d3786891ca7cbdb4c
ediaInserter.java
ediaScanner.java
26bf4d9020dcb16327e91044cda78b3baef723b5 11-Jan-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Optimize media button stack traversal for remote volume"
9003007d35c6ae1cdeac4ca831a036292b7089e9 11-Jan-2013 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix Volume icons for RTL languages"
8c02884c8c3c97cdc2366ac187c8a326308b895b 10-Jan-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix Volume icons for RTL languages

- add mirrored version of the icons
- make VolumePanel respond to layout direction changes
- make AudioService propagate layout direction changes to the VolumePanel

Change-Id: Ibb884ab81641c319a9b7bea1381066f3f19581f0
udioService.java
299942002b17f792e6e4f6b3f6972f62b8b136ae 09-Jan-2013 Marco Nelissen <marcone@google.com> Fix media scan NPE

b/7966288

Change-Id: I066bc9f00bccf070332d87d6f1bf3d6054b31136
ediaScanner.java
55a3218f242a611afb3569d88970c0c5dbf8ce54 18-Dec-2012 Glenn Kasten <gkasten@google.com> Subclassing AudioTrack considered harmful

This class was not really designed for subclassing to be meaningful,
and some uses could be downright dangerous, for example setState().

Change-Id: I36029e94546c53a47926918e7f667d9e83bd02fe
udioTrack.java
5df0e6ad26d201d18e2143c14d661e8fecb8272a 07-Jan-2013 Jean-Michel Trivi <jmtrivi@google.com> Optimize media button stack traversal for remote volume

Iterate over entries in the media button stack from the top
for remote volume-related operations as the stack entry being
looked for is more likely at the top of the stack.

Change-Id: Iaa2685ebb297d2184dd2c63498d7bd2b811ce744
udioService.java
a578c48e6c8677bcb54340aadb9470f8a275e56c 28-Dec-2012 Jean-Michel Trivi <jmtrivi@google.com> Use playback state to update remote control stack

The remote control stack in AudioService is responsible for handling
which application receives media button events. When an application
"registers" its media button receiver, it gets placed at the top
of the remote control stack. If the app also has audio focus (is
at top of focus stack), this will also cause the information of
the attached remote control client (RCC) to be displayed on the
lockscreen.
If an app doesn't re-register its button receiver when it wants
to receive the button events, it might have lost its place at the
top of the remote control stack, and would not show up in the
lockscreen anymore.
This change consists in using the playstate reported by the RCC
to change the remote control stack. If an RCC reports a "playing"
state (e.g. playing, fast forwarding), it is safe to assume the
application is actively being used, and should be the one that
receives the transport control buttons. This CL uses the reported
playstate to conditionally move the corresponding stack entry
to the top of the stack.

Bug 7311023

Change-Id: I1505f01664c16e108b22d33e3f47f0056343676e
udioService.java
84aa61e2a838fdeb7484ffaf95945a205bccb453 27-Dec-2012 Jean-Michel Trivi <jmtrivi@google.com> Optimize remote control stack traversal order

Iterate of remote control stack entries from the top of the stack
for cases where the condition being checked is more likely at
the top of the stack, as opposed to the bottom, which is first
accessed when using an iterator.

Change-Id: I625bee59021c2d652e9d6355b48dc0c11e36093f
udioService.java
383f36cf64d81ccda1aaa7cbf49377a930e02235 02-Jan-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add comments on remote control stack traversal order"
66cbd197376a0bfe976544c428f55c2e6b8e12c9 27-Dec-2012 Jean-Michel Trivi <jmtrivi@google.com> Add comments on remote control stack traversal order

Add comments to justify where remote control stack traversal order
doesn't matter.

Change-Id: I71a71ae22446cee529649e047142c774f78a377b
udioService.java
d6a7925d14231c016e84db53fb5a5bbab5a07d84 02-Jan-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Updates to remote control client (un)registration"
f2fc1cbb067eb12eccb23c5469814675539e28a6 02-Jan-2013 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix stack traversal order when removing or adding media button receiver"
cf1df1944832d43aa95d3d8f6a84bea31096ad65 28-Dec-2012 James Dong <jdong@google.com> am 0c1e566f: am c8db3b8a: Merge "Set "isdrm" info in Mediastore"

* commit '0c1e566f97a39dd79e563afe953de8879ef66bd9':
Set "isdrm" info in Mediastore
58a9cad4e88d3cf693b917b58677c392cdec24fc 28-Dec-2012 Jean-Michel Trivi <jmtrivi@google.com> Remove unused audio source

Bug 7110996

Change-Id: I90737c14a4e6f9fe662eb7eb5bd0483da823083b
ediaRecorder.java
ed2d10dab78c2ac040391d9ae64764378b18b34d 27-Dec-2012 Jean-Michel Trivi <jmtrivi@google.com> Updates to remote control client (un)registration

Iterate over the remote control stack from top to bottom
when (un)registering a remote control client (RCC).
When unregistering an RCC, stop traversing the stack when
match found. If match was at top of the stack, update
the remote control display (RCD).

Change-Id: If64acf102bdf328085d707f9e0f7e86cf4d4001a
udioService.java
bc83425c116694b60fde0d9ae6314339c7b8fe2f 27-Dec-2012 Jean-Michel Trivi <jmtrivi@google.com> Fix stack traversal order when removing or adding media button receiver

Iterate over the media button receiver stack from top to bottom
when removing or adding a receiver.
Update comments and name to reflect that the corresponding methods
must be synchronized on audio focus and remote control.

Change-Id: I1fb7f682a999aa66d92d56ca6ecd8b37eeff8ac9
udioService.java
c30f45b97f0aeefef05f51208f54eafa3499e40b 26-Dec-2012 Jean-Michel Trivi <jmtrivi@google.com> Add comments in AudioService focus and media button stack traversal

Add comments to reflect where and why the audio focus and media
button stacks are traversed with an iterator, which traverses
the stack from bottom to top.

Change-Id: I462a522195e742295d13eff5fc727e59a5d7e830
udioService.java
0c1e566f97a39dd79e563afe953de8879ef66bd9 21-Dec-2012 James Dong <jdong@google.com> am c8db3b8a: Merge "Set "isdrm" info in Mediastore"

* commit 'c8db3b8ae34c76430e8e97418e485dedc44d0954':
Set "isdrm" info in Mediastore
06f7de4944bbf650e1574c6f25d3ef6a193122bf 19-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Simplify AudioTrack event handling and fix a race"
b6ed68ccb269f22e635f7e323b46b9c0d70d0ebb 18-Dec-2012 Glenn Kasten <gkasten@google.com> Revert "Update AudioTrack comments"

This reverts commit 3f411cacbe4204c779a794451a5d5b0f67e03416

Change-Id: Ieb32310bc007bf2c6a2dc324db4873e7128177fa
udioTrack.java
3f411cacbe4204c779a794451a5d5b0f67e03416 18-Dec-2012 Glenn Kasten <gkasten@google.com> Update AudioTrack comments

Change-Id: I0cdca92e3ac63088ed919c4dcfb309d3ccb59092
udioTrack.java
30676a7031bb80f522fbad5e59973716c4bc6780 07-Dec-2012 Andreas Huber <andih@google.com> am bb2985aa: am 683028ca: Merge "Make it clear that non-optional MediaFormat keys are required" into jb-mr1.1-dev

* commit 'bb2985aa0e3435a4a945233eebc9ea36769209d2':
Make it clear that non-optional MediaFormat keys are required
28d4cf50e793568aad660ed21865d30b2cedac0a 07-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "AudioTrack error checks"
91c7bc2a8db473eb6188ae9fb16760c66782f025 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Allow more APIs before write in static buffer mode"
e1a2c9f9447cd61168da874c6bc5a594f5b4a6d5 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Use the utility logging methods and single tag"
ee88bc8ab90696a9e479cf185ec2b8c2be0b7258 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Document that ByteBuffer position not updated"
678210251cb1f51ec0025f4d673d11116279cfa6 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Remove dead method native_get_session_id()"
942de41bb1b2e14388055cfd0a3645394277b5da 06-Dec-2012 Eric Laurent <elaurent@google.com> Merge "more fixes on safe volume warning message"
f0336d11f565aebdbf182289b2b9a4c58bfd80f9 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Remove whitespace at end of line"
f94942f1b947c0d56bac0ffcc7ccfe95c443ebe7 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Import only what's needed"
59c14048bfc0a210077192410afa28ed6f85daa0 05-Sep-2012 Erik Almqvist <erik.almqvist@sonymobile.com> Set "isdrm" info in Mediastore

The mediascanner member mIsDrm was never set
according to the drmframework canHandle call.
This subsequently caused that the isdrm column
in mediastore was never set, and was defaulted
to false for all files.
mIsDrm is now set according to drmframework
canHandle result for each files that is scanned.

Change-Id: Id557d921c4e3e3dfc35da56b69471f4bd6b3c8bf
ediaScanner.java
fde16d5879ea88a971004c984093409468b6139c 03-Dec-2012 Eric Laurent <elaurent@google.com> more fixes on safe volume warning message

Fixes the following problems with safe headphone volume warning message:
- Do not display the warning dialog when screen is off.
- Use the same 3 second timeout as for the volume slider to dismiss the dialog.
- Do not dismiss the warning dialog when touching outside of the slider window
but inside the warning window.
- Disable the volume slider when the warning message is displayed.
- When setting volume directly (touching the volume slider), and the warning
is displayed, save the requested volume and apply it if acknowledged by the user.
- Do not display the warning message when restoring safe volume after 20h of
cumulative listenening

Bug 7658641.

Change-Id: Ib3d1315193a433dad918aa5df78fa071062b2394
udioService.java
a501b5b8d5ec0ccc975adbcf302f01a6979e81e1 01-Dec-2012 Glenn Kasten <gkasten@google.com> AudioTrack error checks

getMinBufferSize():
Simplify native_get_min_buff_size error checks and handle more errors.

setPlaybackHeadPosition():
Disallow for streaming mode [underlying AudioTrack C++ requires this].
Disallow setPlaybackHeadPosition before write().
Remove unnecessary synchronization around native_set_position().

setLoopPoints():
As setLoopPoints() is effectively a variant of setPlaybackHeadPosition(), do the same error checks.

write():
Don't set "write completed" state if write() parameters are invalid or native write fails.
It was setting "write completed" flag too early, and ignoring native write return value.
Detect integer overflow.

reloadStaticData():
Disallow reloadStaticData() before write().

Change-Id: Iec36fc0ea67095e18a2c238b148dad5545c102c1
udioTrack.java
9c1d2de17781e4430e4344c43eb7fbed80541ac9 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Make mInitializationLooper final"
4e71faec0cba73703d8bdb11fe4a400578d4efd7 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Simplify throw statements"
0fc11dd0590f45ac95b1e64faf5fd57efbea4522 06-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Remove redundant AudioTrack. qualifiers"
df3cb5279857cac41909643c6703e8fc1621fad1 28-Nov-2012 Glenn Kasten <gkasten@google.com> Remove redundant AudioTrack. qualifiers

Symbols of the current class don't need to be qualified.

Change-Id: Ic89ce568771165d01d4b5bcf835c591ca0b86541
udioTrack.java
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
ediaFormat.java
08067d376eae087bfaf8fdb66b5983106f98ac25 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
ediaFormat.java
526b035bc581b0162517c248eecdc077c801540c 05-Dec-2012 Eric Laurent <elaurent@google.com> Merge "Allow mute when playing over fixed volume device"
1e821372bed43ee546ef06ff6fc299e5a1cad4a1 05-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Replace hard-coded sample rate values by constants"
3ef7549876a159dae1568429edcb57e4e7d08459 28-Nov-2012 Eric Laurent <elaurent@google.com> Allow mute when playing over fixed volume device

Modified AudioService to add the possibility to mute/unmute music
with volume keys while playing over fixed volume devices (HDMI, digital dock).
VOL- forces volume to 0 and VOL+ forces volume to maximum.

Bug 7377764.

Change-Id: Ibaf805d76c30e3c0e395547cd3ce0087dbfb9f30
udioService.java
45e4584a0f92b0bc69797714f651b12569d7fe85 21-Jun-2011 Posselwhite <christopher.posselwhite@sonyericsson.com> Performance increase in thumbnail handling

Allow for 160*120 thumbnails which is what cameras commonly
generates. The constants for the micro thumbnail were set to other
values, resulting in recalculations of the thumbnais, which
takes time.

This change only affects the maximum size of the temporary image,
when choosing whether to use the EXIF thumbnail or decoding and
downsampling the full image. Without this change, it will choose
an x16 downsampling of the full image over an x2 downsampling of
the EXIF thumbnail, after the change it will prefer the EXIF
thumbnail.

Cf the DCF specifications at http://www.exif.org/dcf.PDF,
"3.3.6. DCF basic thumbnail data structure, (C) Pixel count"

Tested by running DDMS and measuring the time required to create
a thumbnail. This was 220-280 ms prior to change, < 20 ms after.

Change-Id: I59c753493f947e920bad3fde5eeed5d49d509863
humbnailUtils.java
a5c9fd93cc16df4708ea4c85239fad7b5be16d43 04-Dec-2012 Marco Nelissen <marcone@google.com> Merge "Fix default ring/alarm/notification insertion"
4ecfce6f6fa4e0d32e9a57222ab0f4b91d2845df 04-Dec-2012 Marco Nelissen <marcone@google.com> Fix default ring/alarm/notification insertion

Before directly inserting an item that is the default ringtone, alarm or
notification, flush the MediaInserter, since a parent of the inserted item
might not have been flushed yet.

b/7650557

Change-Id: Icdd25bd9cac8b43a75e63318b936246562744c59
ediaScanner.java
1adc5975fa293afc484cc3095f74a7b4964f6306 30-Nov-2012 Andreas Huber <andih@google.com> am 800c8ab6: am 2644494a: Merge changes I8462f040,Ie471f40f

* commit '800c8ab68d695f1b6c5332c80a32316cdca69954':
MediaCodec: Allow getting the codec info directly
MediaCodec: Allow getting the chosen component name
800c8ab68d695f1b6c5332c80a32316cdca69954 30-Nov-2012 Andreas Huber <andih@google.com> am 2644494a: Merge changes I8462f040,Ie471f40f

* commit '2644494a9841c1f842d790b60911699f09eb63d1':
MediaCodec: Allow getting the codec info directly
MediaCodec: Allow getting the chosen component name
2644494a9841c1f842d790b60911699f09eb63d1 30-Nov-2012 Andreas Huber <andih@google.com> Merge changes I8462f040,Ie471f40f

* changes:
MediaCodec: Allow getting the codec info directly
MediaCodec: Allow getting the chosen component name
b686eceac9655f26694847d79683c09aaeaeedf2 30-Nov-2012 Eric Laurent <elaurent@google.com> am b46857d2: am b1f45c4a: am c3eb57b2: Merge "AudioService: improve initial safe volume delay" into jb-mr1.1-dev

* commit 'b46857d228edc53878e738ffd484dea1acf44baf':
AudioService: improve initial safe volume delay
b46857d228edc53878e738ffd484dea1acf44baf 30-Nov-2012 Eric Laurent <elaurent@google.com> am b1f45c4a: am c3eb57b2: Merge "AudioService: improve initial safe volume delay" into jb-mr1.1-dev

* commit 'b1f45c4a587e5adda39774a867c78b56682c5f0d':
AudioService: improve initial safe volume delay
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
udioService.java
f4e58051e22ad4e21c7cd436c37cc5665c194d1c 28-Nov-2012 Glenn Kasten <gkasten@google.com> Simplify throw statements

Conventional throw statement syntax does not require parentheses

Change-Id: I9cb3e76d60d688d2e0b77a18674527a87548e297
udioTrack.java
ad67c9546494a7c4d9336b57889a7c19a7dbb945 28-Nov-2012 Glenn Kasten <gkasten@google.com> Replace hard-coded sample rate values by constants

Change-Id: If561dd4d336a70dfda3b741d4e50e289a978580c
udioTrack.java
3b4df62704a6184878afd9272830cf3db7bd2d66 28-Nov-2012 Glenn Kasten <gkasten@google.com> Allow more APIs before write in static buffer mode

There's no need to prohibit these APIs before the first write()
which sets up the PCM data to be played.

Change-Id: Iffbb799e7a588250dbb90a4a4575cfef143a8966
udioTrack.java
b09707a041957f055cee3d290c85763cfef8d986 28-Nov-2012 Glenn Kasten <gkasten@google.com> Make mInitializationLooper final

This emphasizes that it doesn't change after construction,
and will prevent accidental modification in the future.

Change-Id: I18a2cecda79bd936967de26cdaaa7b731559545d
udioTrack.java
1f61d01508651b4475397414e1fe06af1ab8fada 28-Nov-2012 Glenn Kasten <gkasten@google.com> Use the utility logging methods and single tag

Change-Id: I5bfc66562a4a0630d520390ae886bd19de3327cb
udioTrack.java
95bd2329c6a36211f18be3e089eaa775ec62df62 28-Nov-2012 Glenn Kasten <gkasten@google.com> Simplify AudioTrack event handling and fix a race

Fixed race where mEventHandlerDelegate was accessed multiple times with
an assumption that all values read were the same.

If setPlaybackPositionUpdateListener was called with a null listener,
it did not update the delegate.

Inner classes can access final local variables of the enclosing method.
Use this to remove fields mPositionListener, mPositionListenerLock, mListener.

Change-Id: Ibf5cae61a1a9d21b745b90d4b74f9be14b66e37b
udioTrack.java
089f6ccac800303c67d99cefd27c83d9a9a40c16 28-Nov-2012 Glenn Kasten <gkasten@google.com> Remove dead method native_get_session_id()

Change-Id: Ibab9eef28d6b85d622de310b31ee7d070e543c6b
udioTrack.java
03919d4084ba187d17d960ac27ba5631e8fface6 29-Nov-2012 Adam Powell <adamp@google.com> am 2a1f11e9: am 57c23a46: am 10479a29: Merge "Clean up behavior of type arguments for MediaRouter#getSelectedRoute" into jb-mr1.1-dev

* commit '2a1f11e9750951d072d04155cfe3b7b7f7b96bb7':
Clean up behavior of type arguments for MediaRouter#getSelectedRoute
9121a032bb11256deabca709a42f7212ea19feaa 22-Jun-2012 Glenn Kasten <gkasten@google.com> Import only what's needed

Change-Id: I93e86e36569496b4bd08f58a8681e6471341ad3d
udioRecord.java
udioService.java
udioTrack.java
2a1f11e9750951d072d04155cfe3b7b7f7b96bb7 29-Nov-2012 Adam Powell <adamp@google.com> am 57c23a46: am 10479a29: Merge "Clean up behavior of type arguments for MediaRouter#getSelectedRoute" into jb-mr1.1-dev

* commit '57c23a464a8428f089531a5d3cab20c81eb6ccee':
Clean up behavior of type arguments for MediaRouter#getSelectedRoute
5e958ed0cd41fd110f6d4b63cebc5cca927f5e6c 22-Jun-2012 Glenn Kasten <gkasten@google.com> Remove whitespace at end of line

Change-Id: Ie421899ddcb3c488902648ccbf628c075af05a91
udioRecord.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
ediaRouter.java
0572954507b6f8ea124ddce657eb310ff5ab481e 21-Nov-2012 Jean-Michel Trivi <jmtrivi@google.com> am 015ec39d: am 5985d106: am c7dd6640: Merge "Fix audio focus evaluation order for display update" into jb-mr1.1-dev

* commit '015ec39dffe54687781357f9ef751b6218159c5d':
Fix audio focus evaluation order for display update
015ec39dffe54687781357f9ef751b6218159c5d 21-Nov-2012 Jean-Michel Trivi <jmtrivi@google.com> am 5985d106: am c7dd6640: Merge "Fix audio focus evaluation order for display update" into jb-mr1.1-dev

* commit '5985d106f784388f979f86598408cb7c8615ebee':
Fix audio focus evaluation order for display update
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
udioService.java
68cc52cf67d80a552053c8163bcaa614a5f6ea0f 16-Nov-2012 Marco Nelissen <marcone@google.com> am 803db164: am aeb62686: Merge "Fallback to fallbackring if ringtone can\'t be played."

* commit '803db1646aedb451b76d33a4f30b16942c5d3ca4':
Fallback to fallbackring if ringtone can't be played.
803db1646aedb451b76d33a4f30b16942c5d3ca4 16-Nov-2012 Marco Nelissen <marcone@google.com> am aeb62686: Merge "Fallback to fallbackring if ringtone can\'t be played."

* commit 'aeb6268645d571dfc9f2d387a7ad2471039ddb54':
Fallback to fallbackring if ringtone can't be played.
1c25a21ffcfbc78a0edced4076d533f34902428a 30-May-2012 Oscar Rydhé <oscar.rydhe@sonymobile.com> Fallback to fallbackring if ringtone can't be played.

If the specified ringtone file exists but cannot be played
the Ringtone will try to play the ringtone in a remote player.
But since the file is corrupt it will not be played in the
remote player either.
According to the documentation it should attempt to
fallback on another sound. This commit will do that.

Change-Id: I0216d61ca874eef0f168ad4d5bfb07491e01e654
ingtone.java
93077a2902a74256b7eb4795e1ef92bbc5c50f10 25-Sep-2012 Martin Storsjo <martin@martin.st> MediaCodec: Allow getting the codec info directly

This saves the caller from manually iterating through the
MediaCodecList for finding the right codec.

This adds new public API.

Change-Id: I8462f040573427542d86d1b957a5aef53dd55e8e
ediaCodec.java
ediaCodecList.java
f7f23573387c8910adca5f4b04370cac592c915d 14-Nov-2012 Andreas Huber <andih@google.com> am 35de4831: am d1e8f467: am 99a86d06: Clarify that MediaFormat.KEY_IS_ADTS only applies to decoding AAC audio content

* commit '35de48317f51a1331e2c6f279c5a2e76b65469ad':
Clarify that MediaFormat.KEY_IS_ADTS only applies to decoding AAC audio content
35de48317f51a1331e2c6f279c5a2e76b65469ad 14-Nov-2012 Andreas Huber <andih@google.com> am d1e8f467: am 99a86d06: Clarify that MediaFormat.KEY_IS_ADTS only applies to decoding AAC audio content

* commit 'd1e8f467602307090f36a899b47f5088d0bc0201':
Clarify that MediaFormat.KEY_IS_ADTS only applies to decoding AAC audio content
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
ediaFormat.java
056ef2ed5ff92b742fe53f2498c596ec1f6bed3c 25-Sep-2012 Martin Storsjo <martin@martin.st> MediaCodec: Allow getting the chosen component name

Currently, when the codec was opened by createDecoder/EncoderByType,
the caller does not know what codec actually was chosen, and
(for encoders) thus cannot know what color formats it supports.

This adds new public API.

Change-Id: Ie471f40f8104b37d27ced3dba5a54facc6504b1b
ediaCodec.java
0f32fdc3db89c91dcde154b3478e4c43eea8b12b 13-Nov-2012 Craig Mautner <cmautner@google.com> am 50acd731: am 67a3fb6f: am c10914ca: Merge "Support Wifi display devices that rename themselves." into jb-mr1.1-dev

* commit '50acd73173e5ca68db0a4cc01e75a2faef86b2fb':
Support Wifi display devices that rename themselves.
50acd73173e5ca68db0a4cc01e75a2faef86b2fb 13-Nov-2012 Craig Mautner <cmautner@google.com> am 67a3fb6f: am c10914ca: Merge "Support Wifi display devices that rename themselves." into jb-mr1.1-dev

* commit '67a3fb6f3b787f0151c7f76f0c19dd1c8b80ae4e':
Support Wifi display devices that rename themselves.
c10914ca5c83ad6ac2c9acd7b52bfeb05d6e72e5 13-Nov-2012 Craig Mautner <cmautner@google.com> Merge "Support Wifi display devices that rename themselves." into jb-mr1.1-dev
068225de0197df07a0247b2877666ea91c22c992 28-Feb-2012 Glenn Kasten <gkasten@google.com> Add all-channel setVolume() API

Add combined channel APIs setVolume to AudioTrack, MediaPlayer, and
SoundPool to make later migration easier, and encourage apps to use
that API. The new APIs are @hide for now.

Change-Id: I0c87bfdbff4f4292259fa33e65f67badbafd270b
udioService.java
udioTrack.java
ediaPlayer.java
oundPool.java
cfde15d709a3466b9d503f51819b7d28e718b482 08-Nov-2012 Glenn Kasten <gkasten@google.com> Document that ByteBuffer position not updated

This behavior is perhaps unfortunate but could cause compatibility
problems if it were changed at this point.

Bug: 7479782
Change-Id: I1ea0f1c8d5277c509cbea199f3c24a1563bcb2d0
udioRecord.java
91d5cc56d388adf74e276bc0433ca8d753d0815c 09-Nov-2012 Eric Laurent <elaurent@google.com> am 2b988843: am 30717b68: Merge "AudioService: undock audio glitch - DO NOT MERGE" into jb-mr1.1-dev

* commit '2b9888439d4016ac4890b0c6018d2f5a9e5bd653':
AudioService: undock audio glitch - DO NOT MERGE
8a8e2a4b9c7ed373e7cc94befd60de90de587e19 09-Nov-2012 Eric Laurent <elaurent@google.com> am 98e5c814: am 73176865: Merge "audio service fix dock after crash - DO NOT MERGE" into jb-mr1.1-dev

* commit '98e5c81438f36d907215eeba338ee834c29791de':
audio service fix dock after crash - DO NOT MERGE
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
udioService.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
udioService.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
ediaRouter.java
7b172a49a90ea6784dbfe0002474f9d4fd4ace1a 07-Nov-2012 Kenny Root <kroot@google.com> am 58ed5d74: am 768d9e1a: Merge "Correct executable bit for source files"

* commit '58ed5d748c0b9b64845975ef5844ad313de7c3f6':
Correct executable bit for source files
58ed5d748c0b9b64845975ef5844ad313de7c3f6 07-Nov-2012 Kenny Root <kroot@google.com> am 768d9e1a: Merge "Correct executable bit for source files"

* commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04':
Correct executable bit for source files
3a084af2e90849aaa8beb3a610189e3399c63ea0 07-Nov-2012 Kenny Root <kroot@google.com> Correct executable bit for source files

Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
AudioFocusDispatcher.aidl
udiofx/Visualizer.java
ideoeditor/AudioTrack.java
ideoeditor/Effect.java
ideoeditor/EffectColor.java
ideoeditor/EffectKenBurns.java
ideoeditor/ExtractAudioWaveformProgressListener.java
ideoeditor/MediaImageItem.java
ideoeditor/MediaItem.java
ideoeditor/MediaProperties.java
ideoeditor/MediaVideoItem.java
ideoeditor/Overlay.java
ideoeditor/OverlayFrame.java
ideoeditor/Transition.java
ideoeditor/TransitionAlpha.java
ideoeditor/TransitionCrossfade.java
ideoeditor/TransitionFadeBlack.java
ideoeditor/TransitionSliding.java
ideoeditor/VideoEditor.java
ideoeditor/VideoEditorFactory.java
ideoeditor/VideoEditorImpl.java
ideoeditor/VideoEditorProfile.java
ideoeditor/WaveformData.java
be78e991fd7e155ddcd86f3ba4f84ba676e1169f 06-Nov-2012 Eric Laurent <elaurent@google.com> Merge "AudioService: improve low end dock audio control"
08ed1b9d2099ec8231b21353b33b901492ea9885 05-Nov-2012 Eric Laurent <elaurent@google.com> 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
udioService.java
da005f46004f6c32fb0a1e8cf251eec92c413a0e 06-Nov-2012 Marco Nelissen <marcone@google.com> am ff25dd33: am 6791ebde: am 7a4d856c: Merge "Removed offensive music genre"

* commit 'ff25dd337d1f7a079495c0c5f5bb69fd1f97548f':
Removed offensive music genre
6791ebde5f951566058cb32d1adb03447876268c 06-Nov-2012 Marco Nelissen <marcone@google.com> am 7a4d856c: Merge "Removed offensive music genre"

* commit '7a4d856c881ef48ad590d9e5a0456c94d188898a':
Removed offensive music genre
7a4d856c881ef48ad590d9e5a0456c94d188898a 05-Nov-2012 Marco Nelissen <marcone@google.com> Merge "Removed offensive music genre"
6b37dc9f6630d7e7a6311bd5103bd53d06625d5f 03-Nov-2012 Marco Nelissen <marcone@google.com> Merge "Request non-notifying Cursor when querying provider"
bff5ca576ef55bfdd51a0d2ff39f4bac614fa728 03-Nov-2012 Eric Laurent <elaurent@google.com> audio service: set dock use on mediaserver restart

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

Change-Id: Ie67b80ede1ed92d223dd96de83c1beb985dfba06
udioService.java
8ad76fa7a644c10abb7b95398fdb8a84bd723619 03-Nov-2012 Marco Nelissen <marcone@google.com> Request non-notifying Cursor when querying provider

This makes a media-rescan about twice as fast.
b/6751354

Change-Id: Iac3b0238f5731a20ecb5d4b34aa1666f7c610268
ediaScanner.java
dd1caa005019069b5e0c633b765379409cb1a236 02-Nov-2012 Marco Nelissen <marcone@google.com> Merge "Remove special case in media scanner"
da8fe0faf5b52ef65bd07b6f47479ac537d42d47 02-Nov-2012 Marco Nelissen <marcone@google.com> Remove special case in media scanner

The media provider now takes care of case-sensitivity, so there is
no special handling needed when looking up entries in the database.

Change-Id: I2a23c4f1875a8ffea140281572b1e2c90cce60a7
ediaScanner.java
2c978a1ce9c70709e949a3160260678d316afcc8 30-Oct-2012 Eric Laurent <elaurent@google.com> am 88ae0ae4: am 40d076e6: am 61ebf9cd: Merge "audio service: make dock audio is off by default" into jb-mr1-dev

* commit '88ae0ae4848ce894612397957cf4de6a6a50a394':
audio service: make dock audio is off by default
a6daf109b67190e4eb937b41d5f5cf8f9780536a 30-Oct-2012 Jean-Michel Trivi <jmtrivi@google.com> am 15f7136e: am 0c419856: am 643e3372: Merge "No playback and music widget from other user on user switch" into jb-mr1-dev

* commit '15f7136e9b0b4ce1e512be7863b2e61e47d855f3':
No playback and music widget from other user on user switch
9c95a173f768d4132b40de23334c31c4c3b9f0db 30-Oct-2012 Eric Laurent <elaurent@google.com> am 2aa46d35: am 67baf878: am c99a1107: Merge "add settings for dock audio enabled" into jb-mr1-dev

* commit '2aa46d3518ac7e91f4ae621f767646d6e4b0a120':
add settings for dock audio enabled
61ebf9cd8f0b7bfbad6840bb828f2300beef745d 29-Oct-2012 Eric Laurent <elaurent@google.com> Merge "audio service: make dock audio is off by default" into jb-mr1-dev
266ca72300f15f53e134e8c2f33ff7c24adabe86 29-Oct-2012 Jeff Brown <jeffbrown@google.com> am 46a0ec73: am 14012e1d: am 4e0bf7c4: Merge "Add MediaRouter API to get presentation display." into jb-mr1-dev

* commit '46a0ec73b6d4a81dd037d7beef7321f25349bf9c':
Add MediaRouter API to get presentation display.
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
udioService.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
udioService.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
udioService.java
348aa65e93c1b8cb409de12e3e61136f894201f2 27-Oct-2012 Marco Nelissen <marcone@google.com> Don't create files when scanning

MediaScanner would insert non-existent files into the database
if you asked it nicely, thereby creating them.
b/7298303

Change-Id: Ie8496072248f2041e5a73cc04083e2a31c78f046
ediaScanner.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
ediaRouter.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
ediaRouter.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
udioService.java
8d9a1f66d9d3dbbd45a56d441a746ec11dba7645 19-Oct-2012 Jeff Sharkey <jsharkey@android.com> More migration to Global settings.

Bug: 7375796
Change-Id: I3954ce141ad30073896090a28eee743ba15fd736
udioService.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
ideoeditor/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
udioService.java
udioSystem.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
ediaRouter.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
ediaRouter.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
udioManager.java
udioSystem.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
ediaRouter.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
udioService.java
udioSystem.java
AudioService.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
udioService.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
ediaRouter.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
udioService.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
udioService.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
udioService.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
ediaRouter.java
4131a37366d59b5e61f55c4e48d2b22ee0c4cad4 28-Sep-2012 Adam Powell <adamp@google.com> String change for video routing via MediaRouter; "HDMI" not "HDMI audio."

Change-Id: Ifece0cf0bc11ff2ffab254c6177f9db741037df6
ediaRouter.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
ediaRouter.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
RingtonePlayer.aidl
ingtone.java
c6c4365ddb0213c548b055f257dc8077389224fb 25-Sep-2012 Glenn Kasten <gkasten@google.com> Implement android.media.AudioManager.getProperty()

Bug: 6635041
Change-Id: I0e7d53b99559cdc89f2f107f23048e4b1a8dd383
udioManager.java
udioSystem.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
udioManager.java
udioService.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
udioService.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
udioService.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
udioService.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
udioManager.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
udioService.java
549be8beadf5ad2a56b7f4269d419753c0d61be8 19-Sep-2012 Glenn Kasten <gkasten@google.com> Merge "New API for querying audio properties" 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>
udioService.java
228c9847a31b79f8baa80302731cdbf6a2b3c0d4 14-Sep-2012 Glenn Kasten <gkasten@google.com> New API for querying audio properties

Bug: 6635041
Change-Id: I66e87c75af7c84cdb23cb25a958e79bba8e53baa
udioManager.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
udioService.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
udioManager.java
udioService.java
udioSystem.java
AudioService.aidl
ediaRecorder.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
emoteDisplay.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
udioSystem.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
ediaScanner.java
c3ea477e2111f199d10341b121791cb2ec91eca3 29-Aug-2012 Johan Redestig <johan.redestig@sonymobile.com> Removed offensive music genre

The genre is a bad joke, not a real thing.

See http://en.wikipedia.org/wiki/Negerpunk

Change-Id: I073c89e286ef4b8f9d678e1b137c657b26066099
ediaScanner.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
ediaExtractor.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
udioService.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
udioService.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
ediaRecorder.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
ediaPlayer.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
ataSource.java
ediaExtractor.java
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
ediaRecorder.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>
ediaFile.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
ediaCodec.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
ediaScanner.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
ediaMetadataRetriever.java
b10ec1f4b1f6a3552060d44359dd64cc37b1a497 31-Jul-2012 James Dong <jdong@google.com> Fix a typo (dependant => dependent)

Change-Id: I0337bec1a26e852c32ea9f1ce54f270f79ee3ab1
ediaPlayer.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
udioService.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
ediaExtractor.java
ediaPlayer.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
ediaPlayer.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
ediaCodec.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
ediaRouter.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
udioService.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
ediaPlayer.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
udioService.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
ediaPlayer.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.
2ac3f2e285159300c62c797bb2123604773ccac7 27-Jun-2012 Andreas Huber <andih@google.com> Minor corrections to the javadoc overview to reflect late API changes.

Change-Id: If64e7ea0fa9c892d728282e5e18547a4da115989
ediaCodec.java
ediaExtractor.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
ediaCodec.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
ediaRouter.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
ediaRouter.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
ediaRouter.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
ediaRouter.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
ediaRouter.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
udioService.java
emoteControlClient.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
udioService.java
AudioService.aidl
RemoteVolumeObserver.aidl
ediaRouter.java
emoteControlClient.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
udioService.java
ediaRouter.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
udioManager.java
udioService.java
AudioService.aidl
emoteControlClient.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
ediaRouter.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
ediaRouter.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
ediaRouter.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
ediaRouter.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
udioRoutesInfo.aidl
udioRoutesInfo.java
udioService.java
AudioRoutesObserver.aidl
AudioService.aidl
ediaRouter.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
udioManager.java
b5e2af5919351486a385effe77409d2a91ae9c19 15-Jun-2012 Adam Powell <adamp@google.com> Update MediaRouteChooserDialog grouping UI

Move UserRouteInfo tag support to RouteInfo

Change-Id: Ia753924f8613462d5f74736be93a8d748689eef1
ediaRouter.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
ediaRouter.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
ediaRouter.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
ediaRouter.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
ediaRouter.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
ediaRouter.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
ediaRouter.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
AudioService.aidl
b58b8f832d06b0ffa8886eba5a4916578a3b8743 12-Jun-2012 Dianne Hackborn <hackbod@google.com> Rework media router to be per-context with global process state.

Change-Id: Ic1cb6f13e691d22783bcdafae85b7c75aec0a66f
ediaRouter.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
ediaRouter.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
ediaScanner.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
xifInterface.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
ediaScanner.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
udioService.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
ediaRouter.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
udioService.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
ediaFile.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
emoteControlClient.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
ediaRouter.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
udioService.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
udioManager.java
udioService.java
AudioService.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
ediaPlayer.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
udioManager.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
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
ediaScanner.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
udioManager.java
udioService.java
udioSystem.java
AudioService.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
udioService.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
ediaPlayer.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
udioService.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
udioManager.java
udioService.java
AudioService.aidl
538d4925b36067dc89ad0625a69dafeaa364bd2e 17-May-2012 Marco Nelissen <marcone@google.com> Fix .pls playlist parsing

b/6508278

Change-Id: I015ecf3fa599601ba4e9d018be24d0685e153239
ediaScanner.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
udioService.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
udioTrack.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
udioService.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>
udioService.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
udioService.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
udioService.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
ediaFormat.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
ediaExtractor.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
ediaPlayer.java
imedText.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
udioService.java
udioSystem.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
ediaCodec.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
ingtone.java
be0ea968bf8b3f92f6975ccd14031aec23a2c47f 04-May-2012 Insun Kang <insun@google.com> Fix: Missed parcel recycling in MediaPlayer.

Change-Id: I2c99f771b33bf627af10e8baea455181558360e6
related-to-bug: 6405934
ediaPlayer.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
ediaCodec.java
ediaCodecInfo.java
ediaCodecList.java
ediaCrypto.java
ediaCryptoException.java
ediaExtractor.java
ediaFormat.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
udioManager.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
udioService.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
udioManager.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
ediaCodec.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
ediaPlayer.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
udioService.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
udioService.java
AudioService.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
ediaCodec.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
ediaRecorder.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
ediaPlayer.java
imedText.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
udioManager.java
udioService.java
AudioService.aidl
RingtonePlayer.aidl
ingtone.java
ingtoneManager.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
udioManager.java
udioService.java
AudioService.aidl
eb4cc492c93ab9635dde78b958a834120412e72a 27-Apr-2012 Jeff Sharkey <jsharkey@android.com> Protect system services with DUMP permission.

Change-Id: I5e53859f8b8e5473e54eca43ebd7de841f1a05ff
udioService.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
ediaExtractor.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
ediaRecorder.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
udioManager.java
udioService.java
AudioService.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
ediaScanner.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
ingtoneManager.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
udioTrack.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
ediaScanner.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
ediaExtractor.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
ediaPlayer.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
ediaCodec.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
udiofx/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
udioRecord.java
ediaSyncEvent.java
oneGenerator.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
udioRecord.java
udiofx/AcousticEchoCanceler.java
udiofx/AutomaticGainControl.java
udiofx/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
ediaCodec.java
ediaExtractor.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
ediaPlayer.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
udiofx/Visualizer.java
2952c5d03c26aec8f2aa2d69f20b47a7cc8f39e1 17-Apr-2012 Andreas Huber <andih@google.com> MediaCrypto's constructor can throw RuntimeException.

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

Change-Id: If0b8201eaca74f51f3499b6ecdfb73088586ee24
rypto.java
ediaCodec.java
ediaCodecList.java
ediaCrypto.java
ediaExtractor.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
ediaPlayer.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
ediaMetadataRetriever.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
udiofx/AcousticEchoCanceler.java
udiofx/AudioEffect.java
udiofx/AutomaticGainControl.java
udiofx/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
udioManager.java
udioService.java
udioSystem.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
ediaCodec.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
udioManager.java
udioService.java
AudioService.aidl
75cf9e19a575c28c200c02c0ab6f83bb79f5c50d 05-Apr-2012 Justin Koh <justinkoh@google.com> Fix the build.

Change-Id: Ibe818df8f360837688f12533cf0ac22ef89a8439
udioService.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
ediaScanner.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
rypto.java
ediaCodec.java
ediaExtractor.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
udioService.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
ediaCodec.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
ediaFile.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
udioService.java
5a04bf395514a9342dd26af519b88f4b3e309eb9 30-Mar-2012 Andreas Huber <andih@google.com> New API to query available codecs and their capabilities.

Change-Id: I448ba443a96d8fee2bc9179750d57362ed31d9d9
ediaCodecList.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
udioRecord.java
udioSystem.java
ediaSyncEvent.java
oneGenerator.java
7ae82ce1fd54103bb87b8a0593a4228c94b1d6f9 29-Mar-2012 James Dong <jdong@google.com> Removed obsolete opencore related comments

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

Change-Id: I45c32da0a1089ce8bc865e12b51c069a6db28fd4
udioService.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
ediaScanner.java
9b8e496f4d143280deff137c5f30ca8907bc28db 26-Mar-2012 Andreas Huber <andih@google.com> Provisional support for secure decryption of media streams.

Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
ediaCodec.java
ediaExtractor.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
ediaScanner.java
6c798970ccb8759d1e613b57111daa8da0ab44c7 02-Mar-2012 Lei Zhang <rzhang@google.com> Add batch volume adjust support to adjustMasterVolume() in AudioManager and
AudioService.

Change-Id: I09b1dfc93f14ca836e1ba2a400c00caed01fd541
udioManager.java
udioService.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
udioService.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
ediaRecorder.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
ediaPlayer.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
ediaPlayer.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
ediaPlayer.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
ediaCodec.java
ediaExtractor.java
029d7e15f38cdd3c1941a16186c5941edc85bc3d 12-Mar-2012 James Dong <jdong@google.com> Hide deprecated MediaRecorder.java APIs

o related-to-bug: 6085208

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

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

Bug: 6136088
Change-Id: I80ff09a90cd65d874ae016d450c4cc8c6a56d387
ediaActionSound.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
udioService.java
udioSystem.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
ediaActionSound.java
a00c2939c7263fe421c33364a17e489c7c3a4d1f 06-Mar-2012 James Dong <jdong@google.com> Changed 480p and 1080p resolution documentation

o related-to-bug: 6041794

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

Change-Id: I34382839622a5cc5f2a8768aed011e8224cadff9
udioManager.java
udioService.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>
ediaPlayer.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
udioService.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
ediaPlayer.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
ediaPlayer.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
ediaCodec.java
ediaExtractor.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
ediaRecorder.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
ediaScanner.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>
udiofx/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>
udiofx/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
udioService.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
ediaInserter.java
ediaScanner.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>
udioService.java
1ce5b26d707e0086e09af3cd0428f1b441145261 02-Feb-2012 Jason Simmons <jsimmons@google.com> Only send master volume or mute updates if the settings have changed
udioService.java
e3f5979307fa52898459d9d09ee11bc1d65a4f7f 25-Jan-2012 Jason Simmons <jsimmons@google.com> Make AudioManager.adjustMasterVolume public and hidden
udioManager.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>
udioService.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>
udioService.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>
udioService.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>
udioService.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>
udioManager.java
udioService.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>
udioManager.java
ce952c8e13c535bedde77bcdb94dfcc7508475aa 14-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: Add support for master mute

Signed-off-by: Mike Lockwood <lockwood@android.com>
udioManager.java
udioService.java
AudioService.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>
udioManager.java
udioService.java
AudioService.aidl
8dc1dabd254249b7ddb8743e88fdb96580ffc585 27-Oct-2011 Mike Lockwood <lockwood@android.com> VolumePanel: Add support for master volume

Signed-off-by: Mike Lockwood <lockwood@android.com>
udioManager.java
udioService.java
AudioService.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>
udioService.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>
udioManager.java
udioService.java
udioSystem.java
AudioService.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
amcorderProfile.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>
udioService.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
ediaScanner.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
ediaScanner.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
ediaRecorder.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
udioService.java
d6b3e0cc36cbe28c8d194b63227df37c76af7efa 02-Feb-2012 Marco Nelissen <marcone@google.com> Enable media scanner bulk inserts

Change-Id: I357162d0fe498a182ccb14630fe565daaa8bb0c1
ediaScanner.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
ediaPlayer.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
ediaScanner.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
mrInputStream.java
syncPlayer.java
udioManager.java
udioRecord.java
udioService.java
xifInterface.java
ediaFile.java
ediaInserter.java
ediaScanner.java
ediaScannerConnection.java
iniThumbFile.java
emoteControlClient.java
ingtoneManager.java
ca78f3d9aff78c35bc065b0c35a0b3c917f56435 27-Jan-2012 Marco Nelissen <marcone@google.com> Handle adding/removing/renaming nomedia paths

b/5849015
Change-Id: I3ec7419498d1ecc83db6d4605b3d7610349231f7
ediaScanner.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
udioManager.java
udioService.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
ediaRecorder.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
udioTrack.java
db8b292b6d83e360d944fd8342c82d8b7bd1facd 25-Jan-2012 Jason Simmons <jsimmons@google.com> Make AudioManager.adjustMasterVolume public and hidden

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

Change-Id: Ia4cc8be8424a40b3dcb7ebd0264fdff4e5247f7f
udioSystem.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
udioService.java
udioSystem.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>
udiofx/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>
udiofx/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
ediaScanner.java
b282e08ab641d4fc74d0324b7a0ce30926638dd5 09-Jan-2012 Glenn Kasten <gkasten@google.com> Fix build

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

Change-Id: Id6ea6dccb8054c9f05db9a9c045387ce813659e6
udioFormat.java
udioService.java
udioSystem.java
udioTrack.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>
udioService.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
ediaScanner.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>
udioService.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
humbnailUtils.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
udioService.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>
udioService.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>
udioService.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
udioTrack.java
5bb8f80fc4a72ad70d7d38cdc9f7988edce476e4 24-Jul-2011 Glenn Kasten <gkasten@google.com> Fix typo in error message, missing space

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

Change-Id: I6fde5617365f479884937615e0d3f0f4ecc2dc14
udioManager.java
udioService.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
udioService.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>
udioService.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
ediaPlayer.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
udioService.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>
udioManager.java
udioService.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.
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
udioManager.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
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
udioService.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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/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
udioService.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>
udioManager.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
ediaPlayer.java
ediaRecorder.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
udioService.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>
udioManager.java
udioService.java
AudioService.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
udioService.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
udioService.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
udioService.java
oundPool.java
humbnailUtils.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
ediaMetadataRetriever.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
ediaMetadataRetriever.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
udioService.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>
udioManager.java
udioService.java
AudioService.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
ideoeditor/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
udioService.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
udioService.java
61fd1e8d8c3ccf2d6b7d4af1c19e8f0988d5a1ec 26-Oct-2011 Joe Fernandez <joefernandez@google.com> docs: add developer guide cross references, Project ACRE, round 3

Change-Id: I6125315ecdf0f78dd947c514a9944729d723e95d
etPlayer.java
ediaPlayer.java
ediaRecorder.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>
udioManager.java
udioService.java
AudioService.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>
udioService.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>
udioManager.java
udioService.java
udioSystem.java
AudioService.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
amcorderProfile.java
ediaRecorder.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
udioService.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
udioService.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
udioService.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
emoteControlClient.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
emoteControlClient.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
ediaInserter.java
ediaScanner.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
ideoeditor/AudioTrack.java
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/MediaProperties.java
bc554956128d69d8d2e60365fb6cffe6facf659b 08-Sep-2011 Andreas Huber <andih@google.com> Support for an MPEG2 Program Stream extractor.

Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
ediaFile.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
ingtone.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
ingtone.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
udioService.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
ingtone.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
RemoteControlDisplay.aidl
emoteControlClient.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
ediaScanner.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
amcorderProfile.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
udioManager.java
udioService.java
AudioService.aidl
RemoteControlDisplay.aidl
emoteControlClient.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
emoteControlClient.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
udioService.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
emoteControlClient.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
etadata.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
udioService.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
ediaScanner.java
47a52158d2df0eb818bf7d589d8ff9fd5c0daaa3 07-Sep-2011 Chih-Chung Chang <chihchung@google.com> Fix 5156702: rotate thumbnails

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

Change-Id: I8b711bd3c6b12f2e3e92144c0dadac72261bf914
udioService.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
udioService.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
ediaPlayer.java
fc301b0bb5c635c6bb51b48c504a8db5f9010e5c 30-Aug-2011 Dave Burke <daveburke@google.com> Require INTERNET permission for network-based content.
Bug #1870981

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

Change-Id: I96bf9a7d0e2ce78fd19cce7bccbd4ac318748709
ideoeditor/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
udioManager.java
emoteControlClient.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
udioService.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
udioService.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
udioService.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
emoteControlClient.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
udioService.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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/MediaImageItem.java
ideoeditor/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
ideoeditor/VideoEditorProfile.java
b283dc64bc97f53804108cebf5b904eb4fb77155 29-Aug-2011 Jamie Gennis <jgennis@google.com> MediaPlayer: unhide the setSurface method

Change-Id: I2fb695ab918d1099ad7cc51bfd436712a0b640d9
ediaPlayer.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
udioService.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
emoteControlClient.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
udioService.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
emoteControlClient.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
udioService.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
udioService.java
RemoteControlDisplay.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
udioManager.java
RemoteControlDisplay.aidl
emoteControlClient.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
emoteControlClient.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
udioManager.java
udioService.java
AudioService.aidl
RemoteControlClient.aidl
RemoteControlClientDispatcher.aidl
RemoteControlDisplay.aidl
emoteControlClient.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.
udioService.java
f1824a9762a28c1b664360cb1b6c354d937878bc 23-Aug-2011 Chih-Chung Chang <chihchung@google.com> Pass correct indices for thumbnails of MediaImageItem.

Change-Id: I8e52014ab76c63994385bc54106c19b425be8550
ideoeditor/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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/MediaProperties.java
ideoeditor/MediaVideoItem.java
ideoeditor/VideoEditor.java
ideoeditor/VideoEditorImpl.java
ideoeditor/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
udioService.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
udioManager.java
udioService.java
AudioService.aidl
RemoteControlClient.aidl
RemoteControlClientDispatcher.aidl
emoteControlClient.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
udioService.java
1f5de3833daddfa1d0ebc7dee1f9e007d4ed36a0 15-Aug-2011 Chih-Chung Chang <chihchung@google.com> Display thumbnails one by one and cache them.

Change-Id: I10808f5bca475aea924817bf532dc5916438563a
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/MediaImageItem.java
ideoeditor/MediaItem.java
ideoeditor/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
udioService.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
udioManager.java
RemoteControlClient.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
udioManager.java
udioService.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
udiofx/AudioEffect.java
udiofx/BassBoost.java
udiofx/Equalizer.java
udiofx/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
udioService.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
udioService.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>
ediaScanner.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
udioManager.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
ediaPlayer.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
ediaScanner.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
udioManager.java
udioService.java
AudioService.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
udioService.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>
ediaFile.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>
ediaScanner.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
udioService.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
ediaPlayer.java
8d4ed0d8e1e0e0f4a8ed7fc1407a850dc2190040 08-Aug-2011 Neel Parekh <neel@google.com> Prevent NPE when registering a remote control client

Change-Id: Ia22b456b1cbdd89736118c7e68b7c68dd6e59c64
udioService.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
udioManager.java
udioService.java
AudioService.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>
ediaScanner.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
udioManager.java
udioService.java
AudioService.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
udioManager.java
udioService.java
AudioService.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
udioManager.java
udioService.java
AudioService.aidl
RemoteControlClient.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
udioService.java
6311d0a079702b29984c0d31937345be105e1a5e 03-Aug-2011 Dianne Hackborn <hackbod@google.com> Clear the bitmap from the canvas in a lot of places.

Change-Id: I6b2071ac7b348c473b9bdd1b972d095aebbb4fb3
humbnailUtils.java
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/MediaImageItem.java
ideoeditor/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>
ediaScanner.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
ediaPlayer.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>
ediaScanner.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
ediaRecorder.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
udioFormat.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
udiofx/AcousticEchoCanceler.java
udiofx/AudioEffect.java
udiofx/AutomaticGainControl.java
udiofx/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
udioFormat.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
ediaPlayer.java
3ff98beeafd271a65c1f824699431366882b04f6 21-Jul-2011 James Dong <jdong@google.com> Deprecate two methods in MediaRecorder.java class

Change-Id: I98fbe628fe77867b97c04f44458948ede2f49d22
ediaRecorder.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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/MediaImageItem.java
ideoeditor/MediaProperties.java
ideoeditor/MediaVideoItem.java
ideoeditor/VideoEditor.java
ideoeditor/VideoEditorImpl.java
ideoeditor/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
ediaScanner.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
udioManager.java
udioService.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
udioService.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
udioTrack.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
udioRecord.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>
ediaScanner.java
88bde0ce3799c47530ea42ae3665bfa12ae38d11 14-Jul-2011 Narayan Kamath <narayan@google.com> Minor documentation updates for the AudioTrack class.

Change-Id: I0c3c220aa433d1917d997a7b1bfa54e61acc26b2
udioTrack.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>
ediaScanner.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>
ediaScanner.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>
ediaFile.java
ediaScanner.java
10e89712863f5b91a2982dc1783fbdfe39c1485d 09-Jul-2011 Jeff Brown <jeffbrown@google.com> Eliminate single-process mode.
Bug: 5010576

Change-Id: Id450dc83efed4897d1e4ff451530fed14457aace
ediaScanner.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
ediaFile.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
ediaMetadataRetriever.java
ediaScanner.java
ingtoneManager.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
ideoeditor/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
ediaRecorder.java
5c2faf3dc310b100707eb9e32e1e5ae8ceffd0c6 27-Jun-2011 Glenn Kasten <gkasten@google.com> Bug 4571308 Provide correct video frame timestamps

Change-Id: I0f726817fc02d3e2a4cf82ed801ef977994e6bcc
ediaPlayer.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
ediaRecorder.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
etadata.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
ediaPlayer.java
imedText.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
ideoeditor/VideoEditorImpl.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
ediaPlayer.java
d52ad9ca8d36afa76161c61b65a71d70977c0d3f 15-Jun-2011 James Dong <jdong@google.com> Fix broken build

Change-Id: Icf7e33a3a4d9b430cd8cbc97801df24a94f9e079
ediaPlayer.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
ediaPlayer.java
ediaRecorder.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
ediaPlayer.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
ediaFile.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
ediaRecorder.java
e8b26dcec7765786bbf063b3ae6b967b8b547ab6 26-May-2011 James Dong <jdong@google.com> Extract embedded cover art (aka poster frame) in mp4 files

Change-Id: Ic9421ee27b9aa3b27df00878b887de20f25d232b
ediaMetadataRetriever.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
ediaPlayer.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
udioService.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
udioManager.java
udioService.java
817c161ef27b6087c496755768d65fcb4f78f04c 13-Apr-2011 Glenn Kasten <gkasten@google.com> Bug 4184736 unhide MediaPlayer.setTexture

Change-Id: I4c8456465611b717e42c0a11e3ce3b4dc0a34270
ediaPlayer.java
3c707256cf238354524a9cac2b539259328bb035 19-May-2011 James Dong <jdong@google.com> Merge "Publish setLocation() method as a public Java API"
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
ediaFile.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
ediaRecorder.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
ediaRecorder.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
ediaRecorder.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
ediaPlayer.java
9e836a7d2e4bb04a9c85dcb6b1f0cef50d5fd2e1 11-May-2011 James Dong <jdong@google.com> Expose the track informational event for testing

Change-Id: I0f12d62d4a36dde76823f7f39e075184c1916504
ediaRecorder.java
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
ediaMetadataRetriever.java
ediaPlayer.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
ediaMetadataRetriever.java
ediaPlayer.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>
ediaScanner.java
d01ec6eab019e46398975202e9e4a198a603ad99 26-Apr-2011 Gloria Wang <gwang@google.com> Add setParameter/getParameter to MediaPlayer API.
for bug 1982947

Change-Id: If3f40e4f18cbba155af29944af38bdc627f8cd53
ediaPlayer.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>
ediaScanner.java
ediaScannerClient.java
f50e54e64b2b5a269e1a88c511a57064a14bb51b 22-Apr-2011 Dianne Hackborn <hackbod@google.com> Remove config_caseSensitiveExternalStorage; no longer needed.

Change-Id: Id51c9e05be21d8087359cf918081109ba325569a
ediaScanner.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
ediaPlayer.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
udioService.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
udioService.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
ediaPlayer.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
mrInputStream.java
udioManager.java
ediaScanner.java
ediaScannerConnection.java
esampleInputStream.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
ediaPlayer.java
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
udioSystem.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
ediaFile.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
ediaScanner.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
ediaFile.java
c36b3c6956479f1a154fe1e08b679ff4657097e1 29-Mar-2011 James Dong <jdong@google.com> Fix missing cross-ref links in the MediaPlayer.java javadoc

Change-Id: Ie5fba234d226ff792661ec346ddf87f43b5a0dc7
ediaPlayer.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
humbnailUtils.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
udiofx/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
ediaMetadataRetriever.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
ediaPlayer.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
ideoeditor/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
ideoeditor/AudioTrack.java
ideoeditor/MediaItem.java
ideoeditor/VideoEditor.java
ideoeditor/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
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
udioService.java
133cf8b92a07d5be8c64607b9644aa9cef169fb0 12-Mar-2011 James Dong <jdong@google.com> Add a release() method to MediaScanner

bug - 2586042

Change-Id: I08713ac75cbcaf01dff21a24cdefb6e2dacc92cb
ediaScanner.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
ideoeditor/Transition.java
ideoeditor/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
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
udioService.java
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
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
ideoeditor/AudioTrack.java
ideoeditor/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
ediaMetadataRetriever.java
a2c322f599b5a44ca153922b994a05a4311331cb 22-Feb-2011 Ray Chen <raychen@google.com> 3406494 Gallery photos in nonsensical order

Change-Id: Ic992465a6683179bff280753dcaf9aa6372424e6
ediaScanner.java
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
ideoeditor/MediaArtistNativeHelper.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
udioService.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
ideoeditor/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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/MediaProperties.java
ideoeditor/VideoEditorImpl.java
89782f501343fdbbe3bd6ab36e65474d49cd4b89 25-Feb-2011 Santosh Madhava <smadhava@google.com> Fix for issue 3485010: The project thumbnail is not regenerated

Change-Id: I2c882bdf2e82b95b1ad19ab50ec636a78b1c1561
ideoeditor/VideoEditorImpl.java
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
ediaPlayer.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
ediaPlayer.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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/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>
ediaFile.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
ediaPlayer.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
ideoeditor/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
ideoeditor/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
ideoeditor/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
ideoeditor/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
ideoeditor/MediaProperties.java
ideoeditor/MediaVideoItem.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
udioManager.java
udioSystem.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
udioService.java
udioSystem.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
ediaScanner.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
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
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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/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
udioService.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
ideoeditor/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
ideoeditor/MediaProperties.java
ideoeditor/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
udioManager.java
udioService.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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/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
ediaFile.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
udioManager.java
udioService.java
udioSystem.java
AudioService.aidl
13984592b1b63a14c8401cf314865daf633e85ec 03-Feb-2011 Dheeraj Sharma <dheerajs@google.com> Fix for issue : 3419353 Crash during transition generation

Change-Id: I1f15f05c87bdc1ad8acdb6fc5db3c350e5b28947
ideoeditor/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
ideoeditor/VideoEditorImpl.java
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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/VideoEditorImpl.java
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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/MediaItem.java
ideoeditor/OverlayFrame.java
ideoeditor/VideoEditorImpl.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
ideoeditor/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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/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
ideoeditor/AudioTrack.java
ideoeditor/Effect.java
ideoeditor/EffectKenBurns.java
ideoeditor/MediaItem.java
ideoeditor/VideoEditor.java
ideoeditor/VideoEditorImpl.java
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
ideoeditor/AudioTrack.java
ideoeditor/Effect.java
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/MediaImageItem.java
ideoeditor/MediaItem.java
ideoeditor/MediaVideoItem.java
ideoeditor/Overlay.java
ideoeditor/OverlayFrame.java
ideoeditor/VideoEditorImpl.java
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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/MediaProperties.java
ideoeditor/MediaVideoItem.java
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
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
ideoeditor/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
ideoeditor/MediaImageItem.java
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
udioService.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
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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/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
ideoeditor/MediaImageItem.java
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
ideoeditor/VideoEditorImpl.java
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
ideoeditor/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
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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/Transition.java
ideoeditor/VideoEditor.java
ideoeditor/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
udioManager.java
udioRecord.java
udioService.java
udioSystem.java
ediaRecorder.java
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
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
ideoeditor/VideoEditorImpl.java
de412d277ce9e5dc3918401fc399ace98d4f1d31 26-Jan-2011 Santosh Madhava <smadhava@google.com> Review rework for issue 3385068 : Play gets out of sync

Change-Id: I7f7435bd898a72302500cdc15874e469922cbebe
ideoeditor/MediaArtistNativeHelper.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
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
udioService.java
a6714ce2bbb593efdfb53e071607df2a5117a643 25-Jan-2011 Santosh Madhava <smadhava@google.com> Fix for issue 3385068 : Play gets out of sync

Change-Id: Iaf5e2f246b9cbfc5c8093d34ed085fe255ae500b
ideoeditor/MediaArtistNativeHelper.java
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
1ac760afabeb19ced48a788c7b675baba47d4db3 24-Jan-2011 Dheeraj Sharma <dheerajs@google.com> Issue no : 3370622

VideoEditor: Fix for Clear Surface API

Change-Id: I8d4ad90dd2a0d37bd5363c36582a16f08b161bee
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/VideoEditorImpl.java
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
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/MediaImageItem.java
c8de291ee58665010f80cdedc1bccc57c1d675fb 25-Jan-2011 Wu-cheng Li <wuchengli@google.com> Merge "Improved conversion accuracy of exif geotag data" into honeycomb
98dcca909a44e527ca3a187b13cd1e49a328cbfb 25-Jan-2011 James Dong <jdong@google.com> Reduce the JNI native method visibility

bug -3385135

Change-Id: I568b53d2279622b44ca5b8a23a8691ca3395f9a5
ideoeditor/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
4ff8a0b410a48a24a94e7d0c608b9b03e7928f71 24-Jan-2011 Santosh Madhava <smadhava@google.com> Resubmit of 'Fix for isssue 3369932 : stopPreview returns 0'

Change-Id: Id2e4598f29191c506ab99a112bd7743f6a794cd6
ideoeditor/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
ediaRecorder.java
05d9f81bd638a749669192b50e680b166529d5f3 24-Jan-2011 Dheeraj Sharma <dheerajs@google.com> VideoEditor:Clear Surface API addition

Change-Id: I824c4a9d7f0a11ad60f8045eccc8b6139b66af22
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/VideoEditor.java
ideoeditor/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
xifInterface.java
9d5ca4a14cca0985957eb4e23fd09068f2fd2215 21-Jan-2011 Santosh Madhava <smadhava@google.com> Fix for issue 3370052 : Export progress percentage is incorrect

Change-Id: If1a39ab4c34e44b84dc6ada7b4d7b634ac347099
ideoeditor/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
ideoeditor/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
ideoeditor/MediaImageItem.java
ideoeditor/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>
ediaScanner.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
udiofx/AudioEffect.java
udiofx/Visualizer.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>
ediaScanner.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
udioService.java
9bcedf7cf3e9c981837f2d8ec98cd118efad3f01 18-Dec-2010 Santosh Madhava <smadhava@google.com> Video editor API update - rework for Patch Set 3

Change-Id: I75bfa17fe98bec13f672ff9a4edf623bb85020c8
ideoeditor/AudioTrack.java
ideoeditor/Effect.java
ideoeditor/EffectColor.java
ideoeditor/EffectKenBurns.java
ideoeditor/ExtractAudioWaveformProgressListener.java
ideoeditor/MediaArtistNativeHelper.java
ideoeditor/MediaImageItem.java
ideoeditor/MediaItem.java
ideoeditor/MediaProperties.java
ideoeditor/MediaVideoItem.java
ideoeditor/Overlay.java
ideoeditor/OverlayFrame.java
ideoeditor/Transition.java
ideoeditor/TransitionAlpha.java
ideoeditor/TransitionCrossfade.java
ideoeditor/TransitionFadeBlack.java
ideoeditor/TransitionSliding.java
ideoeditor/VideoEditor.java
ideoeditor/VideoEditorFactory.java
ideoeditor/VideoEditorImpl.java
ideoeditor/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
ediaScanner.java
54815a78aff9bd453a8f0ac3c02f3a35c4b04146 13-Jan-2011 James Dong <jdong@google.com> Add audio encoding parameters check

bug - 3345296

Change-Id: If3f33955f5473b0c5ad9c9b85f8b5cb21ddd7e65
ediaRecorder.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
ediaMetadataRetriever.java
humbnailUtils.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
ediaScanner.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>
ediaScanner.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
ediaMetadataRetriever.java
humbnailUtils.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>
ediaScanner.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
ediaPlayer.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
udioService.java
oundPool.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
ediaMetadataRetriever.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
ediaScanner.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
ediaMetadataRetriever.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
udioService.java
df9b349b960fff95dff4fcf8b2661899e33059da 05-Jan-2011 James Dong <jdong@google.com> Replace extractAlbumArt() with getEmbeddedPicture() in MediaMetadataRetriever.java

Change-Id: I34dfc1daa3bed1f334f3f266cbe70d1e3d7924f6
ediaMetadataRetriever.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
ediaMetadataRetriever.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>
ediaFile.java
ediaScanner.java
tpConstants.java
tpDatabase.java
tpPropertyGroup.java
tpPropertyList.java
tpServer.java
tpClient.java
tpCursor.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
ediaRecorder.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
ediaRecorder.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>
ediaScanner.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>
ediaScanner.java
ediaScannerClient.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
humbnailUtils.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
udioService.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>
tpDatabase.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>
tpDatabase.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>
ediaScanner.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>
tpServer.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
udioService.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>
tpDatabase.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
udioService.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>
tpDatabase.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
humbnailUtils.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
ediaMetadataRetriever.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
ideoeditor/VideoEditorFactory.java
ideoeditor/VideoEditorImpl.java
ideoeditor/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
ediaFile.java
786ecf849c57de5400a0d594d3b133758a17a1a0 02-Dec-2010 Gil Dobjanschi <virgild@google.com> Added a callback interface to the generatePreview method.

Change-Id: I7ba678aba47f232e1c320bb36decf59f80f3755d
ideoeditor/VideoEditor.java
ideoeditor/VideoEditorFactory.java
ideoeditor/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>
ediaScanner.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>
tpDatabase.java
tpPropertyGroup.java
tpPropertyList.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>
tpDatabase.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
ideoeditor/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>
tpClient.java
tpCursor.java
tpClient.java
tpCursor.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>
tpCursor.java
tpDatabase.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
ideoeditor/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
udioManager.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>
tpClient.java
tpCursor.java
a0dfa2cdd8c84db4732c9ac8344c5e8d1480bc1f 18-Nov-2010 Gil Dobjanschi <virgild@google.com> AudioTrack getTimelineDuration clarification.

Change-Id: I276316e851918df227b7246766916fa8572f1b89
ideoeditor/AudioTrack.java
b1fcb2abd3ec1847208cef048b06ff5be65add3a 18-Nov-2010 Gil Dobjanschi <virgild@google.com> Added IOException to WaveformData constructor

Change-Id: Ic00b582beaa2701ffa72e99194693fd7cfa45a6d
ideoeditor/AudioTrack.java
ideoeditor/MediaVideoItem.java
ideoeditor/TransitionAlpha.java
ideoeditor/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
ediaRecorder.java
0f76d9b1c2d93a19b436dcbfef9fc46a2712d195 18-Nov-2010 Gil Dobjanschi <virgild@google.com> Disable ducking by default. Changed ducking threshold parameter range.

Change-Id: I66a73b270466ced2ace9e3b10f82cfab1a1306bb
ideoeditor/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>
tpDatabase.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>
tpDatabase.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
ideoeditor/Effect.java
ideoeditor/MediaImageItem.java
ideoeditor/MediaItem.java
ideoeditor/MediaVideoItem.java
ideoeditor/Overlay.java
ideoeditor/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
udioManager.java
udioService.java
udioSystem.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>
ediaScanner.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>
tpDatabase.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
ediaFile.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>
tpConstants.java
tpDatabase.java
tpPropertyList.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
ideoeditor/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>
ediaScanner.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>
ediaFile.java
34fad156999e69f8700ba2a693805ec83ebebcb6 11-Nov-2010 Gil Dobjanschi <virgild@google.com> Invalidate transitions when an image media item duration changes.

Change-Id: I3cff920ef629df49dcfcb63065afeeb47a649287
ideoeditor/MediaImageItem.java
ideoeditor/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
ideoeditor/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
ediaRecorder.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
amcorderProfile.java
ameraProfile.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
amcorderProfile.java
ameraProfile.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
ideoeditor/Effect.java
ideoeditor/MediaImageItem.java
ideoeditor/MediaItem.java
ideoeditor/MediaVideoItem.java
ideoeditor/Overlay.java
ideoeditor/OverlayFrame.java
ideoeditor/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
ediaRecorder.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
amcorderProfile.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
udioManager.java
d141305f93364810b4e2324fe41285b65a6b6c82 06-Nov-2010 Gil Dobjanschi <virgild@google.com> Fix: FileInputStream not closed after parsing XML file

Change-Id: I8ea69738d5ba1e91c9c759f76c49a8a324c24b88
ideoeditor/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
ediaRecorder.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>
ediaScanner.java
c006e8ef64bbfd47a9ecd4cfd708362e40b0d337 05-Nov-2010 Gil Dobjanschi <virgild@google.com> Added an export method without codec parameters.

Change-Id: If0a1c34f2266c441cd16c46da5c07ab1a509314b
ideoeditor/VideoEditor.java
ideoeditor/VideoEditorTestImpl.java
4414eb4b2955be9eb62d1ddf379d1a7ae1822887 05-Nov-2010 Ray Chen <raychen@google.com> Add more EXIF tags.

Change-Id: I77a02a6de6bb4c364bb9718f7bed15468a38a279
xifInterface.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
ideoeditor/VideoEditor.java
ideoeditor/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.
ediaRecorder.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
ediaRecorder.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>
udioService.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
udioService.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
ideoeditor/AudioTrack.java
ideoeditor/MediaVideoItem.java
1f89c4f9f8df5d7125221250993ba1e853ed9fed 03-Nov-2010 Gloria Wang <gwang@google.com> Use SystemProperties.get() instead of System.getProperty()

Change-Id: I92571fa217e6623345bbd84cf87ab939fbe63b0a
ediaScanner.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
ediaScanner.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>
udioService.java
udioSystem.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>
tpDatabase.java
5d143ad4a8f8c90f44e185a494ff3ff638e6c103 01-Nov-2010 Gloria Wang <gwang@google.com> Media scanner support for FL(Forward Lock) DRM file types

Change-Id: Id85edbfc2851d9054a7433d24bb5cf33a457a4e5
ediaFile.java
ediaScanner.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
ediaPlayer.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
ideoeditor/Effect.java
ideoeditor/MediaImageItem.java
ideoeditor/MediaItem.java
ideoeditor/MediaVideoItem.java
ideoeditor/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
udiofx/Visualizer.java
6f3c808b4f134eba1dfb57e13853addc351ca76f 27-Oct-2010 Gil Dobjanschi <virgild@google.com> Waveform member variables must be private

Change-Id: I8e61dbe5ad51b455377e39a0918ac82d138d8228
ideoeditor/WaveformData.java
4545f73530d995860f0c12fbb1fdb722b3e82c18 27-Oct-2010 Gil Dobjanschi <virgild@google.com> Added waveform data support

Change-Id: I28e922e0d6588ffe13da7e814dae61f17446b1e9
ideoeditor/AudioTrack.java
ideoeditor/MediaVideoItem.java
ideoeditor/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
ediaFile.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
ideoeditor/TransitionEndCurtainClosing.java
ideoeditor/TransitionEndFadeToBlack.java
ideoeditor/TransitionFadeBlack.java
ideoeditor/TransitionFadeToBlack.java
ideoeditor/TransitionStartCurtainOpening.java
ideoeditor/TransitionStartFadeFromBlack.java
ideoeditor/VideoEditorTestImpl.java
a0cab99dd281c0d180b3dbecaae91682e5d245b2 26-Oct-2010 James Dong <jdong@google.com> Remove unused and hidden setVideoEncoderLevel() from MediaRecorder.java

Change-Id: Ia464d79d65e43c84937624c5a6fa77c7155cffaa
ediaRecorder.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
ideoeditor/MediaImageItem.java
ideoeditor/MediaItem.java
ideoeditor/MediaVideoItem.java
70bfc087d95ab7b1bf782c3d579e1a3e48d9ddb2 26-Oct-2010 Gil Dobjanschi <virgild@google.com> Check before and after media item reference

Change-Id: I9abc017896ed82f069479a468e1b0b9d3303e3a6
ideoeditor/VideoEditorTestImpl.java
36b7cc5e0b00f7dbf40492817ddc86d7ef3fb5c8 26-Oct-2010 Gil Dobjanschi <virgild@google.com> Transition bug fix

Change-Id: I0999aca3b341e4d6a4303ef84da8f5e541310bf0
ideoeditor/VideoEditorTestImpl.java
5a1e4cf83f5be1b5d79e2643fa791aa269b6a4bc 19-Oct-2010 Jaikumar Ganesh <jaikumar@google.com> Update BT APIs return type from Set to List.

Change-Id: Ia27220dd26cde13007f6938c830517ee7f6968ce
udioService.java
7bfcabbb9e5425985b2f2ffe095949e290a8a4ae 19-Oct-2010 Gil Dobjanschi <virgild@google.com> Finalized the audio track ducking API

Change-Id: I12b966c1898eaae76e9de71a6d745678dc489092
ideoeditor/AudioTrack.java
ideoeditor/VideoEditorTestImpl.java
f958f0fe9d7765600232ad3a25894376205d5f69 15-Oct-2010 Gil Dobjanschi <virgild@google.com> Save the color for gradient effects

Change-Id: I21e14344aa7410b5c99102ab41b4ec94db2fbe61
ideoeditor/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
ediaRecorder.java
e2c28468a5aa196f939474232f578b0fbf66a1f2 13-Oct-2010 Gil Dobjanschi <virgild@google.com> Test implementation bug fix.

Change-Id: I1448d06662e2538f01d9c462d4a86fcbf57d7125
ideoeditor/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>
tpDatabase.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>
tpDatabase.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
ideoeditor/EffectColor.java
ideoeditor/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>
tpDatabase.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
ideoeditor/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>
tpCursor.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
etadata.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>
ediaScanner.java
b27f2d3126d68796925f96078fd5ab3eb466e98a 07-Oct-2010 Gil Dobjanschi <virgild@google.com> Remove MediaVideoItem and AudioTrack playback APIs.

Change-Id: If3e5f341af7f581c90f04c91afb3681f9e8d5f82
ideoeditor/AudioTrack.java
ideoeditor/MediaVideoItem.java
0ca0a12c6b49032065bf64e9f1cdebf765a0df9d 06-Oct-2010 Gil Dobjanschi <virgild@google.com> Added VideoEditor reference to protected AudioTrack constructor

Change-Id: Icfac392f8060d424b27105c6ae718e35b2d6c705
ideoeditor/AudioTrack.java
ideoeditor/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
ideoeditor/AudioTrack.java
ideoeditor/MediaImageItem.java
ideoeditor/MediaItem.java
ideoeditor/MediaVideoItem.java
ideoeditor/VideoEditorTestImpl.java
e5867ef3f096521c4a7a289d83e75904b3a977c5 06-Oct-2010 Gil Dobjanschi <virgild@google.com> Adjust start time and duration for overlays and effects.

Change-Id: Ia5030d15a7c98f37307a0e78821052f05fec9fe6
ideoeditor/Effect.java
ideoeditor/MediaImageItem.java
ideoeditor/MediaItem.java
ideoeditor/MediaVideoItem.java
ideoeditor/Overlay.java
61f9184547a3b9ad4c06846b87f1b1cbd4787230 05-Oct-2010 Gil Dobjanschi <virgild@google.com> Added mute APIs for MediaVideoItem and AudioTrack

Change-Id: I2e4e8b213a5d19f895d9e3431b7d4f1acad70762
ideoeditor/AudioTrack.java
ideoeditor/MediaVideoItem.java
ideoeditor/VideoEditorTestImpl.java
3398abafca25ff8c58feedd4d2b82857a3322061 05-Oct-2010 Gil Dobjanschi <virgild@google.com> Save AudioTrack to XML

Change-Id: Ie9afe8c620e21e160b56c36f489870db0a3987cc
ideoeditor/AudioTrack.java
ideoeditor/MediaVideoItem.java
ideoeditor/VideoEditorFactory.java
ideoeditor/VideoEditorTestImpl.java
52ac301ee15abd14cdb84053a5de4f1528c4b16c 04-Oct-2010 Gil Dobjanschi <virgild@google.com> Added audio track playback API

Change-Id: I9884ab5d3a7d8d8310f4b4426e50b0496cbbd295
ideoeditor/AudioTrack.java
ideoeditor/VideoEditorTestImpl.java
048449ebfa3f42e1431338785f225d25125f294e 30-Sep-2010 Gil Dobjanschi <virgild@google.com> Added ability to instantiate various implementations of the VideoEditor

Change-Id: I5b09afafff1c009bada4f49a5568286fe3cd9aef
ideoeditor/EffectKenBurns.java
ideoeditor/OverlayFrame.java
ideoeditor/VideoEditorFactory.java
ideoeditor/VideoEditorTestImpl.java
82aa7f017daaaeb96c13e6e3491d5037ab471085 28-Sep-2010 Jaikumar Ganesh <jaikumar@google.com> Update code for new BT APIs.

Change-Id: Idf806cba8160e6075e33e26ee9936663b850e96c
udioService.java
5665fd6ac2b2d3a00b3addf1ae897426896935d6 28-Sep-2010 Gil Dobjanschi <virgild@google.com> Save overlays to XML

Change-Id: I549c40b55a85022136dbd4899cc0d2d4da6e33de
ideoeditor/Effect.java
ideoeditor/Overlay.java
ideoeditor/OverlayFrame.java
ideoeditor/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
ideoeditor/Effect.java
ideoeditor/EffectColor.java
ideoeditor/EffectKenBurns.java
ideoeditor/MediaItem.java
ideoeditor/Overlay.java
ideoeditor/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>
tpCursor.java
c73305cfd7bad91f654dfa818c44b640594d7aad 24-Sep-2010 Dharmaray Kundargi <dharmaray@google.com> work on review comments and code formating.
Removed white spaces

Change-Id: Ic54817bfc205be536ec086bdfd34b35b0eeac1a3
ideoeditor/AudioTrack.java
ideoeditor/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
ideoeditor/MediaImageItem.java
ideoeditor/MediaItem.java
ideoeditor/MediaProperties.java
ideoeditor/MediaVideoItem.java
ideoeditor/Transition.java
ideoeditor/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>
tpDatabase.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
ideoeditor/MediaImageItem.java
ideoeditor/MediaItem.java
ideoeditor/MediaVideoItem.java
ideoeditor/Transition.java
920d649949f6636a9e4220904c9a3c5cd860fd53 24-Sep-2010 Marco Nelissen <marcone@google.com> Send album artist to the media provider again.

Change-Id: I13f44bab2024adcfbc4b9491ac565cfdf15ef9d9
ediaScanner.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>
tpDatabase.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>
tpDatabase.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
udioEffect.java
udioTrack.java
assBoost.java
nvironmentalReverb.java
qualizer.java
ediaPlayer.java
resetReverb.java
irtualizer.java
isualizer.java
udiofx/AudioEffect.java
udiofx/BassBoost.java
udiofx/EnvironmentalReverb.java
udiofx/Equalizer.java
udiofx/PresetReverb.java
udiofx/Virtualizer.java
udiofx/Visualizer.java
udiofx/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>
ediaScanner.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
ideoeditor/Effect.java
ideoeditor/MediaItem.java
ideoeditor/MediaVideoItem.java
ideoeditor/OverlayFrame.java
ideoeditor/TransitionAlpha.java
ideoeditor/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
isualizer.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
ideoeditor/Transition.java
ideoeditor/TransitionEndCurtainClosing.java
ideoeditor/TransitionEndFadeToBlack.java
ideoeditor/TransitionStartCurtainOpening.java
ideoeditor/TransitionStartFadeFromBlack.java
ideoeditor/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
udioEffect.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>
tpClient.java
tpCursor.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
ideoeditor/TransitionAtEnd.java
ideoeditor/TransitionAtStart.java
ideoeditor/TransitionEndCurtainClosing.java
ideoeditor/TransitionEndFadeToBlack.java
ideoeditor/TransitionStartCurtainOpening.java
ideoeditor/TransitionStartFadeFromBlack.java
ideoeditor/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
amcorderProfile.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
ideoeditor/AudioTrack.java
ideoeditor/Effect.java
ideoeditor/EffectColor.java
ideoeditor/EffectKenBurns.java
ideoeditor/ExtractAudioWaveformProgressListener.java
ideoeditor/MediaImageItem.java
ideoeditor/MediaItem.java
ideoeditor/MediaProperties.java
ideoeditor/MediaVideoItem.java
ideoeditor/Overlay.java
ideoeditor/OverlayFrame.java
ideoeditor/Transition.java
ideoeditor/TransitionAlpha.java
ideoeditor/TransitionAtEnd.java
ideoeditor/TransitionAtStart.java
ideoeditor/TransitionCrossfade.java
ideoeditor/TransitionFadeToBlack.java
ideoeditor/TransitionSliding.java
ideoeditor/VideoEditor.java
ideoeditor/VideoEditorFactory.java
ideoeditor/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>
ediaScanner.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
ediaRecorder.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
udioEffect.java
ediaPlayer.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>
ediaScanner.java
tpConstants.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>
tpDatabase.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
ediaRecorder.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>
ediaFile.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>
ediaFile.java
ediaScanner.java
tpDatabase.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
amcorderProfile.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
amcorderProfile.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
amcorderProfile.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>
tpDatabase.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>
tpDatabase.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>
ediaScanner.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>
tpDatabase.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>
tpDatabase.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>
tpDatabase.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
ediaRecorder.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>
tpDatabase.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>
tpServer.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
ediaRecorder.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>
ediaFile.java
tpConstants.java
tpDatabase.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>
tpDatabase.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>
tpClient.java
tpCursor.java
tpDatabase.java
tpServer.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
resetReverb.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>
tpDatabase.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
ediaScanner.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
assBoost.java
irtualizer.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>
tpDatabase.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
udioService.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
udioEffect.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
udioFormat.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
ediaRecorder.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
ediaRecorder.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
udioEffect.java
udioTrack.java
assBoost.java
nvironmentalReverb.java
qualizer.java
ediaPlayer.java
resetReverb.java
irtualizer.java
isualizer.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>
tpDatabase.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
ediaRecorder.java
7a047c89862febf63ce1bb5873179c7a2ff8d9d3 02-Aug-2010 Mike Lockwood <lockwood@android.com> MTP: Implement GetNumObjects

Change-Id: Iccc3a445f9a1eab7bb76eddd567c6a3a8f155b2b
Signed-off-by: Mike Lockwood <lockwood@android.com>
tpDatabase.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>
tpDatabase.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
qualizer.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
assBoost.java
nvironmentalReverb.java
qualizer.java
resetReverb.java
irtualizer.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>
tpClient.java
e7c51f5144cfbdb8b6cf2169ac59e42322b3bc8b 23-Jul-2010 Nipun Kwatra <nkwatra@google.com> Don't change the public API (adding @hide)

Change-Id: I3f3330472c42932fddb1de2c60e2380e59980995
ediaRecorder.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
ediaRecorder.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
udioTrack.java
ediaPlayer.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>
ediaScanner.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
udioFormat.java
udioRecord.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>
tpDatabase.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>
tpServer.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>
ediaFile.java
ediaScanner.java
tpDatabase.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>
tpDatabase.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
assBoost.java
nvironmentalReverb.java
qualizer.java
resetReverb.java
irtualizer.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>
ediaFile.java
tpDatabase.java
tpServer.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
udioEffect.java
isualizer.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
udioService.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>
tpClient.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
amcorderProfile.java
ameraProfile.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
udioService.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>
tpClient.java
tpServer.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
udioTrack.java
ediaPlayer.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
udioService.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>
tpClient.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>
tpClient.java
tpCursor.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
udioEffect.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
ediaPlayer.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>
tpCursor.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
tpCursor.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
ediaFile.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
ediaScanner.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
ediaPlayer.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
udioService.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>
tpClient.java
tpCursor.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
xifInterface.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
ediaFile.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
udioManager.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
ediaScanner.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
udioManager.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
udioManager.java
udioService.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
ediaPlayer.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
udioService.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
udioService.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
ediaScanner.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
udioService.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
udioService.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
udioService.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
udioService.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
udioService.java
bcac496076ef6f439147e7a2be71e8a2b76ddede 12-Apr-2010 Daniel Sandler <dsandler@android.com> Honor the "Never vibrate" setting for incoming calls.

Bug: 2579295
Change-Id: Ia4207492c5dfa2c39d27372c4892b60121b6d9e8
udioService.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
udioService.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
ediaScannerConnection.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
humbnailUtils.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
udioManager.java
udioService.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
amcorderProfile.java
ameraProfile.java
ediaRecorder.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
udioManager.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
udioManager.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
udioService.java
bbbb1dc3c33f8fe3ed24bd0baacf1f196cb5addd 18-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Unhide the MediaButton receiver API in android.media.AudioManager

Change-Id: Ic9222b0bf6e2ff481c6aa5f16ac0259fa7a52355
udioManager.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
ediaRecorder.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
udioManager.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
udioService.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
ediaScanner.java
4b55d496dd9899731b26327e4cb71c9ef4a1137a 19-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix SDK build Remove links to hidden constant in javadoc.

Change-Id: I21495f0ef64b3dc154ce0e0ca2d44686afd752e9
udioManager.java
95b88fbe744d8ce53b5f54f6fcd90c55094a8d14 19-Mar-2010 Eric Laurent <elaurent@google.com> Attempt to fix the SDK build.

Change-Id: I024df1b513da117057a21c27e6c0cd134cdd8023
udioManager.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
udioManager.java
udioService.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
udioManager.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
ediaScanner.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
udioManager.java
udioService.java
AudioService.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
udioManager.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
udioManager.java
udioService.java
AudioService.aidl
74d4843641ca1f810e27989873697cba1f41338a 12-Mar-2010 Ray Chen <raychen@google.com> Fix #2509370 ThumbnailUtils.createThumbnailFromEXIF crashes media provider.

Change-Id: Ia2cd00fb0fbdb32e9fb89b4d33ad3c1410eb40d3
humbnailUtils.java
e208377fbab6b90f41e68699700942a81f4caaeb 11-Mar-2010 Ray Chen <raychen@google.com> Add GPSProcessingMethod tag to ExifInterface.

Change-Id: I7575ae3195dc510e7020368794a66bb064839104
xifInterface.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
ediaScanner.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
udioService.java
eabb6df2fac57134b82f90a63730b2371589bded 09-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Unhide API additions to AudioManager for AudioFocus support.

Change-Id: Ifc7d764703632eb91db11587675ae70ec14510e8
udioManager.java
ff846009ecb6df669feeb5d5feecf4b304b8b9a5 01-Mar-2010 James Dong <jdong@google.com> Unhide CamcorderProfile and CameraProfile Java API

bug - 2375978
amcorderProfile.java
ameraProfile.java
7a67f156fb5b84c072c0b2bce30c78e55c96db84 11-Feb-2010 Ray Chen <raychen@google.com> Remove native options.
humbnailUtils.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
ediaRecorder.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).
udioService.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.
udioManager.java
udioService.java
AudioFocusDispatcher.aidl
AudioService.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
udioService.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
syncPlayer.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
amcorderProfile.java
ameraProfile.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
ediaScanner.java
05513119803845c11d845cbc376759cddcfe13bb 17-Feb-2010 Dave Sparks <davidsparks@android.com> Unhide new SoundPool API's. Bug 2415373.
oundPool.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.
ediaFile.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.
oundPool.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.
udioManager.java
udioService.java
d32fba411f2710ad66681466674c8243f2ca3454 11-Feb-2010 James Dong <jdong@google.com> Support decoder queries from media profiles xml configuration file
ecoderCapabilities.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
ediaPlayer.java
6015a9715421a339c2b7bb63f9166504e3488179 12-Feb-2010 Eric Laurent <elaurent@google.com> Fix issue 2418668: AudioManager isWiredHeadsetOn() always returns false for headset without mic.
udioManager.java
c5d5ee34d7c1026ca8d5cd8b186e5a73c5230247 11-Feb-2010 Marco Nelissen <marcone@google.com> Add support for "album artist" tag.
ediaMetadataRetriever.java
49ffc0ff72a29f000b56deb34b0706cbfc5624bf 05-Feb-2010 Ray Chen <raychen@google.com> Revise ThumbnailUtils API.
humbnailUtils.java
bfcb22a207499c7ecd4aef9bea2ac778d8be8fc8 10-Feb-2010 Marco Nelissen <marcone@google.com> Don't create a genre in the database for genre code 255 (unknown)
ediaScanner.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.
ediaScannerConnection.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
amcorderProfile.java
5d9661be8eaa2a4702a4d3c0fa0fd07a8638b503 31-Jan-2010 Wu-cheng Li <wuchengli@google.com> Add getAttributeDouble() and focal length tag.

bug:2375989
xifInterface.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
xifInterface.java
ediaScanner.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
ncoderCapabilities.java
bf124e7e41f7850ac1b7be808221a462db6f3447 26-Jan-2010 Ray Chen <raychen@google.com> Unhide ThumbnailUtils to support Camera unbundling.
http://b/2375978
iniThumbFile.java
humbnailUtil.java
humbnailUtils.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>
ediaPlayer.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.
udioManager.java
udioService.java
udioSystem.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.
udioManager.java
udioService.java
AudioService.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.
ediaScanner.java
1cb02bf661807ffc6525dcc13e16d7ce027bef00 13-Jan-2010 Andreas Huber <andih@google.com> Support for determining the mime type of media via metadata extraction.
ediaMetadataRetriever.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.
udioService.java
1b50044a271208bdb0893ed941bd21168faf90c4 16-Dec-2009 James Dong <jdong@google.com> Add MPEG to the file extensions that scanner cares
ediaFile.java
9a488b44cb479bc42375d2cfcdd4aa6161dc17cf 05-Jan-2010 Marco Nelissen <marcone@google.com> MediaFile.UNKNOWN_STRING -> MediaStore.UNKNOWN_STRING
ediaFile.java
ediaScanner.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.
oundPool.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.
udioService.java
udioSystem.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.
udioService.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.
udioService.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.
udioService.java
udioSystem.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.
udioRecord.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
xifInterface.java
ediaScanner.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.
xifInterface.java
0b6ee9fc5e9da370e31dce686e7062e5d255fcda 30-Nov-2009 Ray Chen <raychen@google.com> DATE_TAKEN should be in millisecond instead of second.
ediaScanner.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.
ingtone.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.
aceDetector.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.
ediaRecorder.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.
ediaScanner.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.
udioService.java
udioSystem.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.
humbnailUtil.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
ediaRecorder.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.
humbnailUtil.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.
ediaRecorder.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.
udioService.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.
syncPlayer.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.
humbnailUtil.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.
humbnailUtil.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.
ediaPlayer.java
oneGenerator.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
ingtone.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.
ediaPlayer.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
ingtone.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
xifInterface.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.
iniThumbFile.java
humbnailUtil.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.
udioService.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.
iniThumbFile.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.
udioManager.java
udioService.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.
iniThumbFile.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.
ediaScanner.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.
ediaScanner.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.
iniThumbFile.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.
ediaFile.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.
humbnailUtil.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.
ediaScanner.java
iniThumbFile.java
humbnailUtil.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.
ediaScanner.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
xifInterface.java
ediaScanner.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
ediaPlayer.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.
xifInterface.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.
xifInterface.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.
xifInterface.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
xifInterface.java
ediaScanner.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.
udioManager.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
udioService.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.
udioService.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)
ediaScanner.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.
oneGenerator.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.
ediaScanner.java
ediaScannerClient.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.
udioManager.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
xifInterface.java
72b1f379d5c97c8ff31d2201e78215af777d6bda 31-Aug-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
xifInterface.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.
udioService.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.
udioService.java
e1a7ad23e0cefefc1e5c762a3d88179971077dcc 25-Aug-2009 Dianne Hackborn <hackbod@google.com> Fix build.

Change-Id: I7a21bc2151fb2a9a1135f676b563f40609bc997b
ediaRecorder.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
udioManager.java
udioSystem.java
ediaPlayer.java
ediaRecorder.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.
ediaPlayer.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.
udioService.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
udioService.java
099397cbd07c8c991f3126d0d0ac64bb6b3c0b47 17-Aug-2009 Chih-Chung Chang <chihchung@google.com> Fix 1860351: Put datetime in jpeg exif to datetaken field.
xifInterface.java
ediaScanner.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.
ediaMetadataRetriever.java
ediaScanner.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>
udioManager.java
udioService.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
ediaScanner.java
b826bf9182f4636ea891d1da156e26944b784ef7 11-Aug-2009 Wu-cheng Li <wuchengli@google.com> Fix the bug that EXIF attributes are always cached.

b2039501
xifInterface.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.
udioService.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.
ediaMetadataRetriever.java
ediaPlayer.java
ediaRecorder.java
ediaScanner.java
5c1207be90fdf296c1b83034b7c68915e1749284 01-Aug-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
etPlayer.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"
ediaScanner.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.
etPlayer.java
a8675f67e33bc7337d148358783b0fd138b501ff 29-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
udioManager.java
udioService.java
xifInterface.java
AudioService.aidl
ediaScanner.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.
udioManager.java
udioService.java
AudioService.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.
ingtoneManager.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.
udioFormat.java
udioRecord.java
udioTrack.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.
udioService.java
974ff946d114610ec41172fb6076d9d8810c3680 27-Jun-2009 Ravi K Yenduri <yenduri@pv.com> Add support for .aac and .asf extensions.
ediaFile.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()
udioFormat.java
udioManager.java
udioRecord.java
udioService.java
udioSystem.java
udioTrack.java
AudioService.aidl
etPlayer.java
oneGenerator.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.
etadata.java
cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f 21-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
udioRecord.java
udioService.java
udioTrack.java
ediaPlayer.java
ediaRecorder.java
ediaScanner.java
ingtoneManager.java
oneGenerator.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.
etadata.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.
etadata.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.
etadata.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.
udioService.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>
ediaScanner.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)
etadata.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.
ediaScanner.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...
etadata.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
ediaPlayer.java
etadata.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.
ediaPlayer.java
etadata.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.
ediaPlayer.java
etadata.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.
udioManager.java
udioService.java
AudioService.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.
xifInterface.java
ediaScanner.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.
udioTrack.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.
ediaScanner.java
899725b05dd5c8c51f9f802d4f0a7190532ce0a5 06-Jul-2009 Marco Nelissen <marcone@google.com> Make sure ringtones are sorted correctly.
ingtoneManager.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.
ediaPlayer.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
oneGenerator.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>
udioService.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.
udioService.java
32f82774884bdd709789ab9f3ccdf5b972ff7681 12-Jun-2009 Nicolas Catania <niko@google.com> Removed trailing whitespaces.
ediaPlayer.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.
ediaPlayer.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).
ediaRecorder.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.
ediaPlayer.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.
oneGenerator.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.
udioRecord.java
ediaRecorder.java
843ef36f7b96cc19ea7d2996b7c8661b41ec3452 20-May-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
udioManager.java
udioRecord.java
udioService.java
udioSystem.java
udioTrack.java
etPlayer.java
ediaFile.java
ediaScanner.java
oundPool.java
oneGenerator.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.
ediaScanner.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.
udioManager.java
ediaFile.java
oundPool.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
oneGenerator.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
udioManager.java
udioService.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.
ediaScanner.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
udioSystem.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
etPlayer.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
etPlayer.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
udioRecord.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
udioRecord.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
oundPool.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
udioTrack.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
ediaRecorder.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
oundPool.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
oundPool.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
udioTrack.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
ediaRecorder.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
ediaRecorder.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
oundPool.java
b1520e9333efdcc6ce3605be7c02bd0f0c9a0139 17-Apr-2009 Dave Sparks <> AI 146654: Add java docs for SoundPool
BUG=1795461

Automated import of CL 146654
oundPool.java
935ae463d495d41155e27feb849768ad2b8b16db 14-Apr-2009 Dianne Hackborn <> AI 145994: Integrate #145778 from Donut.

Automated import of CL 145994
ingtoneManager.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
ediaScanner.java
ingtoneManager.java
f8a7ceaef2e7d5cd530c9426bde91b6fa9a40b75 11-Apr-2009 Andy Stadler <> AI 145778: Manual merge changes 145382-145384 from cupcake.

Automated import of CL 145778
ingtoneManager.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
ingtoneManager.java
26a857e18198548417ec9fd871f0a322b648b226 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/master/...@142377,142377
etPlayer.java
3d78f9ab080c582443d1b78d933c899b52588fb2 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/donutburger/...@142376,142376
etPlayer.java
4a0029f95db144ba735b35e636400e8ce535383f 25-Mar-2009 Niko Catania <> Automated import from //branches/donutburger/...@141213,141213
ediaPlayer.java
a06f6e328dd969699b1dcf347476d31a76a0f9fb 25-Mar-2009 Niko Catania <> Automated import from //branches/master/...@141214,141214
ediaPlayer.java
cb80d9fd97a4e188f0befc2721eea6a5c92a5047 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/cupcake/...@142374,142374
etPlayer.java
d01721d5ca5bfa943760ed61cc99ca1ffc044c50 25-Mar-2009 Niko Catania <> Automated import from //branches/donutburger/...@140811,140811
udioTrack.java
70322464af6c08624667cd37bb252053673f2e63 25-Mar-2009 Niko Catania <> Automated import from //branches/master/...@140812,140812
udioTrack.java
1a9f7399bb32c81ad5cc8c9d74ab3065b4a150ac 25-Mar-2009 Niko Catania <> Automated import from //branches/donutburger/...@140800,140800
udioService.java
5f44349c1239fdce883ae0d79e9990455a16e04a 25-Mar-2009 Niko Catania <> Automated import from //branches/master/...@140804,140804
udioService.java
a5e5643d5d022b59f37cae7f7dec8b24fe9510c1 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/master/...@140567,140567
udioRecord.java
470f71f4a4d6d3a504b62473bd435bf80493414f 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/donutburger/...@140566,140566
udioRecord.java
3ff637187ab528137fb1fd82875ce08383265edb 25-Mar-2009 Jason Parekh <> Automated import from //branches/master/...@140509,140509
udioService.java
b109615ebebd6f3b9ae789412279f576c3ace46b 25-Mar-2009 Jason Parekh <> Automated import from //branches/donutburger/...@140507,140507
udioService.java
c2ad241504fcaa12d4579d3b0b4038d1ca8d08c9 20-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@141571
udioRecord.java
udioService.java
udioTrack.java
ediaPlayer.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
udioManager.java
udioTrack.java
etPlayer.java
ediaPlayer.java
ediaRecorder.java
ba87e3e6c985e7175152993b5efcc7dd2f0e1c93 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
ediaRecorder.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
ediaPlayer.java
4df2423a947bcd3f024cc3d3a1a315a8dc428598 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
udioTrack.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
mrInputStream.java
syncPlayer.java
udioFormat.java
udioManager.java
udioRecord.java
udioService.java
udioSystem.java
udioTrack.java
aceDetector.java
AudioService.aidl
MediaScannerListener.aidl
MediaScannerService.aidl
etPlayer.java
ediaFile.java
ediaMetadataRetriever.java
ediaPlayer.java
ediaRecorder.java
ediaScanner.java
ediaScannerClient.java
ediaScannerConnection.java
esampleInputStream.java
ingtone.java
ingtoneManager.java
oundPool.java
oneGenerator.java
ackage.html
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
mrInputStream.java
syncPlayer.java
udioFormat.java
udioManager.java
udioRecord.java
udioService.java
udioSystem.java
udioTrack.java
aceDetector.java
AudioService.aidl
MediaScannerListener.aidl
MediaScannerService.aidl
etPlayer.java
ediaFile.java
ediaMetadataRetriever.java
ediaPlayer.java
ediaRecorder.java
ediaScanner.java
ediaScannerClient.java
ediaScannerConnection.java
esampleInputStream.java
ingtone.java
ingtoneManager.java
oundPool.java
oneGenerator.java
ackage.html
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
udioRecord.java
udioTrack.java
etPlayer.java
ediaMetadataRetriever.java
ediaPlayer.java
ediaRecorder.java
ingtone.java
oundPool.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
udioRecord.java
udioTrack.java
etPlayer.java
ediaMetadataRetriever.java
ediaPlayer.java
ediaRecorder.java
ingtone.java
oundPool.java
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
syncPlayer.java
udioManager.java
udioService.java
udioTrack.java
AudioService.aidl
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
udioManager.java
udioRecord.java
udioService.java
udioTrack.java
ediaRecorder.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
udioFormat.java
udioManager.java
udioRecord.java
udioService.java
udioSystem.java
udioTrack.java
etPlayer.java
ediaFile.java
ediaPlayer.java
ediaRecorder.java
ediaScanner.java
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
udioManager.java
udioTrack.java
etPlayer.java
ediaMetadataRetriever.java
esampleInputStream.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
mrInputStream.java
udioFormat.java
udioManager.java
udioRecord.java
udioService.java
udioSystem.java
udioTrack.java
ediaMetadataRetriever.java
ediaPlayer.java
ediaRecorder.java
ediaScanner.java
ingtone.java
ingtoneManager.java
oundPool.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.
udioSystem.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
syncPlayer.java
udioManager.java
udioService.java
udioSystem.java
aceDetector.java
AudioService.aidl
MediaScannerListener.aidl
MediaScannerService.aidl
ediaFile.java
ediaMetadataRetriever.java
ediaPlayer.java
ediaRecorder.java
ediaScanner.java
ediaScannerClient.java
ediaScannerConnection.java
ingtone.java
ingtoneManager.java
oundPool.java
oneGenerator.java
ackage.html