diff options
author | Jim Miller <jaggies@google.com> | 2012-05-31 13:34:16 -0700 |
---|---|---|
committer | Jim Miller <jaggies@google.com> | 2012-05-31 13:34:16 -0700 |
commit | b490c3e64d4671133eb5e2c7a263f38879ef0ce3 (patch) | |
tree | d2f3ab4eb488403bde3cc240efa2583df00e34a9 /packages | |
parent | dda62f69f3ebf898c2678f61eacd0371cedc025b (diff) | |
download | frameworks_base-b490c3e64d4671133eb5e2c7a263f38879ef0ce3.zip frameworks_base-b490c3e64d4671133eb5e2c7a263f38879ef0ce3.tar.gz frameworks_base-b490c3e64d4671133eb5e2c7a263f38879ef0ce3.tar.bz2 |
Fix 6583164: Make navbar slippery when shade is open
Change-Id: Ie7bc726dd292b8b363c155492fb620e49a123f05
Diffstat (limited to 'packages')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java | 21 |
1 files changed, 13 insertions, 8 deletions
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 3a50560..ecdaa39 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -484,14 +484,7 @@ public class PhoneStatusBar extends BaseStatusBar { @Override public void showSearchPanel() { - // XXX This is a bit of a hack. Since navbar is no longer slippery, we use the - // gesture to dismiss the expanded statusbar. - if (mExpanded) { - animateCollapse(); - return; - } else { - super.showSearchPanel(); - } + super.showSearchPanel(); WindowManager.LayoutParams lp = (android.view.WindowManager.LayoutParams) mNavigationBarView.getLayoutParams(); lp.flags &= ~WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL; @@ -1044,6 +1037,7 @@ public class PhoneStatusBar extends BaseStatusBar { mExpandedVisible = true; mNotificationPanel.setVisibility(View.VISIBLE); + makeSlippery(mNavigationBarView, true); updateExpandedViewPos(EXPANDED_LEAVE_ALONE); @@ -1059,6 +1053,16 @@ public class PhoneStatusBar extends BaseStatusBar { visibilityChanged(true); } + private static void makeSlippery(View view, boolean slippery) { + WindowManager.LayoutParams lp = (WindowManager.LayoutParams) view.getLayoutParams(); + if (slippery) { + lp.flags |= WindowManager.LayoutParams.FLAG_SLIPPERY; + } else { + lp.flags &= ~WindowManager.LayoutParams.FLAG_SLIPPERY; + } + WindowManagerImpl.getDefault().updateViewLayout(view, lp); + } + public void animateExpand() { if (SPEW) Slog.d(TAG, "Animate expand: expanded=" + mExpanded); if ((mDisabled & StatusBarManager.DISABLE_EXPAND) != 0) { @@ -1144,6 +1148,7 @@ public class PhoneStatusBar extends BaseStatusBar { mExpandedVisible = false; visibilityChanged(false); mNotificationPanel.setVisibility(View.INVISIBLE); + makeSlippery(mNavigationBarView, false); // Shrink the window to the size of the status bar only WindowManager.LayoutParams lp = (WindowManager.LayoutParams) mStatusBarWindow.getLayoutParams(); |