diff options
author | John Spurlock <jspurlock@google.com> | 2015-04-14 20:00:40 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-04-14 20:00:42 +0000 |
commit | 1740c625c6b2b39d6b35d08a7bd362ea907cf082 (patch) | |
tree | 10d2e3ceaec7bb2f5eb4e882d0131de9ac03e2b7 | |
parent | 691ae9dc25edb1c3d005c46e729356a08450e378 (diff) | |
parent | b02c744f05b0cca05b77fcbaad4a546ad86081eb (diff) | |
download | frameworks_base-1740c625c6b2b39d6b35d08a7bd362ea907cf082.zip frameworks_base-1740c625c6b2b39d6b35d08a7bd362ea907cf082.tar.gz frameworks_base-1740c625c6b2b39d6b35d08a7bd362ea907cf082.tar.bz2 |
Merge "Zen: Enter alarms only on volume down from vibrate."
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; |