public void keyguardDone(boolean authenticated, boolean wakeup) {
    synchronized (this) {
      EventLog.writeEvent(70000, 2);
      if (DEBUG) Log.d(TAG, "keyguardDone(" + authenticated + ")");
      Message msg = mHandler.obtainMessage(KEYGUARD_DONE);
      msg.arg1 = wakeup ? 1 : 0;
      mHandler.sendMessage(msg);

      if (authenticated) {
        mUpdateMonitor.clearFailedAttempts();
      }

      if (mExitSecureCallback != null) {
        mExitSecureCallback.onKeyguardExitResult(authenticated);
        mExitSecureCallback = null;

        if (authenticated) {
          // after succesfully exiting securely, no need to reshow
          // the keyguard when they've released the lock
          mExternallyEnabled = true;
          mNeedToReshowWhenReenabled = false;
        }
      }
    }
  }