summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/biometrics/face/FaceService.java18
1 files changed, 17 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/biometrics/face/FaceService.java b/services/core/java/com/android/server/biometrics/face/FaceService.java
index e5a1898459a2..281f4b6b1d51 100644
--- a/services/core/java/com/android/server/biometrics/face/FaceService.java
+++ b/services/core/java/com/android/server/biometrics/face/FaceService.java
@@ -33,6 +33,7 @@ import android.content.Intent;
import android.content.pm.UserInfo;
import android.hardware.biometrics.BiometricAuthenticator;
import android.hardware.biometrics.BiometricConstants;
+import android.hardware.biometrics.BiometricFaceConstants;
import android.hardware.biometrics.BiometricsProtoEnums;
import android.hardware.biometrics.IBiometricServiceLockoutResetCallback;
import android.hardware.biometrics.IBiometricServiceReceiverInternal;
@@ -604,6 +605,8 @@ public class FaceService extends BiometricServiceBase {
return false;
}
+ getFeature(userId, BiometricFaceConstants.FEATURE_REQUIRE_ATTENTION,
+ null /* receiver */, opPackageName);
return FaceService.this.hasEnrolledBiometrics(userId);
}
@@ -692,7 +695,20 @@ public class FaceService extends BiometricServiceBase {
if (mDaemon != null) {
try {
OptionalBool result = mDaemon.getFeature(feature, faceId);
- receiver.onFeatureGet(result.status == Status.OK, feature, result.value);
+ if (receiver != null) {
+ receiver.onFeatureGet(result.status == Status.OK,
+ feature, result.value);
+ }
+
+ if (result.status == Status.OK
+ && feature == BiometricFaceConstants.FEATURE_REQUIRE_ATTENTION) {
+ final int settingsValue = result.value ? 1 : 0;
+ Slog.d(TAG, "Updating attention value for user: " + mCurrentUserId
+ + " to value: " + settingsValue);
+ Settings.Secure.putIntForUser(getContext().getContentResolver(),
+ Settings.Secure.FACE_UNLOCK_ATTENTION_REQUIRED,
+ settingsValue, mCurrentUserId);
+ }
} catch (RemoteException e) {
Slog.e(getTag(), "Unable to getRequireAttention", e);
}