summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Roos <roosa@google.com>2015-08-25 15:59:00 -0700
committerAdrian Roos <roosa@google.com>2015-08-25 15:59:00 -0700
commit873010dfeea11e0f9982c66ad9bdc990d055b129 (patch)
treee45e2ae06329e05aa35dcf114b6ce62e73bb70d0
parent26b555d42ce2cf78d42ebcc9806447bf83df9318 (diff)
downloadframeworks_base-873010dfeea11e0f9982c66ad9bdc990d055b129.zip
frameworks_base-873010dfeea11e0f9982c66ad9bdc990d055b129.tar.gz
frameworks_base-873010dfeea11e0f9982c66ad9bdc990d055b129.tar.bz2
Disable fingerprint after user lockout
Bug: 22677859 Change-Id: I38b918d2e40b5bb423f2e5c171fe65bed8d440a6
-rw-r--r--core/java/com/android/internal/widget/LockPatternUtils.java6
-rw-r--r--services/core/java/com/android/server/LockSettingsService.java6
2 files changed, 12 insertions, 0 deletions
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
index b3871f1..d24b10b 100644
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
@@ -1275,6 +1275,12 @@ public class LockPatternUtils {
*/
public static final int SOME_AUTH_REQUIRED_AFTER_USER_REQUEST = 0x4;
+ /**
+ * Strong authentication is required because the user has been locked out after too many
+ * attempts.
+ */
+ public static final int STRONG_AUTH_REQUIRED_AFTER_LOCKOUT = 0x8;
+
public static final int DEFAULT = STRONG_AUTH_REQUIRED_AFTER_BOOT;
private static final int ALLOWING_FINGERPRINT = SOME_AUTH_REQUIRED_AFTER_USER_REQUEST;
diff --git a/services/core/java/com/android/server/LockSettingsService.java b/services/core/java/com/android/server/LockSettingsService.java
index 005d6a4..f1d7da4 100644
--- a/services/core/java/com/android/server/LockSettingsService.java
+++ b/services/core/java/com/android/server/LockSettingsService.java
@@ -29,6 +29,8 @@ import android.content.pm.UserInfo;
import static android.Manifest.permission.ACCESS_KEYGUARD_SECURE_STORAGE;
import static android.content.Context.USER_SERVICE;
import static android.Manifest.permission.READ_CONTACTS;
+import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_LOCKOUT;
+
import android.database.sqlite.SQLiteDatabase;
import android.os.Binder;
import android.os.IBinder;
@@ -664,6 +666,10 @@ public class LockSettingsService extends ILockSettings.Stub {
if (shouldReEnroll) {
credentialUtil.setCredential(credential, credential, userId);
}
+ } else if (response.getResponseCode() == VerifyCredentialResponse.RESPONSE_RETRY) {
+ if (response.getTimeout() > 0) {
+ requireStrongAuth(STRONG_AUTH_REQUIRED_AFTER_LOCKOUT, userId);
+ }
}
return response;