summaryrefslogtreecommitdiffstats
path: root/media/java
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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
* | Unhide CamcorderProfile and CameraProfile Java APIJames Dong2010-03-042-2/+0
| | | | | | | | bug - 2375978
* | Remove native options.Ray Chen2010-03-051-32/+7
| |
* | Clean up MediaRecorder for public Java SDKJames Dong2010-03-031-46/+63
| | | | | | | | | | | | - update comments and fix a check in setAudioChannels() bug - 2362412
* | Fix issue 2456968: Alarm rings in "silent mode and when Alarm in silent mode ↵Eric Laurent2010-03-031-11/+25
| | | | | | | | | | | | | | | | | | | | | | 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).
* | First implementation of the audio focus management as an extensionJean-Michel Trivi2010-03-024-1/+501
| | | | | | | | of AudioManager and AudioService.
* | New vibrate/silent mode behavior.Daniel Sandler2010-02-261-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "Make AsyncPlayer.startSound catch all exceptions instead of only a ↵Marco Nelissen2010-02-261-3/+1
|\ \ | | | | | | | | | 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"
| * | Make AsyncPlayer.startSound catch all exceptions instead of only a few.Marco Nelissen2010-02-261-3/+1
| | | | | | | | | | | | | | | | | | 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
* | | Merge "Image encoding settings java API through xml configuration file"James Dong2010-02-252-1/+64
|\ \ \ | |/ / |/| |
| * | Image encoding settings java API through xml configuration fileJames Dong2010-02-242-1/+64
| | | | | | | | | | | | | | | | | | - 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
* | | Merge "Replace system property retrieval calls with DecoderCapabilities Java ↵James Dong2010-02-231-3/+27
|\ \ \ | |/ / |/| | | | | API calls."
| * | Replace system property retrieval calls with DecoderCapabilities Java API calls.James Dong2010-02-171-3/+27
| | |