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

Commit fa83ebcc authored by Winson Chung's avatar Winson Chung Committed by Automerger Merge Worker
Browse files

Merge "Fixing a couple nav bar crashes" into sc-qpr1-dev am: d8ea4342

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

Change-Id: I192c8264e551d3d08101c4447e7e98e664d25b55
parents 07bca28f d8ea4342
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -410,6 +410,12 @@ public class NavigationBar implements View.OnAttachStateChangeListener,
            new Handler(Looper.getMainLooper())) {
        @Override
        public void onChange(boolean selfChange, Uri uri) {
            // TODO(b/198002034): Content observers currently can still be called back after being
            // unregistered, and in this case we can ignore the change if the nav bar has been
            // destroyed already
            if (mNavigationBarView == null) {
                return;
            }
            updateAssistantEntrypoints();
        }
    };
@@ -651,7 +657,7 @@ public class NavigationBar implements View.OnAttachStateChangeListener,
        if (mIsOnDefaultDisplay) {
            final RotationButtonController rotationButtonController =
                    mNavigationBarView.getRotationButtonController();
            rotationButtonController.addRotationCallback(mRotationWatcher);
            rotationButtonController.setRotationCallback(mRotationWatcher);

            // Reset user rotation pref to match that of the WindowManager if starting in locked
            // mode. This will automatically happen when switching from auto-rotate to locked mode.
@@ -690,6 +696,9 @@ public class NavigationBar implements View.OnAttachStateChangeListener,

    @Override
    public void onViewDetachedFromWindow(View v) {
        final RotationButtonController rotationButtonController =
                mNavigationBarView.getRotationButtonController();
        rotationButtonController.setRotationCallback(null);
        mNavigationBarView.getBarTransitions().destroy();
        mNavigationBarView.getLightTransitionsController().destroy(mContext);
        mOverviewProxyService.removeCallback(mOverviewProxyListener);
+1 −1
Original line number Diff line number Diff line
@@ -274,7 +274,7 @@ public class NavigationBarView extends FrameLayout implements
    };

    private final Consumer<Boolean> mRotationButtonListener = (visible) -> {
        if (visible) {
        if (visible && mAutoHideController != null) {
            // If the button will actually become visible and the navbar is about to hide,
            // tell the statusbar to keep it around for longer
            mAutoHideController.touchAutoHide();
+1 −1
Original line number Diff line number Diff line
@@ -180,7 +180,7 @@ public class RotationButtonController {
        TaskStackChangeListeners.getInstance().unregisterTaskStackListener(mTaskStackListener);
    }

    void addRotationCallback(Consumer<Integer> watcher) {
    void setRotationCallback(Consumer<Integer> watcher) {
        mRotWatcherListener = watcher;
    }