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

Commit 58c429b0 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

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

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15881692

Change-Id: Ib548f545ac9af19ed303387b382f02125785c9ce
parents d1a5c110 509c8c26
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);
        }