summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Joshua Mccloskey <joshmccloskey@google.com> 2020-10-21 17:23:21 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-10-21 17:23:21 +0000
commit55b11b16c1366bd420fcb4bda1521b43463c8a4f (patch)
tree54cb728601efa5750d36ace90fb660abf65522b3
parent9d0d38228ce6868fed5f5744b0b8c9e260d03d7a (diff)
parent3d1ca9464e9f890c2731083859cc99f352774e97 (diff)
Merge "Update require attention in stats pull service" into rvc-qpr-dev
-rw-r--r--services/core/java/com/android/server/stats/pull/StatsPullAtomService.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
index 70314cac0185..8f3ed7411f17 100644
--- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
+++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
@@ -77,8 +77,10 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PermissionInfo;
import android.content.pm.UserInfo;
+import android.hardware.biometrics.BiometricFaceConstants;
import android.hardware.biometrics.BiometricsProtoEnums;
import android.hardware.face.FaceManager;
+import android.hardware.face.FaceManager.GetFeatureCallback;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.health.V2_0.IHealth;
import android.net.ConnectivityManager;
@@ -3327,9 +3329,30 @@ public class StatsPullAtomService extends SystemService {
try {
List<UserInfo> users = mContext.getSystemService(UserManager.class).getUsers();
int numUsers = users.size();
+ FaceManager faceManager = mContext.getSystemService(FaceManager.class);
+
for (int userNum = 0; userNum < numUsers; userNum++) {
int userId = users.get(userNum).getUserHandle().getIdentifier();
+ if (faceManager != null) {
+ // Store the current setting from the Face HAL, and upon next upload the value
+ // reported will be correct (given the user did not modify it).
+ faceManager.getFeature(userId, BiometricFaceConstants.FEATURE_REQUIRE_ATTENTION,
+ new GetFeatureCallback() {
+ @Override
+ public void onCompleted(boolean success, int feature,
+ boolean value) {
+ if (feature == FaceManager.FEATURE_REQUIRE_ATTENTION
+ && success) {
+ Settings.Secure.putIntForUser(mContext.getContentResolver(),
+ Settings.Secure.FACE_UNLOCK_ATTENTION_REQUIRED,
+ value ? 1 : 0, userId);
+ }
+ }
+ }
+ );
+ }
+
int unlockKeyguardEnabled = Settings.Secure.getIntForUser(
mContext.getContentResolver(),
Settings.Secure.FACE_UNLOCK_KEYGUARD_ENABLED, 1, userId);