public void onGestureDetected(Gesture gesture) {
            if (mLockPatternUtils.checkGesture(gesture)) {

              Intent intent = new Intent();
              getActivity().setResult(Activity.RESULT_OK, intent);
              getActivity().finish();
            } else {
              if (++mNumWrongConfirmAttempts >= LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT) {
                long deadline = mLockPatternUtils.setLockoutAttemptDeadline();
                handleAttemptLockout(deadline);
              } else {
                updateStage(Stage.NeedToUnlockWrong);
                postClearPatternRunnable();
              }
            }
          }
コード例 #2
0
 protected void verifyPasswordAndUnlock() {
   String entry = mPasswordEntry.getText().toString();
   if (mLockPatternUtils.checkPassword(entry)) {
     mCallback.reportSuccessfulUnlockAttempt();
     mCallback.dismiss(true);
   } else if (entry.length() > MINIMUM_PASSWORD_LENGTH_BEFORE_REPORT) {
     // to avoid accidental lockout, only count attempts that are long enough to be a
     // real password. This may require some tweaking.
     mCallback.reportFailedUnlockAttempt();
     if (0 == (mCallback.getFailedAttempts() % LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT)) {
       long deadline = mLockPatternUtils.setLockoutAttemptDeadline();
       handleAttemptLockout(deadline);
     }
     mSecurityMessageDisplay.setMessage(getWrongPasswordStringId(), true);
   }
   mPasswordEntry.setText("");
 }
コード例 #3
0
 private void verifyPasswordAndUnlock() {
   String entry = mPasswordEntry.getText().toString();
   if (mLockPatternUtils.checkPassword(entry)) {
     mCallback.keyguardDone(true);
     mCallback.reportSuccessfulUnlockAttempt();
     mStatusViewManager.setInstructionText(null);
     KeyStore.getInstance().password(entry);
   } else if (entry.length() > MINIMUM_PASSWORD_LENGTH_BEFORE_REPORT) {
     // to avoid accidental lockout, only count attempts that are long enough to be a
     // real password. This may require some tweaking.
     mCallback.reportFailedUnlockAttempt();
     if (0
         == (mUpdateMonitor.getFailedAttempts()
             % LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT)) {
       long deadline = mLockPatternUtils.setLockoutAttemptDeadline();
       handleAttemptLockout(deadline);
     }
     mStatusViewManager.setInstructionText(mContext.getString(R.string.lockscreen_password_wrong));
   } else if (entry.length() > 0) {
     mStatusViewManager.setInstructionText(mContext.getString(R.string.lockscreen_password_wrong));
   }
   mPasswordEntry.setText("");
 }
コード例 #4
0
          public void onPatternDetected(List<LockPatternView.Cell> pattern) {
            mLockPatternView.setLockPatternSize(mLockPatternUtils.getLockPatternSize());
            if (mLockPatternUtils.checkPattern(pattern)) {

              Intent intent = new Intent();
              intent.putExtra(
                  ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD,
                  LockPatternUtils.patternToString(pattern));

              getActivity().setResult(Activity.RESULT_OK, intent);
              getActivity().finish();
            } else {
              if (pattern.size() >= LockPatternUtils.MIN_PATTERN_REGISTER_FAIL
                  && ++mNumWrongConfirmAttempts
                      >= LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT) {
                long deadline = mLockPatternUtils.setLockoutAttemptDeadline();
                handleAttemptLockout(deadline);
              } else {
                updateStage(Stage.NeedToUnlockWrong);
                postClearPatternRunnable();
              }
            }
          }