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

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

Fixing a couple nav bar crashes am: a7c9bec4 am: a6c44d25

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

Change-Id: If62341a0b2ccd1ba1364473dab420525a5209ee4
parents 1d92a982 a6c44d25
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -422,6 +422,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();
        }
    };
@@ -648,7 +654,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.
@@ -687,6 +693,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
@@ -279,7 +279,7 @@ public class NavigationBarView extends FrameLayout implements
            new RotationButtonUpdatesCallback() {
                @Override
                public void onVisibilityChanged(boolean 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
@@ -183,7 +183,7 @@ public class RotationButtonController {
        TaskStackChangeListeners.getInstance().unregisterTaskStackListener(mTaskStackListener);
    }

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