| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
Merge commit 'b1235a57a09174179553acecef2370354bdcbf41' into froyo-plus-aosp
* commit 'b1235a57a09174179553acecef2370354bdcbf41':
Hide two audio focus methods.
|
| |\ |
|
| | |
| | |
| | |
| | | |
Change-Id: I53ddf736892cde8edfaffa7d69dd9c234df52efa
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |/
| |
| |
| |
| |
| |
| | |
needed, and causes a sqlite constraint exception.
Bug 2671792.
Change-Id: Ie6e5d0369c3750739fa155e651be4d87c016a41f
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
the registerAudioFocusListener() methods." into froyo
Merge commit '3e90c76c12803cd1b116030fd124b7b870d25342' into froyo-plus-aosp
* commit '3e90c76c12803cd1b116030fd124b7b870d25342':
Update javadoc in android.media.AudioManager to not hide the
|
| |
| |
| |
| |
| |
| | |
registerAudioFocusListener() methods.
Change-Id: I8df37bd89df6f492aeb70fa636200552140578f9
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
|/|
| | |
Change-Id: I20fa79289d84a892def9e7f6d6e7026d9de48010
|
| |
| |
| |
| | |
Change-Id: Ia9db6e1c5d1cd31fd028d551cc357a76049ce137
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Bug: 2579295
Change-Id: Ia4207492c5dfa2c39d27372c4892b60121b6d9e8
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener
http://2553871
Change-Id: I293b8138a2c23ea107b634da014902f838966c0e
|
| |
| |
| |
| | |
Change-Id: I9a4798fefe3968ac847d46100036a6dde39791c9
|
| |
| |
| |
| |
| |
| |
| |
| | |
AudioFocus stack.
Enforce parameter check in AudioManager.requestAudioFocus()
Typo correction in AudioService.unregisterMediaButtonEventReceiver()
Change-Id: Iedd6081a2a096bd7effbaeb9f888a31691201b3b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
Notes from API Council review:
Rename onAudioFocusChanged -> onAudioFocusChange
Change-Id: I8296cc84381506dabe8a9ceb1b5e3c0ab6d4af25
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Change-Id: Ic9222b0bf6e2ff481c6aa5f16ac0259fa7a52355
|
| |
| |
| |
| |
| |
| |
| |
| | |
emulator yet.
bug - 2532726
Change-Id: If6dbf0d89c4681a647419e1911213a4c22dc3dab
|
|\ \
| | |
| | |
| | | |
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."
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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
|
|/ /
| |
| |
| |
| |
| |
| | |
where a new focus owner signals it allows other audio apps to keep
playing by ducking their audio streams.
Change-Id: I1109f44546f3cbcff8ad33ee21cfff50f4f12177
|
|\ \
| | |
| | |
| | | |
of a copy of the artist, since the media provider needs to know whether the album artist was actually set."
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
of the artist, since the media provider needs to know whether the album artist
was actually set.
Change-Id: I29b885c8293609299a55babadf9ca2a30e20e5bd
|
| | |
| | |
| | |
| | | |
Change-Id: I21495f0ef64b3dc154ce0e0ca2d44686afd752e9
|
| | |
| | |
| | |
| | | |
Change-Id: I024df1b513da117057a21c27e6c0cd134cdd8023
|
| | |
| | |
| | |
| | |
| | |
| | | |
is acceptable for the new audio focus owner.
Change-Id: I965483f12eeb717115a8f6992d8f1ab7fafa4e45
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | | |
Change-Id: Ic34e2d54557409866dc35c29ee397afdfe874762
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
empty string when audio focus is requested or abandonned with a
null listener.
Change-Id: I7709b75c6092aefc002806343298bc679d42d6c6
|
|\ \
| | |
| | |
| | | |
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."
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | | |
Change-Id: Ia2cd00fb0fbdb32e9fb89b4d33ad3c1410eb40d3
|
|/ /
| |
| |
| | |
Change-Id: I7575ae3195dc510e7020368794a66bb064839104
|
| |
| |
| |
| |
| |
| | |
calculate it if needed.
Change-Id: I05cb8628f2333c26de5c05ee1c7676b8f79a5e9a
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Change-Id: Ifc7d764703632eb91db11587675ae70ec14510e8
|