diff options
| author | 2014-06-08 10:52:32 -0700 | |
|---|---|---|
| committer | 2014-06-08 13:20:43 -0700 | |
| commit | 0791e1713be3df6acfc9e3dfa0dd8be55cf1a165 (patch) | |
| tree | 2ffbd9c718ef697517c64434a4d79a8e558bb317 | |
| parent | 2386bd5de40849bd312482e33105070cf438011d (diff) | |
b/15452153 Send 0 delta volume requests
The new code was dropping volume requests with a delta of 0. These
are used to trigger a beep at the end of a volume adjustment.
Change-Id: Idd85cfeaffe78f9aaafb8e6989e240cb70409c1e
| -rw-r--r-- | services/core/java/com/android/server/media/MediaSessionService.java | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java index 87665e103fcc..a0b796103554 100644 --- a/services/core/java/com/android/server/media/MediaSessionService.java +++ b/services/core/java/com/android/server/media/MediaSessionService.java @@ -781,25 +781,36 @@ public class MediaSessionService extends SystemService implements Monitor { } if (session == null) { - for (int i = 0; i < steps; i++) { - try { - mAudioService.adjustSuggestedStreamVolume(direction, suggestedStream, - flags, getContext().getOpPackageName()); - } catch (RemoteException e) { - Log.e(TAG, "Error adjusting default volume.", e); + try { + if (delta == 0) { + mAudioService.adjustSuggestedStreamVolume(delta, suggestedStream, flags, + getContext().getOpPackageName()); + } else { + for (int i = 0; i < steps; i++) { + mAudioService.adjustSuggestedStreamVolume(direction, suggestedStream, + flags, getContext().getOpPackageName()); + } } + } catch (RemoteException e) { + Log.e(TAG, "Error adjusting default volume.", e); } } else { if (session.getPlaybackType() == MediaSession.VOLUME_TYPE_LOCAL) { - for (int i = 0; i < steps; i++) { - try { - mAudioService.adjustSuggestedStreamVolume(direction, + try { + if (delta == 0) { + mAudioService.adjustSuggestedStreamVolume(delta, session.getAudioStream(), flags, getContext().getOpPackageName()); - } catch (RemoteException e) { - Log.e(TAG, "Error adjusting volume for stream " - + session.getAudioStream(), e); + } else { + for (int i = 0; i < steps; i++) { + mAudioService.adjustSuggestedStreamVolume(direction, + session.getAudioStream(), flags, + getContext().getOpPackageName()); + } } + } catch (RemoteException e) { + Log.e(TAG, "Error adjusting volume for stream " + + session.getAudioStream(), e); } } else if (session.getPlaybackType() == MediaSession.VOLUME_TYPE_REMOTE) { session.adjustVolumeBy(delta); |