@@ -123,7 +123,9 @@ public boolean onTouchEvent(MotionEvent ev) {
123123 @ Override
124124 protected void dispatchDraw (Canvas canvas ) {
125125 super .dispatchDraw (canvas );
126- mViewMediatorCallback .keyguardDoneDrawing ();
126+ if (mViewMediatorCallback != null ) {
127+ mViewMediatorCallback .keyguardDoneDrawing ();
128+ }
127129 }
128130
129131 private int getWidgetPosition (int id ) {
@@ -230,7 +232,9 @@ void addWidget(AppWidgetHostView view) {
230232 private KeyguardSecurityCallback mCallback = new KeyguardSecurityCallback () {
231233
232234 public void userActivity (long timeout ) {
233- mViewMediatorCallback .pokeWakelock (timeout );
235+ if (mViewMediatorCallback != null ) {
236+ mViewMediatorCallback .pokeWakelock (timeout );
237+ }
234238 }
235239
236240 public void dismiss (boolean authenticated ) {
@@ -450,7 +454,9 @@ private void showNextSecurityScreenOrFinish(boolean authenticated) {
450454 mLaunchRunnable .run ();
451455 mLaunchRunnable = null ;
452456 }
453- mViewMediatorCallback .keyguardDone (true );
457+ if (mViewMediatorCallback != null ) {
458+ mViewMediatorCallback .keyguardDone (true );
459+ }
454460 }
455461 }
456462
@@ -541,7 +547,9 @@ private void showSecurityScreen(SecurityMode securityMode) {
541547 oldView .onPause ();
542548 newView .onResume ();
543549
544- mViewMediatorCallback .setNeedsInput (newView .needsInput ());
550+ if (mViewMediatorCallback != null ) {
551+ mViewMediatorCallback .setNeedsInput (newView .needsInput ());
552+ }
545553
546554 // Find and show this child.
547555 final int childCount = mSecurityViewContainer .getChildCount ();
@@ -624,9 +632,10 @@ public void wakeWhenReadyTq(int keyCode) {
624632 if (keyCode == KeyEvent .KEYCODE_MENU && isSecure ()) {
625633 if (DEBUG ) Log .d (TAG , "switching screens to unlock screen because wake key was MENU" );
626634 showSecurityScreen (SecurityMode .None );
627- mViewMediatorCallback .pokeWakelock ();
628635 } else {
629636 if (DEBUG ) Log .d (TAG , "poking wake lock immediately" );
637+ }
638+ if (mViewMediatorCallback != null ) {
630639 mViewMediatorCallback .pokeWakelock ();
631640 }
632641 }
@@ -635,11 +644,15 @@ public void wakeWhenReadyTq(int keyCode) {
635644 public void verifyUnlock () {
636645 SecurityMode securityMode = mSecurityModel .getSecurityMode ();
637646 if (securityMode == KeyguardSecurityModel .SecurityMode .None ) {
638- mViewMediatorCallback .keyguardDone (true );
647+ if (mViewMediatorCallback != null ) {
648+ mViewMediatorCallback .keyguardDone (true );
649+ }
639650 } else if (securityMode != KeyguardSecurityModel .SecurityMode .Pattern
640651 && securityMode != KeyguardSecurityModel .SecurityMode .Password ) {
641652 // can only verify unlock when in pattern/password mode
642- mViewMediatorCallback .keyguardDone (false );
653+ if (mViewMediatorCallback != null ) {
654+ mViewMediatorCallback .keyguardDone (false );
655+ }
643656 } else {
644657 // otherwise, go to the unlock screen, see if they can verify it
645658 mIsVerifyUnlockOnly = true ;
0 commit comments