Merge "Fix 6583164: Make navbar slippery when shade is open" into jb-dev

This commit is contained in:
Jim Miller
2012-05-31 13:47:47 -07:00
committed by Android (Google) Code Review

View File

@@ -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();