summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorJohn Spurlock <jspurlock@google.com>2015-06-09 18:56:49 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-09 18:56:51 +0000
commit66f6cd63b710e0accf15c584c0bda26561425931 (patch)
tree0fc215a3e54c9afaa2fdff1be7c38e56901bdefe /packages
parent33e737bbd15bd76b59dd98a84743ab4167ae80d3 (diff)
parentb0a2e5fbc57827947ed331a6f0afe6a76a7fe7a4 (diff)
downloadframeworks_base-66f6cd63b710e0accf15c584c0bda26561425931.zip
frameworks_base-66f6cd63b710e0accf15c584c0bda26561425931.tar.gz
frameworks_base-66f6cd63b710e0accf15c584c0bda26561425931.tar.bz2
Merge "Volume: Show disabled level on slider when muted by zen." into mnc-dev
Diffstat (limited to 'packages')
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java29
1 files changed, 12 insertions, 17 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java
index 310a64c..29bea4d 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java
@@ -386,18 +386,8 @@ public class VolumeDialog {
}
}
} else {
- if (mAutomute && !row.ss.muteSupported) {
- final boolean vmute = row.ss.level == 0;
- mController.setStreamVolume(stream, vmute ? row.lastAudibleLevel : 0);
- } else {
- final boolean mute = !row.ss.muted;
- mController.setStreamMute(stream, mute);
- if (mAutomute) {
- if (!mute && row.ss.level == 0) {
- mController.setStreamVolume(stream, 1);
- }
- }
- }
+ final boolean vmute = row.ss.level == 0;
+ mController.setStreamVolume(stream, vmute ? row.lastAudibleLevel : 0);
}
row.userAttempt = 0; // reset the grace period, slider should update immediately
}
@@ -589,6 +579,9 @@ public class VolumeDialog {
if (ss.level > 0) {
row.lastAudibleLevel = ss.level;
}
+ if (ss.level == row.requestedLevel) {
+ row.requestedLevel = -1;
+ }
final boolean isRingStream = row.stream == AudioManager.STREAM_RING;
final boolean isSystemStream = row.stream == AudioManager.STREAM_SYSTEM;
final boolean isAlarmStream = row.stream == AudioManager.STREAM_ALARM;
@@ -664,7 +657,10 @@ public class VolumeDialog {
row.icon.setContentDescription(ss.name);
// update slider
- updateVolumeRowSliderH(row, zenMuted);
+ final boolean enableSlider = !zenMuted;
+ final int vlevel = row.ss.muted && (isRingVibrate || !isRingStream && !zenMuted) ? 0
+ : row.ss.level;
+ updateVolumeRowSliderH(row, enableSlider, vlevel);
}
private void updateVolumeRowSliderTintH(VolumeRow row, boolean isActive) {
@@ -676,8 +672,8 @@ public class VolumeDialog {
row.slider.setThumbTintList(tint);
}
- private void updateVolumeRowSliderH(VolumeRow row, boolean zenMuted) {
- row.slider.setEnabled(!zenMuted);
+ private void updateVolumeRowSliderH(VolumeRow row, boolean enable, int vlevel) {
+ row.slider.setEnabled(enable);
updateVolumeRowSliderTintH(row, row.stream == mActiveStream);
if (row.tracking) {
return; // don't update if user is sliding
@@ -694,7 +690,6 @@ public class VolumeDialog {
row.userAttempt + USER_ATTEMPT_GRACE_PERIOD);
return; // don't update if visible and in grace period
}
- final int vlevel = row.ss.muted ? 0 : row.ss.level;
if (vlevel == level) {
if (mShowing && rowVisible) {
return; // don't clamp if visible
@@ -1018,7 +1013,7 @@ public class VolumeDialog {
private StreamState ss;
private long userAttempt; // last user-driven slider change
private boolean tracking; // tracking slider touch
- private int requestedLevel;
+ private int requestedLevel = -1; // pending user-requested level via progress changed
private int iconRes;
private int iconMuteRes;
private boolean important;