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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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>
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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>
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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>
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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>
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
a30a21cf2ef37b490e3790aad3105cda115124d6 |
|
04-Aug-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Remove empty remote control client listener methods Remove non-implemented methods for registering IRemoteControlClient listeners. Rename refreshRemoteControlDisplay() method to follow framework conventions. Change-Id: I9254e8eeea9020a530c9a32f328f0ef7dbd9dd0c
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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
/frameworks/base/media/java/android/media/IAudioService.aidl
|
d5176cfe6eae954e9cef1e2ec17859a5089e1330 |
|
28-Jan-2010 |
Jean-Michel Trivi <jmtrivi@google.com> |
First implementation of the audio focus management as an extension of AudioManager and AudioService.
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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.
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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.
/frameworks/base/media/java/android/media/IAudioService.aidl
|
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()
/frameworks/base/media/java/android/media/IAudioService.aidl
|
4050c93601b3c3609b21cc1e18a29b64747e7fa9 |
|
08-Jul-2009 |
Eric Laurent <elaurent@google.com> |
Fix issue 1967295: Add a method to request reloading of audio settings by AudioService.
/frameworks/base/media/java/android/media/IAudioService.aidl
|
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/media/java/android/media/IAudioService.aidl
|
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/media/java/android/media/IAudioService.aidl
|
3001a035439d8134a7d70d796376d1dfbff3cdcd |
|
19-Feb-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@132276
/frameworks/base/media/java/android/media/IAudioService.aidl
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/media/java/android/media/IAudioService.aidl
|