summaryrefslogtreecommitdiff
path: root/core/java/android/app/KeyguardManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/app/KeyguardManager.java')
-rw-r--r--core/java/android/app/KeyguardManager.java41
1 files changed, 20 insertions, 21 deletions
diff --git a/core/java/android/app/KeyguardManager.java b/core/java/android/app/KeyguardManager.java
index b5e507458a30..62820ad5a4d6 100644
--- a/core/java/android/app/KeyguardManager.java
+++ b/core/java/android/app/KeyguardManager.java
@@ -1032,9 +1032,7 @@ public class KeyguardManager {
return false;
}
boolean success;
- try {
- LockscreenCredential credential = createLockscreenCredential(
- lockType, password);
+ try (LockscreenCredential credential = createLockscreenCredential(lockType, password)) {
success = mLockPatternUtils.setLockCredential(
credential,
/* savedPassword= */ LockscreenCredential.createNone(),
@@ -1213,19 +1211,20 @@ public class KeyguardManager {
public boolean setLock(@LockTypes int newLockType, @Nullable byte[] newPassword,
@LockTypes int currentLockType, @Nullable byte[] currentPassword) {
final int userId = mContext.getUserId();
- LockscreenCredential currentCredential = createLockscreenCredential(
+ try (LockscreenCredential currentCredential = createLockscreenCredential(
currentLockType, currentPassword);
- LockscreenCredential newCredential = createLockscreenCredential(
- newLockType, newPassword);
- PasswordMetrics adminMetrics =
- mLockPatternUtils.getRequestedPasswordMetrics(mContext.getUserId());
- List<PasswordValidationError> errors = PasswordMetrics.validateCredential(adminMetrics,
- DevicePolicyManager.PASSWORD_COMPLEXITY_NONE, newCredential);
- if (!errors.isEmpty()) {
- Log.e(TAG, "New credential is not valid: " + errors.get(0));
- return false;
+ LockscreenCredential newCredential = createLockscreenCredential(
+ newLockType, newPassword)) {
+ PasswordMetrics adminMetrics =
+ mLockPatternUtils.getRequestedPasswordMetrics(mContext.getUserId());
+ List<PasswordValidationError> errors = PasswordMetrics.validateCredential(adminMetrics,
+ DevicePolicyManager.PASSWORD_COMPLEXITY_NONE, newCredential);
+ if (!errors.isEmpty()) {
+ Log.e(TAG, "New credential is not valid: " + errors.get(0));
+ return false;
+ }
+ return mLockPatternUtils.setLockCredential(newCredential, currentCredential, userId);
}
- return mLockPatternUtils.setLockCredential(newCredential, currentCredential, userId);
}
/**
@@ -1244,14 +1243,14 @@ public class KeyguardManager {
Manifest.permission.ACCESS_KEYGUARD_SECURE_STORAGE
})
public boolean checkLock(@LockTypes int lockType, @Nullable byte[] password) {
- final LockscreenCredential credential = createLockscreenCredential(
- lockType, password);
- final VerifyCredentialResponse response = mLockPatternUtils.verifyCredential(
- credential, mContext.getUserId(), /* flags= */ 0);
- if (response == null) {
- return false;
+ try (LockscreenCredential credential = createLockscreenCredential(lockType, password)) {
+ final VerifyCredentialResponse response = mLockPatternUtils.verifyCredential(
+ credential, mContext.getUserId(), /* flags= */ 0);
+ if (response == null) {
+ return false;
+ }
+ return response.getResponseCode() == VerifyCredentialResponse.RESPONSE_OK;
}
- return response.getResponseCode() == VerifyCredentialResponse.RESPONSE_OK;
}
/** Starts a session to verify lockscreen credentials provided by a remote device.