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

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

Merge "Prevent potential NPE when updating state to bar manager"

parents 138cbcbb d80ae9b5
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ public class BarController {
    private static final int MSG_NAV_BAR_VISIBILITY_CHANGED = 1;

    protected final String mTag;
    protected final int mDisplayId;
    private final int mTransientFlag;
    private final int mUnhideFlag;
    private final int mTranslucentFlag;
@@ -74,9 +75,10 @@ public class BarController {

    private OnBarVisibilityChangedListener mVisibilityChangeListener;

    BarController(String tag, int transientFlag, int unhideFlag, int translucentFlag,
    BarController(String tag, int displayId, int transientFlag, int unhideFlag, int translucentFlag,
            int statusBarManagerId, int translucentWmFlag, int transparentFlag) {
        mTag = "BarController." + tag;
        mDisplayId = displayId;
        mTransientFlag = transientFlag;
        mUnhideFlag = unhideFlag;
        mTranslucentFlag = translucentFlag;
@@ -230,7 +232,7 @@ public class BarController {
                public void run() {
                    StatusBarManagerInternal statusbar = getStatusBarInternal();
                    if (statusbar != null) {
                        statusbar.setWindowState(mWin.getDisplayId(), mStatusBarManagerId, state);
                        statusbar.setWindowState(mDisplayId, mStatusBarManagerId, state);
                    }
                }
            });
+13 −9
Original line number Diff line number Diff line
@@ -261,15 +261,9 @@ public class DisplayPolicy {
    /** Cached value of {@link ScreenShapeHelper#getWindowOutsetBottomPx} */
    @Px private int mWindowOutsetBottom;

    private final StatusBarController mStatusBarController = new StatusBarController();
    private final StatusBarController mStatusBarController;

    private final BarController mNavigationBarController = new BarController("NavigationBar",
            View.NAVIGATION_BAR_TRANSIENT,
            View.NAVIGATION_BAR_UNHIDE,
            View.NAVIGATION_BAR_TRANSLUCENT,
            StatusBarManager.WINDOW_NAVIGATION_BAR,
            FLAG_TRANSLUCENT_NAVIGATION,
            View.NAVIGATION_BAR_TRANSPARENT);
    private final BarController mNavigationBarController;

    private final BarController.OnBarVisibilityChangedListener mNavBarVisibilityListener =
            new BarController.OnBarVisibilityChangedListener() {
@@ -416,6 +410,17 @@ public class DisplayPolicy {
        mDisplayContent = displayContent;
        mLock = service.getWindowManagerLock();

        final int displayId = displayContent.getDisplayId();
        mStatusBarController = new StatusBarController(displayId);
        mNavigationBarController = new BarController("NavigationBar",
                displayId,
                View.NAVIGATION_BAR_TRANSIENT,
                View.NAVIGATION_BAR_UNHIDE,
                View.NAVIGATION_BAR_TRANSLUCENT,
                StatusBarManager.WINDOW_NAVIGATION_BAR,
                FLAG_TRANSLUCENT_NAVIGATION,
                View.NAVIGATION_BAR_TRANSPARENT);

        final Resources r = mContext.getResources();
        mCarDockEnablesAccelerometer = r.getBoolean(R.bool.config_carDockEnablesAccelerometer);
        mDeskDockEnablesAccelerometer = r.getBoolean(R.bool.config_deskDockEnablesAccelerometer);
@@ -527,7 +532,6 @@ public class DisplayPolicy {
            if (mWindowSleepToken != null) {
                return;
            }
            final int displayId = displayContent.getDisplayId();
            mWindowSleepToken = service.mAtmInternal.acquireSleepToken(
                    "WindowSleepTokenOnDisplay" + displayId, displayId);
        };
+10 −9
Original line number Diff line number Diff line
@@ -36,22 +36,22 @@ public class StatusBarController extends BarController {

        private Runnable mAppTransitionPending = () -> {
            StatusBarManagerInternal statusBar = getStatusBarInternal();
            if (statusBar != null && mWin != null) {
                statusBar.appTransitionPending(mWin.getDisplayId());
            if (statusBar != null) {
                statusBar.appTransitionPending(mDisplayId);
            }
        };

        private Runnable mAppTransitionCancelled = () -> {
            StatusBarManagerInternal statusBar = getStatusBarInternal();
            if (statusBar != null && mWin != null) {
                statusBar.appTransitionCancelled(mWin.getDisplayId());
            if (statusBar != null) {
                statusBar.appTransitionCancelled(mDisplayId);
            }
        };

        private Runnable mAppTransitionFinished = () -> {
            StatusBarManagerInternal statusBar = getStatusBarInternal();
            if (statusBar != null && mWin != null) {
                statusBar.appTransitionFinished(mWin.getDisplayId());
            if (statusBar != null) {
                statusBar.appTransitionFinished(mDisplayId);
            }
        };

@@ -65,8 +65,8 @@ public class StatusBarController extends BarController {
                long statusBarAnimationStartTime, long statusBarAnimationDuration) {
            mHandler.post(() -> {
                StatusBarManagerInternal statusBar = getStatusBarInternal();
                if (statusBar != null && mWin != null) {
                    statusBar.appTransitionStarting(mWin.getDisplayId(),
                if (statusBar != null) {
                    statusBar.appTransitionStarting(mDisplayId,
                            statusBarAnimationStartTime, statusBarAnimationDuration);
                }
            });
@@ -84,8 +84,9 @@ public class StatusBarController extends BarController {
        }
    };

    StatusBarController() {
    StatusBarController(int displayId) {
        super("StatusBar",
                displayId,
                View.STATUS_BAR_TRANSIENT,
                View.STATUS_BAR_UNHIDE,
                View.STATUS_BAR_TRANSLUCENT,