Loading services/core/java/com/android/server/biometrics/biometrics.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -6,3 +6,10 @@ flag { description: "This flag controls tunscany virtual HAL feature" bug: "294254230" } flag { name: "de_hidl" namespace: "biometrics_framework" description: "feature flag for biometrics de-hidl" bug: "287332354" } No newline at end of file services/core/java/com/android/server/biometrics/sensors/AuthenticationClient.java +19 −1 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.util.EventLog; import android.util.Slog; import com.android.server.biometrics.BiometricsProto; import com.android.server.biometrics.Flags; import com.android.server.biometrics.Utils; import com.android.server.biometrics.log.BiometricContext; import com.android.server.biometrics.log.BiometricLogger; Loading Loading @@ -116,8 +117,25 @@ public abstract class AuthenticationClient<T, O extends AuthenticateOptions> @LockoutTracker.LockoutMode public int handleFailedAttempt(int userId) { if (Flags.deHidl()) { if (mLockoutTracker != null) { mLockoutTracker.addFailedAttemptForUser(getTargetUserId()); } @LockoutTracker.LockoutMode final int lockoutMode = getLockoutTracker().getLockoutModeForUser(userId); final PerformanceTracker performanceTracker = PerformanceTracker.getInstanceForSensorId(getSensorId()); if (lockoutMode == LockoutTracker.LOCKOUT_PERMANENT) { performanceTracker.incrementPermanentLockoutForUser(userId); } else if (lockoutMode == LockoutTracker.LOCKOUT_TIMED) { performanceTracker.incrementTimedLockoutForUser(userId); } return lockoutMode; } else { return LockoutTracker.LOCKOUT_NONE; } } protected long getStartTimeMs() { return mStartTimeMs; Loading services/core/java/com/android/server/biometrics/sensors/BiometricScheduler.java +9 −0 Original line number Diff line number Diff line Loading @@ -586,4 +586,13 @@ public class BiometricScheduler { } }, 10000); } /** * Handle stop user client when user switching occurs. */ public void onUserStopped() {} public Handler getHandler() { return mHandler; } } services/core/java/com/android/server/biometrics/sensors/LockoutCache.java +1 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ public class LockoutCache implements LockoutTracker { mUserLockoutStates = new SparseIntArray(); } @Override public void setLockoutModeForUser(int userId, @LockoutMode int mode) { Slog.d(TAG, "Lockout for user: " + userId + " is " + mode); synchronized (this) { Loading services/core/java/com/android/server/biometrics/sensors/LockoutTracker.java +3 −0 Original line number Diff line number Diff line Loading @@ -35,4 +35,7 @@ public interface LockoutTracker { @interface LockoutMode {} @LockoutMode int getLockoutModeForUser(int userId); void setLockoutModeForUser(int userId, @LockoutMode int mode); default void resetFailedAttemptsForUser(boolean clearAttemptCounter, int userId) {} default void addFailedAttemptForUser(int userId) {} } Loading
services/core/java/com/android/server/biometrics/biometrics.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -6,3 +6,10 @@ flag { description: "This flag controls tunscany virtual HAL feature" bug: "294254230" } flag { name: "de_hidl" namespace: "biometrics_framework" description: "feature flag for biometrics de-hidl" bug: "287332354" } No newline at end of file
services/core/java/com/android/server/biometrics/sensors/AuthenticationClient.java +19 −1 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.util.EventLog; import android.util.Slog; import com.android.server.biometrics.BiometricsProto; import com.android.server.biometrics.Flags; import com.android.server.biometrics.Utils; import com.android.server.biometrics.log.BiometricContext; import com.android.server.biometrics.log.BiometricLogger; Loading Loading @@ -116,8 +117,25 @@ public abstract class AuthenticationClient<T, O extends AuthenticateOptions> @LockoutTracker.LockoutMode public int handleFailedAttempt(int userId) { if (Flags.deHidl()) { if (mLockoutTracker != null) { mLockoutTracker.addFailedAttemptForUser(getTargetUserId()); } @LockoutTracker.LockoutMode final int lockoutMode = getLockoutTracker().getLockoutModeForUser(userId); final PerformanceTracker performanceTracker = PerformanceTracker.getInstanceForSensorId(getSensorId()); if (lockoutMode == LockoutTracker.LOCKOUT_PERMANENT) { performanceTracker.incrementPermanentLockoutForUser(userId); } else if (lockoutMode == LockoutTracker.LOCKOUT_TIMED) { performanceTracker.incrementTimedLockoutForUser(userId); } return lockoutMode; } else { return LockoutTracker.LOCKOUT_NONE; } } protected long getStartTimeMs() { return mStartTimeMs; Loading
services/core/java/com/android/server/biometrics/sensors/BiometricScheduler.java +9 −0 Original line number Diff line number Diff line Loading @@ -586,4 +586,13 @@ public class BiometricScheduler { } }, 10000); } /** * Handle stop user client when user switching occurs. */ public void onUserStopped() {} public Handler getHandler() { return mHandler; } }
services/core/java/com/android/server/biometrics/sensors/LockoutCache.java +1 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ public class LockoutCache implements LockoutTracker { mUserLockoutStates = new SparseIntArray(); } @Override public void setLockoutModeForUser(int userId, @LockoutMode int mode) { Slog.d(TAG, "Lockout for user: " + userId + " is " + mode); synchronized (this) { Loading
services/core/java/com/android/server/biometrics/sensors/LockoutTracker.java +3 −0 Original line number Diff line number Diff line Loading @@ -35,4 +35,7 @@ public interface LockoutTracker { @interface LockoutMode {} @LockoutMode int getLockoutModeForUser(int userId); void setLockoutModeForUser(int userId, @LockoutMode int mode); default void resetFailedAttemptsForUser(boolean clearAttemptCounter, int userId) {} default void addFailedAttemptForUser(int userId) {} }