Zen: Dim status bar alarm icon when zen = total silence.

Bug: 21359239
Change-Id: I5bf207c4c181869127ed8b90787cbd7d9bb0f6c2
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
index 5942b46..7c10c66 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
@@ -67,6 +67,7 @@
     private final Handler mHandler = new Handler();
     private final CastController mCast;
     private final HotspotController mHotspot;
+    private final AlarmManager mAlarmManager;
 
     // Assume it's all good unless we hear otherwise.  We don't always seem
     // to get broadcasts that it *is* there.
@@ -112,7 +113,8 @@
         mContext = context;
         mCast = cast;
         mHotspot = hotspot;
-        mService = (StatusBarManager)context.getSystemService(Context.STATUS_BAR_SERVICE);
+        mService = (StatusBarManager) context.getSystemService(Context.STATUS_BAR_SERVICE);
+        mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
 
         // listen for broadcasts
         IntentFilter filter = new IntentFilter();
@@ -173,9 +175,11 @@
     }
 
     private void updateAlarm() {
-        AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
-        boolean alarmSet = alarmManager.getNextAlarmClock(UserHandle.USER_CURRENT) != null;
-        mService.setIconVisibility(SLOT_ALARM_CLOCK, alarmSet);
+        final boolean hasAlarm = mAlarmManager.getNextAlarmClock(UserHandle.USER_CURRENT) != null;
+        final boolean zenNone = mZen == Global.ZEN_MODE_NO_INTERRUPTIONS;
+        mService.setIconVisibility(SLOT_ALARM_CLOCK, hasAlarm);
+        mService.setIcon(SLOT_ALARM_CLOCK, zenNone ? R.drawable.stat_sys_alarm_dim
+                : R.drawable.stat_sys_alarm, 0, null);
     }
 
     private final void updateSimState(Intent intent) {
@@ -259,6 +263,7 @@
             mService.setIconVisibility(SLOT_VOLUME, volumeVisible);
             mVolumeVisible = volumeVisible;
         }
+        updateAlarm();
     }
 
     private final void updateBluetooth() {