From dd5b88684d61abb8ba762ef21c9658481795c2c1 Mon Sep 17 00:00:00 2001 From: Jorim Jaggi Date: Tue, 5 Aug 2014 21:04:39 +0200 Subject: [PATCH] Navbar scrim when in QS Bug: 16644711 Change-Id: I91d823671919068500a29878f3dfe9b481000a58 --- .../SystemUI/res/drawable/qs_navbar_scrim.xml | 25 +++++++++++++++++++ .../res/layout/status_bar_expanded.xml | 8 ++++++ .../phone/NotificationPanelView.java | 20 +++++++++++++++ .../statusbar/phone/PhoneStatusBar.java | 1 + 4 files changed, 54 insertions(+) create mode 100644 packages/SystemUI/res/drawable/qs_navbar_scrim.xml diff --git a/packages/SystemUI/res/drawable/qs_navbar_scrim.xml b/packages/SystemUI/res/drawable/qs_navbar_scrim.xml new file mode 100644 index 0000000000000..bbb2617db4a02 --- /dev/null +++ b/packages/SystemUI/res/drawable/qs_navbar_scrim.xml @@ -0,0 +1,25 @@ + + + + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/layout/status_bar_expanded.xml b/packages/SystemUI/res/layout/status_bar_expanded.xml index 53a832aa9994e..fa1077b8624cb 100644 --- a/packages/SystemUI/res/layout/status_bar_expanded.xml +++ b/packages/SystemUI/res/layout/status_bar_expanded.xml @@ -115,4 +115,12 @@ layout="@layout/keyguard_bottom_area" android:visibility="gone" /> + + 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 98bb5918e66f9..fa2e361507f52 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -69,6 +69,7 @@ public class NotificationPanelView extends PanelView implements private TextView mClockView; private View mReserveNotificationSpace; private MirrorView mSystemIconsCopy; + private View mQsNavbarScrim; private NotificationStackScrollLayout mNotificationStackScroller; private int mNotificationTopPadding; @@ -149,6 +150,8 @@ public class NotificationPanelView extends PanelView implements private boolean mShadeEmpty; + private boolean mQsScrimEnabled = true; + public NotificationPanelView(Context context, AttributeSet attrs) { super(context, attrs); mSystemIconsCopy = new MirrorView(context); @@ -183,6 +186,7 @@ public class NotificationPanelView extends PanelView implements mLinearOutSlowInInterpolator = AnimationUtils.loadInterpolator(getContext(), android.R.interpolator.linear_out_slow_in); mKeyguardBottomArea = (KeyguardBottomAreaView) findViewById(R.id.keyguard_bottom_area); + mQsNavbarScrim = findViewById(R.id.qs_navbar_scrim); mAfforanceHelper = new KeyguardAffordanceHelper(this, getContext()); } @@ -882,6 +886,10 @@ public class NotificationPanelView extends PanelView implements mKeyguardShowing && !expandVisually ? View.INVISIBLE : View.VISIBLE); mScrollView.setTouchEnabled(mQsExpanded); updateEmptyShadeView(); + mQsNavbarScrim.setVisibility(mStatusBarState == StatusBarState.SHADE && mQsExpanded + && !mStackScrollerOverscrolling && mQsScrimEnabled + ? View.VISIBLE + : View.INVISIBLE); } private void setQsExpansion(float height) { @@ -908,6 +916,10 @@ public class NotificationPanelView extends PanelView implements mKeyguardStatusBar.setAlpha(alpha); } } + if (mStatusBarState == StatusBarState.SHADE && mQsExpanded + && !mStackScrollerOverscrolling && mQsScrimEnabled) { + mQsNavbarScrim.setAlpha(getQsExpansionFraction()); + } } private void updateNotificationScrim(float height) { @@ -1629,4 +1641,12 @@ public class NotificationPanelView extends PanelView implements // Hide "No notifications" in QS. mNotificationStackScroller.updateEmptyShadeView(mShadeEmpty && !mQsExpanded); } + + public void setQsScrimEnabled(boolean qsScrimEnabled) { + boolean changed = mQsScrimEnabled != qsScrimEnabled; + mQsScrimEnabled = qsScrimEnabled; + if (changed) { + updateQsState(); + } + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index e7a9779c03ad9..b089177376877 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -650,6 +650,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, if (mSearchPanelView != null) { mSearchPanelView.setHorizontal(isVertical); } + mNotificationPanel.setQsScrimEnabled(!isVertical); } }); mNavigationBarView.setOnTouchListener(new View.OnTouchListener() {