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

Commit 00af622c authored by Heemin Seog's avatar Heemin Seog Committed by Android (Google) Code Review
Browse files

Merge "Clean up navbar for autohide" into rvc-dev

parents 7d5b7a6e 8cfe6c56
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -165,6 +165,7 @@ public class NavigationBarController implements Callbacks {
    private void removeNavigationBar(int displayId) {
    private void removeNavigationBar(int displayId) {
        NavigationBarFragment navBar = mNavigationBars.get(displayId);
        NavigationBarFragment navBar = mNavigationBars.get(displayId);
        if (navBar != null) {
        if (navBar != null) {
            navBar.setAutoHideController(/* autoHideController */ null);
            View navigationWindow = navBar.getView().getRootView();
            View navigationWindow = navBar.getView().getRootView();
            WindowManagerGlobal.getInstance()
            WindowManagerGlobal.getInstance()
                    .removeView(navigationWindow, true /* immediate */);
                    .removeView(navigationWindow, true /* immediate */);
+28 −21
Original line number Original line Diff line number Diff line
@@ -205,6 +205,28 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback


    private final Handler mHandler;
    private final Handler mHandler;


    private final AutoHideUiElement mAutoHideUiElement = new AutoHideUiElement() {
        @Override
        public void synchronizeState() {
            checkNavBarModes();
        }

        @Override
        public boolean shouldHideOnTouch() {
            return !mNotificationRemoteInputManager.getController().isRemoteInputActive();
        }

        @Override
        public boolean isVisible() {
            return isTransientShown();
        }

        @Override
        public void hide() {
            clearTransient();
        }
    };

    private final OverviewProxyListener mOverviewProxyListener = new OverviewProxyListener() {
    private final OverviewProxyListener mOverviewProxyListener = new OverviewProxyListener() {
        @Override
        @Override
        public void onConnectionChanged(boolean isConnected) {
        public void onConnectionChanged(boolean isConnected) {
@@ -1052,28 +1074,13 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback


    /** Sets {@link AutoHideController} to the navigation bar. */
    /** Sets {@link AutoHideController} to the navigation bar. */
    public void setAutoHideController(AutoHideController autoHideController) {
    public void setAutoHideController(AutoHideController autoHideController) {
        mAutoHideController = autoHideController;
        if (mAutoHideController != null) {
        mAutoHideController.addAutoHideUiElement(new AutoHideUiElement() {
            mAutoHideController.removeAutoHideUiElement(mAutoHideUiElement);
            @Override
            public void synchronizeState() {
                checkNavBarModes();
            }

            @Override
            public boolean shouldHideOnTouch() {
                return !mNotificationRemoteInputManager.getController().isRemoteInputActive();
            }

            @Override
            public boolean isVisible() {
                return isTransientShown();
        }
        }

        mAutoHideController = autoHideController;
            @Override
        if (mAutoHideController != null) {
            public void hide() {
            mAutoHideController.addAutoHideUiElement(mAutoHideUiElement);
                clearTransient();
        }
        }
        });
    }
    }


    private boolean isTransientShown() {
    private boolean isTransientShown() {