Doze: coordinate keyguard status bar visibility.

Play nice with recent NotificationPanelView changes that
also drive its visibility.

Bug: 15863249
Change-Id: I60021f415089d5508af7fe9ec792a2871a52910d
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index c9c7703..53c4740 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -93,6 +93,8 @@
     private boolean mQsExpandedWhenExpandingStarted;
     private boolean mQsFullyExpanded;
     private boolean mKeyguardShowing;
+    private boolean mDozing;
+    private boolean mKeyguardStatusBarTransparent;
     private int mStatusBarState;
     private float mInitialHeightOnTouch;
     private float mInitialTouchX;
@@ -897,10 +899,9 @@
             alpha *= 2;
             alpha = Math.min(1, alpha);
             alpha = 1 - alpha;
-            if (alpha == 0f) {
-                mKeyguardStatusBar.setVisibility(View.INVISIBLE);
-            } else {
-                mKeyguardStatusBar.setVisibility(View.VISIBLE);
+            mKeyguardStatusBarTransparent = alpha == 0f;
+            updateKeyguardStatusBarVisibility();
+            if (!mKeyguardStatusBarTransparent) {
                 mKeyguardStatusBar.setAlpha(alpha);
             }
         }
@@ -1598,4 +1599,20 @@
     private static float interpolate(float t, float start, float end) {
         return (1 - t) * start + t * end;
     }
+
+    private void updateKeyguardStatusBarVisibility() {
+        mKeyguardStatusBar.setVisibility(mKeyguardShowing && !mKeyguardStatusBarTransparent
+                && !mDozing ? VISIBLE : INVISIBLE);
+    }
+
+    public void setDozing(boolean dozing) {
+        if (dozing == mDozing) return;
+        mDozing = dozing;
+        if (mDozing) {
+            setBackgroundColor(0xff000000);
+        } else {
+            setBackground(null);
+        }
+        updateKeyguardStatusBarVisibility();
+    }
 }