Merge "Fix 6583164: Make navbar slippery when shade is open" into jb-dev
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user