diff --git a/res/layout/face_enroll_introduction.xml b/res/layout/face_enroll_introduction.xml
index c9c4d23f578..c1c9ac6ad85 100644
--- a/res/layout/face_enroll_introduction.xml
+++ b/res/layout/face_enroll_introduction.xml
@@ -107,6 +107,28 @@
style="@style/BiometricEnrollIntroMessage" />
+
+
+
+
+
+
+
+
+ true
+
false
diff --git a/res/values/strings.xml b/res/values/strings.xml
index c9e8ae553bf..6fb83193fe1 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -796,6 +796,11 @@
+
+
+
+
+
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
index 91cc3a9bfdc..bee1acacf10 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
@@ -24,6 +24,7 @@ import android.hardware.face.FaceSensorPropertiesInternal;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
+import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
@@ -74,11 +75,13 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ // Apply extracted theme color to icons.
final ImageView iconGlasses = findViewById(R.id.icon_glasses);
final ImageView iconLooking = findViewById(R.id.icon_looking);
iconGlasses.getBackground().setColorFilter(getIconColorFilter());
iconLooking.getBackground().setColorFilter(getIconColorFilter());
+ // Set text for views with multiple variations.
final TextView infoMessageGlasses = findViewById(R.id.info_message_glasses);
final TextView infoMessageLooking = findViewById(R.id.info_message_looking);
final TextView howMessage = findViewById(R.id.how_message);
@@ -86,10 +89,20 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {
final TextView inControlMessage = findViewById(R.id.message_in_control);
infoMessageGlasses.setText(getInfoMessageGlasses());
infoMessageLooking.setText(getInfoMessageLooking());
- howMessage.setText(getHowMessage());
inControlTitle.setText(getInControlTitle());
+ howMessage.setText(getHowMessage());
inControlMessage.setText(getInControlMessage());
+ // Set up and show the "require eyes" info section if necessary.
+ if (getResources().getBoolean(R.bool.config_face_intro_show_require_eyes)) {
+ final LinearLayout infoRowRequireEyes = findViewById(R.id.info_row_require_eyes);
+ final ImageView iconRequireEyes = findViewById(R.id.icon_require_eyes);
+ final TextView infoMessageRequireEyes = findViewById(R.id.info_message_require_eyes);
+ infoRowRequireEyes.setVisibility(View.VISIBLE);
+ iconRequireEyes.getBackground().setColorFilter(getIconColorFilter());
+ infoMessageRequireEyes.setText(getInfoMessageRequireEyes());
+ }
+
mFaceManager = Utils.getFaceManagerOrNull(this);
mFaceFeatureProvider = FeatureFactory.getFactory(getApplicationContext())
.getFaceFeatureProvider();
@@ -126,6 +139,11 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {
return R.string.security_settings_face_enroll_introduction_info_looking;
}
+ @StringRes
+ protected int getInfoMessageRequireEyes() {
+ return R.string.security_settings_face_enroll_introduction_info_gaze;
+ }
+
@StringRes
protected int getHowMessage() {
return R.string.security_settings_face_enroll_introduction_how_message;
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java b/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java
index 7a60a94ad55..81043dc03a6 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java
@@ -80,6 +80,12 @@ public class FaceEnrollParentalConsent extends FaceEnrollIntroduction {
return R.string.security_settings_face_enroll_introduction_info_consent_looking;
}
+ @Override
+ @StringRes
+ protected int getInfoMessageRequireEyes() {
+ return R.string.security_settings_face_enroll_introduction_info_consent_gaze;
+ }
+
@Override
@StringRes
protected int getHowMessage() {