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

Commit 509c8c26 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Ignore rotations while the view is not yet attached" into sc-qpr1-dev

parents 44e5c9a0 902aa77e
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -607,6 +607,7 @@ public class NavigationBar implements View.OnAttachStateChangeListener,
    }

    public void destroyView() {
        setAutoHideController(/* autoHideController */ null);
        mCommandQueue.removeCallback(this);
        mContext.getSystemService(WindowManager.class).removeViewImmediate(
                mNavigationBarView.getRootView());
@@ -946,6 +947,11 @@ public class NavigationBar implements View.OnAttachStateChangeListener,

    @Override
    public void onRotationProposal(final int rotation, boolean isValid) {
        // The CommandQueue callbacks are added when the view is created to ensure we track other
        // states, but until the view is attached (at the next traversal), the view's display is
        // not valid.  Just ignore the rotation in this case.
        if (!mNavigationBarView.isAttachedToWindow()) return;

        final int winRotation = mNavigationBarView.getDisplay().getRotation();
        final boolean rotateSuggestionsDisabled = RotationButtonController
                .hasDisable2RotateSuggestionFlag(mDisabledFlags2);
@@ -1525,7 +1531,7 @@ public class NavigationBar implements View.OnAttachStateChangeListener,
    }

    /** Sets {@link AutoHideController} to the navigation bar. */
    public void setAutoHideController(AutoHideController autoHideController) {
    private void setAutoHideController(AutoHideController autoHideController) {
        mAutoHideController = autoHideController;
        if (mAutoHideController != null) {
            mAutoHideController.setNavigationBar(mAutoHideUiElement);
+0 −1
Original line number Diff line number Diff line
@@ -395,7 +395,6 @@ public class NavigationBarController implements Callbacks,
    void removeNavigationBar(int displayId) {
        NavigationBar navBar = mNavigationBars.get(displayId);
        if (navBar != null) {
            navBar.setAutoHideController(/* autoHideController */ null);
            navBar.destroyView();
            mNavigationBars.remove(displayId);
        }