summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Spurlock <jspurlock@google.com>2015-04-14 20:00:40 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-04-14 20:00:42 +0000
commit1740c625c6b2b39d6b35d08a7bd362ea907cf082 (patch)
tree10d2e3ceaec7bb2f5eb4e882d0131de9ac03e2b7
parent691ae9dc25edb1c3d005c46e729356a08450e378 (diff)
parentb02c744f05b0cca05b77fcbaad4a546ad86081eb (diff)
downloadframeworks_base-1740c625c6b2b39d6b35d08a7bd362ea907cf082.zip
frameworks_base-1740c625c6b2b39d6b35d08a7bd362ea907cf082.tar.gz
frameworks_base-1740c625c6b2b39d6b35d08a7bd362ea907cf082.tar.bz2
Merge "Zen: Enter alarms only on volume down from vibrate."
-rw-r--r--media/java/android/media/VolumePolicy.java19
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java8
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/VolumeDialogController.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java3
-rw-r--r--services/core/java/com/android/server/audio/AudioService.java3
-rw-r--r--services/core/java/com/android/server/notification/ZenModeHelper.java2
6 files changed, 32 insertions, 6 deletions
diff --git a/media/java/android/media/VolumePolicy.java b/media/java/android/media/VolumePolicy.java
index 2d3376a..1d33128 100644
--- a/media/java/android/media/VolumePolicy.java
+++ b/media/java/android/media/VolumePolicy.java
@@ -19,6 +19,8 @@ package android.media;
import android.os.Parcel;
import android.os.Parcelable;
+import java.util.Objects;
+
/** @hide */
public final class VolumePolicy implements Parcelable {
public static final VolumePolicy DEFAULT = new VolumePolicy(false, false, true, 400);
@@ -53,6 +55,23 @@ public final class VolumePolicy implements Parcelable {
}
@Override
+ public int hashCode() {
+ return Objects.hash(volumeDownToEnterSilent, volumeUpToExitSilent, doNotDisturbWhenSilent,
+ vibrateToSilentDebounce);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (!(o instanceof VolumePolicy)) return false;
+ if (o == this) return true;
+ final VolumePolicy other = (VolumePolicy) o;
+ return other.volumeDownToEnterSilent == volumeDownToEnterSilent
+ && other.volumeUpToExitSilent == volumeUpToExitSilent
+ && other.doNotDisturbWhenSilent == doNotDisturbWhenSilent
+ && other.vibrateToSilentDebounce == vibrateToSilentDebounce;
+ }
+
+ @Override
public int describeContents() {
return 0;
}
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
index e1d49ce..86abfcc 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
@@ -43,6 +43,12 @@ public class VolumeDialogComponent implements VolumeComponent {
private final VolumeDialogController mController;
private final ZenModeController mZenModeController;
private final VolumeDialog mDialog;
+ private final VolumePolicy mVolumePolicy = new VolumePolicy(
+ true, // volumeDownToEnterSilent
+ true, // volumeUpToExitSilent
+ true, // doNotDisturbWhenSilent
+ 400 // vibrateToSilentDebounce
+ );
public VolumeDialogComponent(SystemUI sysui, Context context, Handler handler,
ZenModeController zen) {
@@ -74,7 +80,7 @@ public class VolumeDialogComponent implements VolumeComponent {
mDialog.setZenFooter(true);
mDialog.setAutomute(true);
mDialog.setSilentMode(false);
- mController.setVolumePolicy(VolumePolicy.DEFAULT);
+ mController.setVolumePolicy(mVolumePolicy);
mController.showDndTile(false);
}
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogController.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogController.java
index 5bc8c3e..012eb41 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogController.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogController.java
@@ -99,7 +99,7 @@ public class VolumeDialogController {
private boolean mEnabled;
private boolean mDestroyed;
- private VolumePolicy mVolumePolicy = new VolumePolicy(true, true, false, 400);
+ private VolumePolicy mVolumePolicy;
private boolean mShowDndTile = false;
public VolumeDialogController(Context context, ComponentName component) {
@@ -147,6 +147,7 @@ public class VolumeDialogController {
public void setVolumePolicy(VolumePolicy policy) {
mVolumePolicy = policy;
+ if (mVolumePolicy == null) return;
try {
mAudio.setVolumePolicy(mVolumePolicy);
} catch (NoSuchMethodError e) {
diff --git a/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java b/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java
index 9dbe1c8..775c87d 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java
@@ -244,8 +244,7 @@ public class ZenFooter extends LinearLayout {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (D.BUG) Log.d(TAG, "onCheckedChanged " + isChecked);
if (isChecked != isZen()) {
- final int newZen = isChecked ? Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS
- : Global.ZEN_MODE_OFF;
+ final int newZen = isChecked ? Global.ZEN_MODE_ALARMS : Global.ZEN_MODE_OFF;
mZen = newZen; // this one's optimistic
setFooterExpanded(isChecked);
mController.setZen(newZen, null, TAG);
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index 1eddc8e..9a30f0d 100644
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -5577,8 +5577,9 @@ public class AudioService extends IAudioService.Stub {
@Override
public void setVolumePolicy(VolumePolicy policy) {
enforceVolumeController("set volume policy");
- if (policy != null) {
+ if (policy != null && !policy.equals(mVolumePolicy)) {
mVolumePolicy = policy;
+ if (DEBUG_VOL) Log.d(TAG, "Volume policy changed: " + mVolumePolicy);
}
}
diff --git a/services/core/java/com/android/server/notification/ZenModeHelper.java b/services/core/java/com/android/server/notification/ZenModeHelper.java
index 683d1fd..40218bb 100644
--- a/services/core/java/com/android/server/notification/ZenModeHelper.java
+++ b/services/core/java/com/android/server/notification/ZenModeHelper.java
@@ -501,7 +501,7 @@ public class ZenModeHelper {
if (isChange && policy.doNotDisturbWhenSilent) {
if (mZenMode != Global.ZEN_MODE_NO_INTERRUPTIONS
&& mZenMode != Global.ZEN_MODE_ALARMS) {
- newZen = Global.ZEN_MODE_NO_INTERRUPTIONS;
+ newZen = Global.ZEN_MODE_ALARMS;
}
}
break;