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

Commit 16e0cbc0 authored by kwaky's avatar kwaky
Browse files

Add mBouncer null checks for view-related requests.

CarKeytuardView is inflated when CarKeyguardView is first started, and
mBouncer is assigned a value onFinishInflated.

Since some of the view-related requests that reference mBouncer could be
called before that event, we need to add null checks for them.

Such a check is redundant for methods that check for mShowing, since if
mShowing is true, it is guaranteed that mBouncer is assigned a value.

Bug: 154928953
Test: Manual and Existing Unit Tests
Change-Id: I796e8bc73459df3b2a0374818556262ebc2ea237
parent 48f05271
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -151,8 +151,10 @@ public class CarKeyguardViewController extends OverlayViewController implements

    @Override
    public void notifyKeyguardAuthenticated(boolean strongAuth) {
        if (mBouncer != null) {
            mBouncer.notifyKeyguardAuthenticated(strongAuth);
        }
    }

    @Override
    public void showBouncer(boolean scrimmed) {
@@ -204,11 +206,15 @@ public class CarKeyguardViewController extends OverlayViewController implements

    @Override
    public void onFinishedGoingToSleep() {
        if (mBouncer != null) {
            mBouncer.onScreenTurnedOff();
        }
    }

    @Override
    public void onCancelClicked() {
        if (!mShowing) return;

        getOverlayViewGlobalStateController().setWindowFocusable(/* focusable= */ false);
        getOverlayViewGlobalStateController().setWindowNeedsInput(/* needsInput= */ false);

@@ -228,6 +234,8 @@ public class CarKeyguardViewController extends OverlayViewController implements

    @Override
    public void startPreHideAnimation(Runnable finishRunnable) {
        if (!mShowing) return;

        mBouncer.startPreHideAnimation(finishRunnable);
    }

@@ -260,12 +268,12 @@ public class CarKeyguardViewController extends OverlayViewController implements

    @Override
    public boolean isBouncerShowing() {
        return mBouncer.isShowing();
        return mBouncer != null && mBouncer.isShowing();
    }

    @Override
    public boolean bouncerIsOrWillBeShowing() {
        return mBouncer.isShowing() || mBouncer.inTransit();
        return mBouncer != null && (mBouncer.isShowing() || mBouncer.inTransit());
    }

    @Override