Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 593b4446 authored by Jim Miller's avatar Jim Miller Committed by Android (Google) Code Review
Browse files

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

parents 4a3a9685 b490c3e6
Loading
Loading
Loading
Loading
+13 −8
Original line number Diff line number Diff line
@@ -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();
        }
        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();