From 68c12f2e0466505fffaa5cf694376f7192ed3c74 Mon Sep 17 00:00:00 2001 From: Curtis Belmonte Date: Tue, 29 Jun 2021 16:38:39 -0700 Subject: [PATCH] Add "eyes open" setting message to face enroll intro Adds an additional message about the "Require eyes to be open" setting for Face Unlock to the intro/consent screen of enrollment, gated by a config flag. Test: Manual Bug: 192272785 Change-Id: Idcd2395a290b74f4578898fdfebd05b81cd74075 --- res/layout/face_enroll_introduction.xml | 22 +++++++++++++++++++ res/values/config.xml | 3 +++ res/values/strings.xml | 5 +++++ .../face/FaceEnrollIntroduction.java | 20 ++++++++++++++++- .../face/FaceEnrollParentalConsent.java | 6 +++++ 5 files changed, 55 insertions(+), 1 deletion(-) 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 d59ae9d8e65..dcec2fed5f3 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -799,6 +799,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() {