pipe auth token through confirm and set password
ConfirmDeviceCredentialsActivity and ChooseLockGeneric now understand CLSH.EXTRA_KEY_HAS_CHALLENGE and CLSH.EXTRA_KEY_CHALLENGE in their launching intents. If present, they return a hw_auth_token_t verifying the challenge passed in as a field in keyed by CLSH.EXTRA_KEY_CHALLENGE_TOKEN in their result intents. Change-Id: I0b4e02b6a798a9e57d02522880a180dffadfcde1
This commit is contained in:
@@ -273,8 +273,35 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
|
||||
}
|
||||
|
||||
public void onPatternDetected(List<LockPatternView.Cell> pattern) {
|
||||
if (mLockPatternUtils.checkPattern(pattern)) {
|
||||
final boolean verifyChallenge = getActivity().getIntent().getBooleanExtra(
|
||||
ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false);
|
||||
boolean matched = false;
|
||||
Intent intent = new Intent();
|
||||
if (verifyChallenge) {
|
||||
if (getActivity() instanceof ConfirmLockPattern.InternalActivity) {
|
||||
long challenge = getActivity().getIntent().getLongExtra(
|
||||
ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, 0);
|
||||
byte[] token = mLockPatternUtils.verifyPattern(pattern, challenge);
|
||||
if (token != null) {
|
||||
matched = true;
|
||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
|
||||
}
|
||||
}
|
||||
} else if (mLockPatternUtils.checkPattern(pattern)) {
|
||||
matched = true;
|
||||
if (getActivity() instanceof ConfirmLockPattern.InternalActivity) {
|
||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_TYPE,
|
||||
StorageManager.CRYPT_TYPE_PATTERN);
|
||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD,
|
||||
LockPatternUtils.patternToString(pattern));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (matched) {
|
||||
authenticationSucceeded(LockPatternUtils.patternToString(pattern));
|
||||
getActivity().setResult(Activity.RESULT_OK, intent);
|
||||
getActivity().finish();
|
||||
} else {
|
||||
if (pattern.size() >= LockPatternUtils.MIN_PATTERN_REGISTER_FAIL &&
|
||||
++mNumWrongConfirmAttempts
|
||||
|
Reference in New Issue
Block a user