summaryrefslogtreecommitdiffstats
path: root/media/java
Commit message (Collapse)AuthorAgeFilesLines
* am b1235a57: Merge "Hide two audio focus methods." into froyoXavier Ducrohet2010-05-121-0/+2
|\ | | | | | | | | | | | | Merge commit 'b1235a57a09174179553acecef2370354bdcbf41' into froyo-plus-aosp * commit 'b1235a57a09174179553acecef2370354bdcbf41': Hide two audio focus methods.
| * Merge "Hide two audio focus methods." into froyoXavier Ducrohet2010-05-111-0/+2
| |\
| | * Hide two audio focus methods.Xavier Ducrohet2010-05-111-0/+2
| | | | | | | | | | | | Change-Id: I53ddf736892cde8edfaffa7d69dd9c234df52efa
* | | am 836b2d75: Merge "Don\'t clear the _data column in the audio_meta table, ↵Marco Nelissen2010-05-121-2/+5
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | 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
| * | Don't clear the _data column in the audio_meta table, since it isn'tMarco Nelissen2010-05-111-2/+5
| |/ | | | | | | | | | | | | needed, and causes a sqlite constraint exception. Bug 2671792. Change-Id: Ie6e5d0369c3750739fa155e651be4d87c016a41f
* | am 3e90c76c: Merge "Update javadoc in android.media.AudioManager to not hide ↵Jean-Michel Trivi2010-05-121-9/+15
|\ \ | |/ | | | | | | | | | | | | | | the registerAudioFocusListener() methods." into froyo Merge commit '3e90c76c12803cd1b116030fd124b7b870d25342' into froyo-plus-aosp * commit '3e90c76c12803cd1b116030fd124b7b870d25342': Update javadoc in android.media.AudioManager to not hide the
| * Update javadoc in android.media.AudioManager to not hide theJean-Michel Trivi2010-05-111-9/+15
| | | | | | | | | | | | registerAudioFocusListener() methods. Change-Id: I8df37bd89df6f492aeb70fa636200552140578f9
* | am aaa01b18: Merge " Fix bug 2670395 and 2599698 When the user ↵Jean-Michel Trivi2010-05-122-22/+25
|\ \ | |/ | | | | | | | | | | | | | | 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
| * Fix bug 2670395 and 2599698Jean-Michel Trivi2010-05-112-22/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | merge from open-source masterThe Android Open Source Project2010-04-281-1/+1
|\ \ | |/ |/| | | Change-Id: I20fa79289d84a892def9e7f6d6e7026d9de48010
| * speling fixhugh kennedy2010-04-281-1/+1
| | | | | | | | Change-Id: Ia9db6e1c5d1cd31fd028d551cc357a76049ce137
* | Fix bug 2619062 Music is routed to Phone speaker, though it isJean-Michel Trivi2010-04-231-2/+17
| | | | | | | | | | | | | | | | | | | | 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
* | Update AudioService to reflect phone state changes with AudioFocus.Jean-Michel Trivi2010-04-201-29/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "When updating existing entries in the media database, don't update ↵Marco Nelissen2010-04-201-2/+6
|\ \ | | | | | | | | | 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
| * | When updating existing entries in the media database, don't updateMarco Nelissen2010-04-201-2/+6
| | | | | | | | | | | | | | | | | | | | | 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
* | | Fix issue 2602879: camera shutter sound not playing.Eric Laurent2010-04-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Fix issue 2604270 Device auto connects to Car Dock (Media profile) after ↵Eric Laurent2010-04-201-0/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fix issue 2592680: Saved ringer volume forced to 0 when receiving a call in ↵Eric Laurent2010-04-141-17/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fix issue 2589563: Able to set ringer volume to 0 outside of silent mode.Eric Laurent2010-04-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fix bug 2578813 Delay pausing music and routing audio for car docksJean-Michel Trivi2010-04-131-11/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Honor the "Never vibrate" setting for incoming calls.Daniel Sandler2010-04-131-4/+2
| | | | | | | | | | Bug: 2579295 Change-Id: Ia4207492c5dfa2c39d27372c4892b60121b6d9e8
* | Fix monkey bug 2586534 java.util.ConcurrentModificationExceptionJean-Michel Trivi2010-04-091-2/+6
| | | | | | | | | | | | | | | | 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
* | Per requested by API council, rename ↵Ray Chen2010-04-071-30/+30
| | | | | | | | | | | | | | | | MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener http://2553871 Change-Id: I293b8138a2c23ea107b634da014902f838966c0e
* | Make createVideoThumbnail and createImageThumbnail look consistent.Ray Chen2010-04-051-128/+43
| | | | | | | | Change-Id: I9a4798fefe3968ac847d46100036a6dde39791c9
* | Fix bug 2565463 Ensure an object cannot appear twice in theJean-Michel Trivi2010-04-012-1/+9
| | | | | | | | | | | | | | | | AudioFocus stack. Enforce parameter check in AudioManager.requestAudioFocus() Typo correction in AudioService.unregisterMediaButtonEventReceiver() Change-Id: Iedd6081a2a096bd7effbaeb9f888a31691201b3b
* | Public API changes for CameraProfile and CamcorderProfile classesJames Dong2010-04-013-59/+109
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fix bug 2553575 API REVIEW: android.media Change 1 of 3Jean-Michel Trivi2010-03-311-8/+8
| | | | | | | | | | | | | | Notes from API Council review: Rename onAudioFocusChanged -> onAudioFocusChange Change-Id: I8296cc84381506dabe8a9ceb1b5e3c0ab6d4af25
* | Fix issue 2472495: Phone cannot be set to silent mode via volume keys while ↵Eric Laurent2010-03-221-49/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Unhide the MediaButton receiver API in android.media.AudioManagerJean-Michel Trivi2010-03-221-27/+0
| | | | | | | | Change-Id: Ic9222b0bf6e2ff481c6aa5f16ac0259fa7a52355
* | Update MediaRecorder.java documentation to mention it does not work on the ↵James Dong2010-03-221-0/+1
| | | | | | | | | | | | | | | | emulator yet. bug - 2532726 Change-Id: If6dbf0d89c4681a647419e1911213a4c22dc3dab
* | Merge "Fix two AudioFocus issues: - if a focus owner abandons audio focus ↵Jean-Michel Trivi2010-03-191-15/+52
|\ \ | | | | | | | | | 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."
| * | Fix two AudioFocus issues:Jean-Michel Trivi2010-03-191-15/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | | Unhide new constants used in AudioFocus API to denote a situationJean-Michel Trivi2010-03-191-9/+11
|/ / | | | | | | | | | | | | where a new focus owner signals it allows other audio apps to keep playing by ducking their audio streams. Change-Id: I1109f44546f3cbcff8ad33ee21cfff50f4f12177
* | Merge "We should pass null for the album artist if it was not set, instead ↵Marco Nelissen2010-03-191-6/+6
|\ \ | | | | | | | | | of a copy of the artist, since the media provider needs to know whether the album artist was actually set."
| * | We should pass null for the album artist if it was not set, instead of a copyMarco Nelissen2010-03-191-6/+6
| | | | | | | | | | | | | | | | | | | | | of the artist, since the media provider needs to know whether the album artist was actually set. Change-Id: I29b885c8293609299a55babadf9ca2a30e20e5bd
* | | Fix SDK build Remove links to hidden constant in javadoc.Jean-Michel Trivi2010-03-181-3/+0
| | | | | | | | | | | | Change-Id: I21495f0ef64b3dc154ce0e0ca2d44686afd752e9
* | | Attempt to fix the SDK build.Eric Laurent2010-03-181-1/+1
| | | | | | | | | | | | Change-Id: I024df1b513da117057a21c27e6c0cd134cdd8023
* | | Support focus requests where ducking of the loser of audio focusJean-Michel Trivi2010-03-182-30/+43
| | | | | | | | | | | | | | | | | | is acceptable for the new audio focus owner. Change-Id: I965483f12eeb717115a8f6992d8f1ab7fafa4e45
* | | Unhide AudioManager API to control bluetooth SCO audio connection.Eric Laurent2010-03-181-17/+1
| | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "Include "album artist" when inserting items in the media provider."Marco Nelissen2010-03-181-1/+5
|\ \ \ | |/ /
| * | Include "album artist" when inserting items in the media provider.Marco Nelissen2010-03-181-1/+5
| | | | | | | | | | | | Change-Id: Ic34e2d54557409866dc35c29ee397afdfe874762
* | | Issue 2416481: Support Voice Dialer over BT SCO.Eric Laurent2010-03-183-1/+326
|/ / | | | | | | | | | | | | | | | | 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
* | Fix bug where the ID stored for an OnAudioFocusChangeListener is anJean-Michel Trivi2010-03-171-4/+1
| | | | | | | | | | | | | | empty string when audio focus is requested or abandonned with a null listener. Change-Id: I7709b75c6092aefc002806343298bc679d42d6c6
* | Merge "Implementation of the policing of transport control key press events ↵Jean-Michel Trivi2010-03-173-21/+223
|\ \ | | | | | | | | | 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."
| * | Implementation of the policing of transport control key pressJean-Michel Trivi2010-03-173-21/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Fix #2509370 ThumbnailUtils.createThumbnailFromEXIF crashes media provider.Ray Chen2010-03-151-1/+1
| | | | | | | | | | | | Change-Id: Ia2cd00fb0fbdb32e9fb89b4d33ad3c1410eb40d3
* | | Add GPSProcessingMethod tag to ExifInterface.Ray Chen2010-03-111-0/+2
|/ / | | | | | | Change-Id: I7575ae3195dc510e7020368794a66bb064839104
* | Avoid overriding DATE_TAKEN by unreliable file time. MediaProvider will ↵Ray Chen2010-03-091-4/+0
| | | | | | | | | | | | calculate it if needed. Change-Id: I05cb8628f2333c26de5c05ee1c7676b8f79a5e9a
* | Fix bug 2329540Jean-Michel Trivi2010-03-091-29/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Unhide API additions to AudioManager for AudioFocus support.Jean-Michel Trivi2010-03-091-22/+0
| | | | | | | | Change-Id: Ifc7d764703632eb91db11587675ae70ec14510e8