diff options
| -rw-r--r-- | services/core/java/com/android/server/audio/AudioService.java | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 729898312311..b2cf1b7d60f3 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -399,6 +399,13 @@ public class AudioService extends IAudioService.Stub private final boolean mUseFixedVolume; + /** + * Default stream type used for volume control in the absence of playback + * e.g. user on homescreen, no app playing anything, presses hardware volume buttons, this + * stream type is controlled. + */ + protected static final int DEFAULT_VOL_STREAM_NO_PLAYBACK = AudioSystem.STREAM_MUSIC; + private final AudioSystem.ErrorCallback mAudioSystemCallback = new AudioSystem.ErrorCallback() { public void onError(int error) { switch (error) { @@ -4285,9 +4292,11 @@ public class AudioService extends IAudioService.Stub Log.v(TAG, "getActiveStreamType: Forcing STREAM_NOTIFICATION stream active"); return AudioSystem.STREAM_NOTIFICATION; } else { - if (DEBUG_VOL) - Log.v(TAG, "getActiveStreamType: Forcing STREAM_MUSIC b/c default"); - return AudioSystem.STREAM_MUSIC; + if (DEBUG_VOL) { + Log.v(TAG, "getActiveStreamType: Forcing DEFAULT_VOL_STREAM_NO_PLAYBACK(" + + DEFAULT_VOL_STREAM_NO_PLAYBACK + ") b/c default"); + } + return DEFAULT_VOL_STREAM_NO_PLAYBACK; } } else if ( wasStreamActiveRecently(AudioSystem.STREAM_NOTIFICATION, sStreamOverrideDelayMs)) { @@ -4327,8 +4336,11 @@ public class AudioService extends IAudioService.Stub if (DEBUG_VOL) Log.v(TAG, "getActiveStreamType: Forcing STREAM_RING"); return AudioSystem.STREAM_RING; } else { - if (DEBUG_VOL) Log.v(TAG, "getActiveStreamType: using STREAM_MUSIC as default"); - return AudioSystem.STREAM_MUSIC; + if (DEBUG_VOL) { + Log.v(TAG, "getActiveStreamType: Forcing DEFAULT_VOL_STREAM_NO_PLAYBACK(" + + DEFAULT_VOL_STREAM_NO_PLAYBACK + ") b/c default"); + } + return DEFAULT_VOL_STREAM_NO_PLAYBACK; } } break; @@ -7210,7 +7222,7 @@ public class AudioService extends IAudioService.Stub return false; } boolean suppress = false; - if (resolvedStream == AudioSystem.STREAM_RING && mController != null) { + if (resolvedStream == DEFAULT_VOL_STREAM_NO_PLAYBACK && mController != null) { final long now = SystemClock.uptimeMillis(); if ((flags & AudioManager.FLAG_SHOW_UI) != 0 && !mVisible) { // ui will become visible |