summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author RoboErik <epastern@google.com> 2014-06-09 19:07:09 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2014-06-09 19:07:10 +0000
commitb6b31f2741acb8c0e45c34e92addada63ed9f915 (patch)
treeb379f7d6524d42fbe48a9eb305d34d737637a599
parent085eefd1842005e388629fdcaca6832e8766ee2c (diff)
parent0791e1713be3df6acfc9e3dfa0dd8be55cf1a165 (diff)
Merge "b/15452153 Send 0 delta volume requests" into lmp-preview-dev
-rw-r--r--services/core/java/com/android/server/media/MediaSessionService.java35
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);