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

Commit 7def1db0 authored by Craig Mautner's avatar Craig Mautner
Browse files

Add null checks before using mViewMediatorCallback.

Fixes bug 7250008.

Change-Id: I744241c46de5222a3e1767a04464e657ccd9f799
parent 195b6e12
Loading
Loading
Loading
Loading
+20 −7
Original line number Diff line number Diff line
@@ -123,8 +123,10 @@ public class KeyguardHostView extends KeyguardViewBase {
    @Override
    protected void dispatchDraw(Canvas canvas) {
        super.dispatchDraw(canvas);
        if (mViewMediatorCallback != null) {
            mViewMediatorCallback.keyguardDoneDrawing();
        }
    }

    private int getWidgetPosition(int id) {
        final int children = mAppWidgetContainer.getChildCount();
@@ -230,8 +232,10 @@ public class KeyguardHostView extends KeyguardViewBase {
    private KeyguardSecurityCallback mCallback = new KeyguardSecurityCallback() {

        public void userActivity(long timeout) {
            if (mViewMediatorCallback != null) {
                mViewMediatorCallback.pokeWakelock(timeout);
            }
        }

        public void dismiss(boolean authenticated) {
            showNextSecurityScreenOrFinish(authenticated);
@@ -450,9 +454,11 @@ public class KeyguardHostView extends KeyguardViewBase {
                mLaunchRunnable.run();
                mLaunchRunnable = null;
            }
            if (mViewMediatorCallback != null) {
                mViewMediatorCallback.keyguardDone(true);
            }
        }
    }

    private OnClickHandler mOnClickHandler = new OnClickHandler() {
        @Override
@@ -541,7 +547,9 @@ public class KeyguardHostView extends KeyguardViewBase {
        oldView.onPause();
        newView.onResume();

        if (mViewMediatorCallback != null) {
            mViewMediatorCallback.setNeedsInput(newView.needsInput());
        }

        // Find and show this child.
        final int childCount = mSecurityViewContainer.getChildCount();
@@ -624,9 +632,10 @@ public class KeyguardHostView extends KeyguardViewBase {
        if (keyCode == KeyEvent.KEYCODE_MENU && isSecure()) {
            if (DEBUG) Log.d(TAG, "switching screens to unlock screen because wake key was MENU");
            showSecurityScreen(SecurityMode.None);
            mViewMediatorCallback.pokeWakelock();
        } else {
            if (DEBUG) Log.d(TAG, "poking wake lock immediately");
        }
        if (mViewMediatorCallback != null) {
            mViewMediatorCallback.pokeWakelock();
        }
    }
@@ -635,11 +644,15 @@ public class KeyguardHostView extends KeyguardViewBase {
    public void verifyUnlock() {
        SecurityMode securityMode = mSecurityModel.getSecurityMode();
        if (securityMode == KeyguardSecurityModel.SecurityMode.None) {
            if (mViewMediatorCallback != null) {
                mViewMediatorCallback.keyguardDone(true);
            }
        } else if (securityMode != KeyguardSecurityModel.SecurityMode.Pattern
                && securityMode != KeyguardSecurityModel.SecurityMode.Password) {
            // can only verify unlock when in pattern/password mode
            if (mViewMediatorCallback != null) {
                mViewMediatorCallback.keyguardDone(false);
            }
        } else {
            // otherwise, go to the unlock screen, see if they can verify it
            mIsVerifyUnlockOnly = true;