summaryrefslogtreecommitdiffstats
path: root/services/core/java/com/android/server/audio/AudioService.java
Commit message (Collapse)AuthorAgeFilesLines
* Use STREAM_RING on non-voice capable devicesLuK13372017-02-111-4/+7
| | | | | | * That's what Google does. Change-Id: Iac88d161eb1dccbbb5c538d5e04d8d1fc43edef2
* Bluetooth: Access mediaplayerlist in synchronized wayAyan Ghosh2016-07-021-67/+73
| | | | | | | | Access mediaplayerlist in synchronized way to make sure no transient update is tried to be worked upon in multithreaded environment. Change-Id: I0e7810ac89e0ddc19d57b32c679450aa7cb87273 CRs-Fixed: 979840
* Merge tag 'android-6.0.1_r30' into HEADJessica Wagantall2016-04-201-2/+23
|\ | | | | | | | | | | | | Ticket: RM-234 Android 6.0.1 release 30 Change-Id: I1bd7cf4081a12d28dc5da8b53b9124180afaa23d
| * DO NOT MERGE Bluetooth: Restrict gain for Absolute volume caseLiejun Tao2016-02-241-2/+23
| | | | | | | | | | | | | | | | | | | | For the lowest music volume steps 1 and 2, restrict the gain to 50% and 75%. This will avoid the lowest volume steps being too loud for some accessories. For music volume 0, set phone gain to 0 as some accessories won't mute on their end. Change-Id: I24e0fa7be8c8635b428a11c91ea153aad7cec55f Signed-off-by: Liejun Tao <baibai@motorola.com>
* | audio: Don't play sound effects if stream is mutedSteve Kondik2016-04-051-1/+5
| | | | | | | | | | | | | | | | | | * Stop turning on the audio hardware and playing silence. * Kind of annoying with certain types of Bluetooth headphones that don't actually play silence very well (hissssssssss). Not to mention power usage. Change-Id: I6985db8710f8b0f61619ac57e8efb9e4e01cc31a
* | audio: register for device shutdown notificationPreetam Singh Ranawat2016-02-201-0/+3
| | | | | | | | | | | | | | - Device shutdown notification has to be intimated to HAL - Add changes to register for device shutdown notification Change-Id: I966795640d4cc5a4d3f9d247e8a6bc00b3a7b750
* | AudioService: Prevent crash when there is no music appMichael Bestas2016-02-121-4/+9
| | | | | | | | Change-Id: I45f22430a926da9b9254de8b58acd304b21fad41
* | AudioService: don't launch music player while in callRoman Birg2016-02-121-1/+3
| | | | | | | | | | | | | | | | | | If the option to launch the music player when inserting headphones is enabled, do not launch the music player if the user is in a call, or receiving one, or making one. Change-Id: I1e1d173fdd246154299b77227f0e1cbed449246b Signed-off-by: Roman Birg <roman@cyngn.com>
* | Do not start music app when headset is unpluggedtsubus2016-02-121-2/+6
| | | | | | | | Change-Id: Ic56ba6c30a72deaf119da40e65ca83a9dcc35c43
* | AudioService: launch default music player on headset connect [2/3]Danesh M2016-02-121-0/+13
| | | | | | | | Change-Id: Ibbb0607a56ab4d9246c14632eb4199558866854a
* | Option to use volume keys to control media volume anytime (2/2)Pawit Pornkitprasan2015-12-181-4/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | See Settings part for description Fix forcing media stream control on tablet There's option volume_keys_control_ring_stream (Volume keys control ringtone volume / If on, volume keys control ringtone volume. If off, volume keys control media volume.) in Settings which is also available on tablets but it doesn't work on these devices (I didn't find reported issue). As I like this option and think it may be even more wanted on media devices such as tablets, here's a fix. Change-Id: I2f6ebfcbb4ea6e092e4cd29c5acf5f0dbe769718
* | Port over linked volumes from 12.1Adnan Begovic2015-12-181-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement linked volumes and add upgrade path. Change-Id: Ibbeff656fcaaa4a2ff79de530b48b216df271b21 frameworks: read VOLUME_LINK_NOTIFICATION from proper table Change-Id: I15e9caa18f307a51a732c7a59013bbbb234a7477 Signed-off-by: Roman Birg <roman@cyngn.com> (cherry picked from commit 1b7cfa1716017e0d03c9693428c21d8e11c5dc0a) fix Notification volume slider linking Change-Id: I0f74485f5c8c2aa7698cf9ba1c60c2c8c967798d Signed-off-by: Roman Birg <roman@cyngn.com> Improve SeekBarVolumizer behavior with unlinked streams - Fix notification stream enabling at 0 volume - Fix the notification slider being set when moving ringer stream Change-Id: If3705cc833c07f726f8ad7b1ec79a42e86e8ff22 Signed-off-by: Roman Birg <roman@cyngn.com> base: Fix notification sounds for wifi only devices The linking of voice & notification doesn't take into account the fact that a device may not actually have voice capabilities. Whenever checking whether or not to link notification and ring volumes, also verify that the device really is voice capable. Change-Id: Iae49302d3b5934d36b182e289e4975f5dd85b834 frameworks: fix setting up linked notification stream on boot updateStreamVolumeAlias() was previously responsible for checking the linked notification variable and mapping the notification stream, but the setting to read whether the notifications were linked was read in after that method had run which was responsible for linking them. Extract the logic and re-run it again after reading the persisted settings. Change-Id: Ia62bf3ca072def54ec6ebf4f9e865d9c913e3bc4 Signed-off-by: Roman Birg <roman@cyngn.com> fixup volume stream linking - Make the SeekBarVolumizer move notification and ringer streams when linked and moving ringer. - Fix initial state causing volume stream seek bar to be set to 0 initially - Clean up AudioService initialization code Change-Id: Ia11a7a392e5eb3ef862147843e365d5f20eaf90a Signed-off-by: Roman Birg <roman@cyngn.com>
* | Update A2DP device connection state properly.Sudharma Damgatla2015-11-301-3/+2
| | | | | | | | | | | | | | Update Audio devices only for first connected and last disconnected A2DP devices. Change-Id: I3ac83e507e2b8c638a08881cd70f7900c9312391
* | Merge branch 'LA.BF64.1.2.2_rb4.7' of ↵Steve Kondik2015-11-161-0/+5
|\ \ | | | | | | | | | | | | | | | git://codeaurora.org/platform/frameworks/base into cm-13.0 Change-Id: I008f052e4e27b44457c8343d20f6e1ba943c8e1f
| * | Purge A2dp connected device listAyan Ghosh2015-10-231-0/+5
| | | | | | | | | | | | | | | | | | | | | Purge A2dp connected device list on A2dp service connect incase the same is not purged during service disconnect earlier. Change-Id: Ie4e7e79530eaf2ec138bb5d0c51996d4172eb4b9
* | | Merge tag 'android-6.0.0_r26' into HEADRicardo Cerqueira2015-11-051-56/+11
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Android 6.0.0 release 26 Conflicts: cmds/bootanimation/BootAnimation.cpp core/java/android/accounts/AccountManager.java core/java/android/app/AppOpsManager.java core/java/android/os/PowerManagerInternal.java core/java/android/os/storage/IMountService.java core/java/android/provider/Settings.java core/java/com/android/internal/widget/ILockSettings.aidl core/res/res/values-mcc204-mnc12/config.xml core/res/res/values-mcc219-mnc02/config.xml core/res/res/values-mcc730-mnc07/config.xml core/res/res/values/config.xml core/res/res/values/symbols.xml packages/SystemUI/res/values/config.xml packages/SystemUI/src/com/android/systemui/doze/DozeService.java packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java services/core/java/com/android/server/LocationManagerService.java services/core/java/com/android/server/am/ActivityManagerService.java services/core/java/com/android/server/pm/PackageManagerService.java services/core/java/com/android/server/power/PowerManagerService.java telecomm/java/android/telecom/Phone.java telephony/java/android/telephony/CarrierConfigManager.java telephony/java/android/telephony/RadioAccessFamily.java telephony/java/android/telephony/ServiceState.java telephony/java/android/telephony/SignalStrength.java telephony/java/android/telephony/TelephonyManager.java telephony/java/com/android/ims/ImsCallProfile.java telephony/java/com/android/ims/ImsReasonInfo.java telephony/java/com/android/ims/ImsSuppServiceNotification.aidl telephony/java/com/android/ims/ImsSuppServiceNotification.java telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl telephony/java/com/android/internal/telephony/RILConstants.java Change-Id: I99c6edb8e25a77145b5adef97d0d55bfbe676959
| * | AudioService: alternative way of handling device rotationJean-Michel Trivi2015-10-011-55/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For devices that monitor orientation (primarily for channel assignment to stereo speakers): The com.android.server.policy.WindowOrientationListener API is more power efficient than simply monitoring the device's orientation. When supported, use it instead of android.view.OrientationEventListener. When WindowOrientationListener reports an orientation change, start a thread to poll the UI orientation, as its change may lag behind the observed rotation. Gradually increasing delays between polls are stored in a table. Bug 24415763 Change-Id: I69bf68da6107af24cd02a48961dd17ceab557816
| * | AudioService: cleanup sco audio mode upon disconnection.Eric Laurent2015-09-241-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up SCO forced usage and A2DP suspend state upon SCO device or profile disconnection. This is in case the Bluetooth Headset service does not do it. Bug: 24316765. Change-Id: Ifc0305607c186be49b2eb42b7868647292e56137
* | | Add Dock USB Audio Support for Samsung Car / Desk DocksStevenHarperUK2015-10-281-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ported from CM10, original patch: http://review.cyanogenmod.com/20586 Also includes patches: DockAudio: Always route audio back to normal on undock. http://review.cyanogenmod.org/24830 Bugfix: Dock events can have state greater than 1 http://review.cyanogenmod.org/24995 ------------------------------------------------------ Samsung docks have a non-sensing USB adio port. Samsung get around this by having a separate Setting to route the Audio The Changes made will only add the extra Observer if the Kernel supports the endpoint /sys/class/switch/dock/state Change-Id: I8e8f5001d5c651b07bb6af496bbf806732be21fa audio: Add overlay to fix analog docks. Of particular interest to devices using libhardware_legacy and affected by commit 5a484b753cc72d6a50c1dd3bbf68b3403c741a3a: http://goo.gl/rVR1Z which restricted the routing of AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET to docks using FORCE_ANALOG_DOCK cases. The EXTRA_DOCK_STATE_CAR case is returning FORCE_BT_CAR_DOCK, preventing the dock audio from routing properly. Add an overlay option for overriding to FORCE_ANALOG_DOCK. Change-Id: Ib7d70c242aa6f537ea5d65098ceb2c591662d8bb
* | | AudioService: allow volume control on analog dockTakazumi Matsumoto2015-10-281-1/+0
| | | | | | | | | | | | | | | | | | This re-enables volume control on some Motorola docks. Change-Id: If7751867de2c0cefb5a8518b5a6a607a9676b946
* | | Add broadcast and query API for AudioSource.HOTWORD.Matt Garnes2015-10-281-1/+55
| |/ |/| | | | | | | | | | | | | | | | | | | | | - When the AudioSource.HOTWORD input becomes active or is released, send a Broadcast with the package name and the new state of the audio input to any applications that hold CAPTURE_AUDIO_OUTPUT. - Store the package name of the application that controls the hOTWORD input or set it to null if the input is not in use. - Add a new method to AudioService to retrieve the package name of the application that currently controls the HOTWORD input. Change-Id: I2f11888f3711d23b6287a4de7b81d361734a8f3b
* | BT: Multi A2dp support in Settings App.Gaurav Asati2015-10-061-9/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. The connected sinks are not disconnected from A2dpProfile when new sink is connecting. 2. Also return correct connection status for specific HS. 3. Sets priority for specific HS while disconnecting. Change-Id: I56142d1527aa86d2bb47fb7166b2f3ab451d9b17 Bluetooth: Add support of two A2dp connections. Audio Service will now manage two a2dp connections and makes sure that BT a2dp connections are consistently seen by other applications. The change removes the BD address usage in BT names, and uses a new Strin "BluetoothA2dp" in order to show A2dp connected devices. Change-Id: I59b8f8eff7bbc8033fcd46d0ac21d94ee338ca36
* | AVRCP 1.5 implementationAyan Ghosh2015-10-061-0/+127
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AVRCP 1.5 Implementation Change-Id: I9a21348ec7e0c21735448ea29b781167f01e1580 Bluetooth: Add Total track number. Add support to add total number of tracks in Meta-data Change-Id: I5b1287f791615adcd4f920fe5c7cae0c7c7b04ea CRs-Fixed: 627869 Bluetooth: Modify Avrcp 1.5 implementation to adapt to latest AOSP changes Modify Avrcp 1.5 implementation to adapt to latest AOSP changes. CRs-Fixed: 719567 Change-Id: I0958fb12f573054f1da16df0ac46f3bec7374222 Move media player list management to Audioservice Move media player list management to Audioservice so that list is retained even after BT restart. Change-Id: Ia2455e6def1900b4af2225c50e1b5325a7ce1a98 Update RemoteController on Session update Update RemoteController on Session update in order to update AVRCP player list to honor peer initiated browsing command. This change fixes AVRCP browing failure due stale entry of player session upated to AVRCP player list after device reboot. Change-Id: I529a13e2c8a70e4b53319798c952b41f369b8bec Introduce new interface class for Avrcp Browsing feature Separate out Avrcp Browsing Apis from SDK interface class to ensure compatibility with all available apps implementing the mentioned SDK interface class. Change-Id: I713527ee3622ba28fe92d5bc743b9471632299b3
* Immediately kill a shared user process on a permission revocation.Svetoslav2015-08-061-1/+3
| | | | | | | | | | | 1. When a permission is revoked we kill the app immediately but do not do an immediate kill for shared uid processes. This fixes it. 2. Remove system APIs that are used only by the package installer. bug:22984670 Change-Id: I3d4ae52ea8679f894aa7c5972941263903479183
* Merge "AudioService: check for audio device connection success" into mnc-devJean-Michel Trivi2015-08-041-5/+14
|\
| * AudioService: check for audio device connection successJean-Michel Trivi2015-08-031-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When connecting/disconnecting and audio device, AudioService was assuming that the call was always successful through AudioSystem.setDeviceConnectionState(). In the case of the connection of a wired headset (mic + headphones), this also causes A2DP to not be used for media playback. The connection can fail if the audio device being connected is not supported by the platform. But if this failure is not taken into account for DEVICE_OUT_WIRED_HEADSET or HEADPHONES, A2DP would still be avoided even when an A2DP device reconnects at boot. The fix consists in executing the connection logic only when the connection was deemed successful. Nothing is altered on the disconnection code path, or the direct connection of A2DP. The javadoc is updated in AudioSystem to indicate the return codes to take into account in setDeviceConnectionState(). Bug 22511833 Change-Id: I22f0d2c7d4ab4fb9ee1be2f248907f721596a16f
* | Fix that shutter sound does not play after ringer mode changes to vibratorSungmin Choi2015-07-311-1/+5
|/ | | | | | | | | | | | | Reproduce sequence: 1. Change ring volume to vibration in Settings > Sound & notification > Ring volume using touch 2. Launch camera app 3. Capture, but cannot hear shutter sound 4. Even change ringtone to maximum, shutter sound is not played before reboot Bug: 22589664 Change-Id: I90eb044eaf21f3b558bf050bf1d9f0b33ea4888b
* Don't kill apps that are multi-user aware...Amith Yamasani2015-07-211-0/+5
| | | | | | | | | | | | ... when looking for background user apps that hold RECORD_AUDIO permission. On switching users, we kill any apps that might potentially be recording audio. But we don't want to kill critical apps that need to stay running because of multi-user aware services. Bug: 22564430 Change-Id: I6d9a684d4e044cc3018f0f8181a44aa143a3baeb
* Mute correct user from device policy manager.Kenny Guy2015-07-081-20/+78
| | | | | | | | | | | | | | | | Add per user versions of mute methods so device policy manager can mute the correct user. Just persist change if the calling user isn't the current user. Treat calls to audio manager coming from uid 1000 as if they were coming from current user rather than user 0 so that the correct user's user restriction is checked. Bug: 21782066 Bug: 21778905 Change-Id: I51469b741096d8a2ffdc520eaf5b3fd754f2c819
* Volume change intent carries stream aliasJean-Michel Trivi2015-06-291-0/+2
| | | | | | | | | | Define a new extra, AudioManager.EXTRA_VOLUME_STREAM_TYPE_ALIAS, to be sent along with the volume change intent, VOLUME_CHANGED_ACTION. When sending VOLUME_CHANGED_ACTION, attach the stream type alias. Bug 17955277 Change-Id: I04fd279e223504e3ee1581086d7e9205344a6808
* Fix for SafeMedia logic and CTS testsRicardo Garcia2015-06-231-1/+4
| | | | | | | | Added audio.safemedia.bypass system property to bypass SafeMedia logic on CTS tests which require guaranteed access to full range of volume levels. bug: 21779099 Change-Id: I76815a995f08d426218206af7aade491c5debd9e
* AudioService: Send the right stream to the volume UI on tablet changes.John Spurlock2015-06-181-5/+1
| | | | | Bug: 21798314 Change-Id: Idd49eb9e1253a94e567866a38b664035aea3715b
* audioservice: remove BT SCO device when service is disconnectedEric Laurent2015-06-121-41/+48
| | | | | Bug: 21727956. Change-Id: I9dd68ad83583cdbe7454724098c89daf70bee726
* Audio policy: setting explicit non-zero volume unmutes the stream.John Spurlock2015-06-031-2/+5
| | | | | | | And vice versa. Bug: 21584884 Change-Id: I2cd6a84ab40edba4c6fc2b219693e0d4f0527d8d
* Remove the 5 sec timeout logic for setVolumeControlStreamJean-Michel Trivi2015-05-211-1/+1
| | | | | | Bug 16983918 Change-Id: I65174615d882ea433105862b1ecc50c512979ef9
* Merge "AudioService: indicate system ready to AudioFlinger" into mnc-devEric Laurent2015-05-211-87/+114
|\
| * AudioService: indicate system ready to AudioFlingerEric Laurent2015-05-201-87/+114
| | | | | | | | | | | | | | | | Indicate when JAVA services are ready to AudioFlinger so that calls to power manager and scheduling service can be enabled. Bug: 11520969. Change-Id: Id977cab3208c34709011703d2dfdcf552e60371b
* | AudioFormat: more compressed formatsEric Laurent2015-05-191-1/+1
|/ | | | | | | | | Add MP3 and AAC as valid AudioFormat encodings. Only @hide for now to allow system components to manage audio patches with those formats. Bug: 18649264. Change-Id: I5ef5f151783308e31d8ac5b29454589077ef62ea
* AudioService: add missing audio becoming noisy intentEric Laurent2015-05-151-4/+7
| | | | | | | | Add missing audio becoming noisy intent when the bluetooth service is disconnected. Bug: 21160886. Change-Id: Idd96610a0ff824bd6337c37df60fa13f5bc6e54b
* Add manufacturer-provided device name for AudioPort name field for BT devices.Paul McLean2015-05-131-13/+13
| | | | | | | Change "a2dp-device" to empty string for EnumAPI. Bug: 20880296 Change-Id: If377735b6d552bb929e5881743bcc3c9a2afb9e3
* Zen: Ringer mode integration fixes.John Spurlock2015-05-121-33/+63
| | | | | | | | | | | | | | - Properly mute media + alarm streams in total silence. - Allow system components to update the "ringer mode affected" streams dynamically. - Improve dumpsys output for ringer mode streams (include names). - Remember last ringer mode properly when entering dnd via a volume down (so we can restore it properly when exiting). Bug: 20854925 Bug: 20950463 Bug: 20756527 Change-Id: I80afc1f639ff802c541020e25ade1b23e9997ef9
* Fix errors during user switchingFyodor Kupolov2015-05-111-0/+5
| | | | | | | | Fix NPE in getHomeActivityForUser. Skip system processes in killBackgroundUserProcessesWithRecordAudioPermission. Bug: 21016983 Change-Id: I97f9ca362f4dbf0a659e3d5d7ae6cd8dbeb6404a
* Disable multi-user background recordingFyodor Kupolov2015-05-081-1/+60
| | | | | | | | | | | | | | | | On user switch, kill existing processes of the background user with android.permission.RECORD_AUDIO permission. Home activity should not be killed to avoid an expensive restart of the home launcher, when the user switches back. Introduced DISALLOW_RECORD_AUDIO user restriction, which is enabled for the background user, and removed for the foreground user. Introduced a concept of system controlled user restriction, which can only be set by the system, rather than device administrator. Bug: 20346194 Change-Id: Ic942fd565e80d14424230dae612965a8e229c4ef
* Merge "AudioService receives callback for dynamic policy mix state changes" ↵Jean-Michel Trivi2015-04-301-7/+46
|\ | | | | | | into mnc-dev
| * AudioService receives callback for dynamic policy mix state changesJean-Michel Trivi2015-04-291-7/+46
| | | | | | | | | | | | | | | | | | | | AudioService registers a callback for dynamic policies from AudioSystem. AudioSystem keeps track of a single callback for dynamic policies. Bug 20226914 Change-Id: I48899d20d1dbb47bb680e733a3bc9fd064b60f07
* | Volume: Simple dialog footer, DND in quick settings.John Spurlock2015-04-291-8/+4
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | - Show DND tile by default, this is now the only place to manage DND modes / end conditions. - Remove super footer from volume dialog, replace with a simplified version that displays the current mode and allows ending DND. - Remove obsolete text-only footer from codebase. - Migrate remaining volume items into main resource files. - Rename "No interruptions" to "Total silence". - Add new user information banner for "Total silence" - Crude media filtering for Total Silence. (deeper muting changes will be done as a followup) - Disable volume dialog sliders completely if muted due to zen. - Cleanup ZenModePanel: assume embedded mode, remove expandable subhead - Remember "favorite" DND mode inside the DND config panel. - AudioService: consult ringer-mode-delegate before voluming down into silent. - Add new hour options to time-based exit conditions. - Volume dialog visual updates to move closer to final visuals. - Unify ringer=silent with DND. Bug: 19260237 Change-Id: I05d7e001eca3b5125418ec3bc4087d0cb8866717
* AudioService: Fix mConnectedDevices iteration issues.John Spurlock2015-04-231-19/+26
| | | | | | | | | - Don't remove from the map while iterating. - Use ArrayMap and tighten up all iterations to avoid unnecessary allocations. Bug: 20523001 Change-Id: I2587d0f9778b38d96afdfd0e61b00b06911837ae
* Zen: Enter alarms only on volume down from vibrate.John Spurlock2015-04-141-1/+2
| | | | | | | | | | And vice versa (when dialog is showing). Also make alarms only the default mode when DND is switched on via the switch. Bug: 19260237 Change-Id: I16e4a27944bc8245bb2beed84c0421d493b0b876
* Merge "AudioService: Observe changes to output devices per-stream."John Spurlock2015-03-271-3/+50
|\
| * AudioService: Observe changes to output devices per-stream.John Spurlock2015-03-261-3/+50
| | | | | | | | | | | | | | | | | | | | - Keep track of calls to AudioSystem.getDevicesForStream. - Report device changes for the base streams to the binary event log. - Fire internal intent so volume UI can respond to changes. - Update devices when new routes are reported. Bug: 19618959 Change-Id: I7bbd497b178d9829accc19e6c951a711aef8590c