diff options
| -rw-r--r-- | services/core/java/com/android/server/biometrics/face/FaceService.java | 18 |
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); } |