Loading core/java/android/hardware/face/FaceManager.java +19 −5 Original line number Diff line number Diff line Loading @@ -1363,19 +1363,27 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan // Consolidate positional feedback to reduce noise during authentication. case FACE_ACQUIRED_NOT_DETECTED: return context.getString(R.string.face_acquired_not_detected); case FACE_ACQUIRED_TOO_CLOSE: return context.getString(R.string.face_acquired_too_close); case FACE_ACQUIRED_TOO_FAR: return context.getString(R.string.face_acquired_too_far); case FACE_ACQUIRED_TOO_HIGH: return context.getString(R.string.face_acquired_too_high); case FACE_ACQUIRED_TOO_LOW: return context.getString(R.string.face_acquired_too_low); case FACE_ACQUIRED_TOO_RIGHT: return context.getString(R.string.face_acquired_too_right); case FACE_ACQUIRED_TOO_LEFT: return context.getString(R.string.face_acquired_too_left); case FACE_ACQUIRED_POOR_GAZE: return context.getString(R.string.face_acquired_poor_gaze); case FACE_ACQUIRED_PAN_TOO_EXTREME: return context.getString(R.string.face_acquired_pan_too_extreme); case FACE_ACQUIRED_TILT_TOO_EXTREME: return context.getString(R.string.face_acquired_tilt_too_extreme); case FACE_ACQUIRED_ROLL_TOO_EXTREME: return context.getString(R.string.face_acquired_poor_gaze); // Provide more detailed feedback for other soft errors. return context.getString(R.string.face_acquired_roll_too_extreme); case FACE_ACQUIRED_INSUFFICIENT: return context.getString(R.string.face_acquired_insufficient); case FACE_ACQUIRED_TOO_BRIGHT: Loading @@ -1394,6 +1402,10 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan return context.getString(R.string.face_acquired_obscured); case FACE_ACQUIRED_SENSOR_DIRTY: return context.getString(R.string.face_acquired_sensor_dirty); case FACE_ACQUIRED_DARK_GLASSES_DETECTED: return context.getString(R.string.face_acquired_dark_glasses_detected); case FACE_ACQUIRED_MOUTH_COVERING_DETECTED: return context.getString(R.string.face_acquired_mouth_covering_detected); // Find and return the appropriate vendor-specific message. case FACE_ACQUIRED_VENDOR: { Loading Loading @@ -1459,11 +1471,13 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan case FACE_ACQUIRED_ROLL_TOO_EXTREME: return context.getString(R.string.face_acquired_roll_too_extreme); case FACE_ACQUIRED_FACE_OBSCURED: case FACE_ACQUIRED_DARK_GLASSES_DETECTED: case FACE_ACQUIRED_MOUTH_COVERING_DETECTED: return context.getString(R.string.face_acquired_obscured); case FACE_ACQUIRED_SENSOR_DIRTY: return context.getString(R.string.face_acquired_sensor_dirty); case FACE_ACQUIRED_DARK_GLASSES_DETECTED: return context.getString(R.string.face_acquired_dark_glasses_detected); case FACE_ACQUIRED_MOUTH_COVERING_DETECTED: return context.getString(R.string.face_acquired_mouth_covering_detected); case FACE_ACQUIRED_VENDOR: { String[] msgArray = context.getResources().getStringArray( R.array.face_acquired_vendor); Loading core/res/res/values/strings.xml +27 −15 Original line number Diff line number Diff line Loading @@ -1798,45 +1798,57 @@ <string name="fingerprint_recalibrate_notification_content">Visit a repair provider.</string> <!-- Message shown during face acquisition when the face cannot be recognized [CHAR LIMIT=50] --> <string name="face_acquired_insufficient">Couldn\u2019t capture accurate face data. Try again.</string> <string name="face_acquired_insufficient">Can\u2019t create your face model. Try again.</string> <!-- Message shown during face acquisition when the image is too bright [CHAR LIMIT=50] --> <string name="face_acquired_too_bright">Too bright. Try gentler lighting.</string> <!-- Message shown during face acquisition when the image is too dark [CHAR LIMIT=50] --> <string name="face_acquired_too_dark">Too dark. Try brighter lighting.</string> <string name="face_acquired_too_dark">Try brighter lighting</string> <!-- Message shown during face acquisition when the user is too close to sensor [CHAR LIMIT=50] --> <string name="face_acquired_too_close">Move phone farther away.</string> <string name="face_acquired_too_close">Move phone farther away</string> <!-- Message shown during face acquisition when the user is too far from sensor [CHAR LIMIT=50] --> <string name="face_acquired_too_far">Move phone closer.</string> <string name="face_acquired_too_far">Move phone closer</string> <!-- Message shown during face acquisition when the user is too high relatively to sensor [CHAR LIMIT=50] --> <string name="face_acquired_too_high">Move phone higher.</string> <string name="face_acquired_too_high">Move phone higher</string> <!-- Message shown during face acquisition when the user is too low relatively to sensor [CHAR LIMIT=50] --> <string name="face_acquired_too_low">Move phone lower.</string> <string name="face_acquired_too_low">Move phone lower</string> <!-- Message shown during face acquisition when only the right part of the user's face was detected [CHAR LIMIT=50] --> <string name="face_acquired_too_right">Move phone to the left.</string> <string name="face_acquired_too_right">Move phone to your left</string> <!-- Message shown during face acquisition when only the left part of the user's face was detected [CHAR LIMIT=50] --> <string name="face_acquired_too_left">Move phone to the right.</string> <string name="face_acquired_too_left">Move phone to your right</string> <!-- Message shown during face acquisition when the user is not front facing the sensor [CHAR LIMIT=50] --> <string name="face_acquired_poor_gaze">Please look more directly at your device.</string> <!-- Message shown during face acquisition when the user is not detected [CHAR LIMIT=50] --> <string name="face_acquired_not_detected">Position your face directly in front of the phone.</string> <!-- Message shown during face acquisition when the user is not detected [CHAR LIMIT=75] --> <string name="face_acquired_not_detected">Can\u2019t see your face. Hold your phone at eye level.</string> <!-- Message shown during face acquisition when the device is not steady [CHAR LIMIT=50] --> <string name="face_acquired_too_much_motion">Too much motion. Hold phone steady.</string> <!-- Message shown during face acquisition when the sensor needs to be recalibrated [CHAR LIMIT=50] --> <string name="face_acquired_recalibrate">Please re-enroll your face.</string> <!-- Message shown during face enrollment when a different person's face is detected [CHAR LIMIT=50] --> <string name="face_acquired_too_different">No longer able to recognize face. Try again.</string> <string name="face_acquired_too_different">Can\u2019t recognize face. Try again.</string> <!-- Message shown during face enrollment when the face is too similar to a previous acquisition [CHAR LIMIT=50] --> <string name="face_acquired_too_similar">Too similar, please change your pose.</string> <string name="face_acquired_too_similar">Change the position of your head slightly</string> <!-- Message shown during acqusition when the user's face is turned too far left or right [CHAR LIMIT=50] --> <string name="face_acquired_pan_too_extreme">Turn your head a little less.</string> <string name="face_acquired_pan_too_extreme">Look more directly at your phone</string> <!-- Message shown during acqusition when the user's face is tilted too high or too low [CHAR LIMIT=50] --> <string name="face_acquired_tilt_too_extreme">Tilt your head a little less.</string> <string name="face_acquired_tilt_too_extreme">Look more directly at your phone</string> <!-- Message shown during acquisiton when the user's face is tilted too far left or right [CHAR LIMIT=50] --> <string name="face_acquired_roll_too_extreme">Turn your head a little less.</string> <string name="face_acquired_roll_too_extreme">Look more directly at your phone</string> <!-- Message shown during acquisition when the user's face is obscured [CHAR LIMIT=50] --> <string name="face_acquired_obscured">Remove anything hiding your face.</string> <!-- Message shown during acquisition when the sensor is dirty [CHAR LIMIT=100] --> <string name="face_acquired_sensor_dirty">Clean the top of your screen, including the black bar</string> <!-- Message shown during acquisition when dark glasses were detected [CHAR LIMIT=75] --> <string name="face_acquired_dark_glasses_detected">Your face must be fully visible</string> <!-- Message shown during acquisition when a mouth covering was detected [CHAR LIMIT=75] --> <string name="face_acquired_mouth_covering_detected">Your face must be fully visible</string> <!-- Message shown during face acquisition when the sensor needs to be recalibrated [CHAR LIMIT=75] --> <string name="face_acquired_recalibrate_alt">Can\u2019t create your face model. Try again.</string> <!-- Message shown during acquisition when dark glasses were detected [CHAR LIMIT=100] --> <string name="face_acquired_dark_glasses_detected_alt">Dark glasses detected. Your face must be fully visible.</string> <!-- Message shown during acquisition when a mouth covering was detected [CHAR LIMIT=100] --> <string name="face_acquired_mouth_covering_detected_alt">Face covering detected. Your face must be fully visible.</string> <!-- Array containing custom messages shown during face acquisition from vendor. Vendor is expected to add and translate these strings --> <string-array name="face_acquired_vendor"> </string-array> Loading core/res/res/values/symbols.xml +5 −0 Original line number Diff line number Diff line Loading @@ -2656,6 +2656,11 @@ <java-symbol type="string" name="face_acquired_roll_too_extreme" /> <java-symbol type="string" name="face_acquired_obscured" /> <java-symbol type="string" name="face_acquired_sensor_dirty" /> <java-symbol type="string" name="face_acquired_dark_glasses_detected" /> <java-symbol type="string" name="face_acquired_mouth_covering_detected" /> <java-symbol type="string" name="face_acquired_recalibrate_alt" /> <java-symbol type="string" name="face_acquired_dark_glasses_detected_alt" /> <java-symbol type="string" name="face_acquired_mouth_covering_detected_alt" /> <java-symbol type="array" name="face_acquired_vendor" /> <java-symbol type="string" name="face_name_template" /> <java-symbol type="string" name="face_app_setting_name" /> Loading Loading
core/java/android/hardware/face/FaceManager.java +19 −5 Original line number Diff line number Diff line Loading @@ -1363,19 +1363,27 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan // Consolidate positional feedback to reduce noise during authentication. case FACE_ACQUIRED_NOT_DETECTED: return context.getString(R.string.face_acquired_not_detected); case FACE_ACQUIRED_TOO_CLOSE: return context.getString(R.string.face_acquired_too_close); case FACE_ACQUIRED_TOO_FAR: return context.getString(R.string.face_acquired_too_far); case FACE_ACQUIRED_TOO_HIGH: return context.getString(R.string.face_acquired_too_high); case FACE_ACQUIRED_TOO_LOW: return context.getString(R.string.face_acquired_too_low); case FACE_ACQUIRED_TOO_RIGHT: return context.getString(R.string.face_acquired_too_right); case FACE_ACQUIRED_TOO_LEFT: return context.getString(R.string.face_acquired_too_left); case FACE_ACQUIRED_POOR_GAZE: return context.getString(R.string.face_acquired_poor_gaze); case FACE_ACQUIRED_PAN_TOO_EXTREME: return context.getString(R.string.face_acquired_pan_too_extreme); case FACE_ACQUIRED_TILT_TOO_EXTREME: return context.getString(R.string.face_acquired_tilt_too_extreme); case FACE_ACQUIRED_ROLL_TOO_EXTREME: return context.getString(R.string.face_acquired_poor_gaze); // Provide more detailed feedback for other soft errors. return context.getString(R.string.face_acquired_roll_too_extreme); case FACE_ACQUIRED_INSUFFICIENT: return context.getString(R.string.face_acquired_insufficient); case FACE_ACQUIRED_TOO_BRIGHT: Loading @@ -1394,6 +1402,10 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan return context.getString(R.string.face_acquired_obscured); case FACE_ACQUIRED_SENSOR_DIRTY: return context.getString(R.string.face_acquired_sensor_dirty); case FACE_ACQUIRED_DARK_GLASSES_DETECTED: return context.getString(R.string.face_acquired_dark_glasses_detected); case FACE_ACQUIRED_MOUTH_COVERING_DETECTED: return context.getString(R.string.face_acquired_mouth_covering_detected); // Find and return the appropriate vendor-specific message. case FACE_ACQUIRED_VENDOR: { Loading Loading @@ -1459,11 +1471,13 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan case FACE_ACQUIRED_ROLL_TOO_EXTREME: return context.getString(R.string.face_acquired_roll_too_extreme); case FACE_ACQUIRED_FACE_OBSCURED: case FACE_ACQUIRED_DARK_GLASSES_DETECTED: case FACE_ACQUIRED_MOUTH_COVERING_DETECTED: return context.getString(R.string.face_acquired_obscured); case FACE_ACQUIRED_SENSOR_DIRTY: return context.getString(R.string.face_acquired_sensor_dirty); case FACE_ACQUIRED_DARK_GLASSES_DETECTED: return context.getString(R.string.face_acquired_dark_glasses_detected); case FACE_ACQUIRED_MOUTH_COVERING_DETECTED: return context.getString(R.string.face_acquired_mouth_covering_detected); case FACE_ACQUIRED_VENDOR: { String[] msgArray = context.getResources().getStringArray( R.array.face_acquired_vendor); Loading
core/res/res/values/strings.xml +27 −15 Original line number Diff line number Diff line Loading @@ -1798,45 +1798,57 @@ <string name="fingerprint_recalibrate_notification_content">Visit a repair provider.</string> <!-- Message shown during face acquisition when the face cannot be recognized [CHAR LIMIT=50] --> <string name="face_acquired_insufficient">Couldn\u2019t capture accurate face data. Try again.</string> <string name="face_acquired_insufficient">Can\u2019t create your face model. Try again.</string> <!-- Message shown during face acquisition when the image is too bright [CHAR LIMIT=50] --> <string name="face_acquired_too_bright">Too bright. Try gentler lighting.</string> <!-- Message shown during face acquisition when the image is too dark [CHAR LIMIT=50] --> <string name="face_acquired_too_dark">Too dark. Try brighter lighting.</string> <string name="face_acquired_too_dark">Try brighter lighting</string> <!-- Message shown during face acquisition when the user is too close to sensor [CHAR LIMIT=50] --> <string name="face_acquired_too_close">Move phone farther away.</string> <string name="face_acquired_too_close">Move phone farther away</string> <!-- Message shown during face acquisition when the user is too far from sensor [CHAR LIMIT=50] --> <string name="face_acquired_too_far">Move phone closer.</string> <string name="face_acquired_too_far">Move phone closer</string> <!-- Message shown during face acquisition when the user is too high relatively to sensor [CHAR LIMIT=50] --> <string name="face_acquired_too_high">Move phone higher.</string> <string name="face_acquired_too_high">Move phone higher</string> <!-- Message shown during face acquisition when the user is too low relatively to sensor [CHAR LIMIT=50] --> <string name="face_acquired_too_low">Move phone lower.</string> <string name="face_acquired_too_low">Move phone lower</string> <!-- Message shown during face acquisition when only the right part of the user's face was detected [CHAR LIMIT=50] --> <string name="face_acquired_too_right">Move phone to the left.</string> <string name="face_acquired_too_right">Move phone to your left</string> <!-- Message shown during face acquisition when only the left part of the user's face was detected [CHAR LIMIT=50] --> <string name="face_acquired_too_left">Move phone to the right.</string> <string name="face_acquired_too_left">Move phone to your right</string> <!-- Message shown during face acquisition when the user is not front facing the sensor [CHAR LIMIT=50] --> <string name="face_acquired_poor_gaze">Please look more directly at your device.</string> <!-- Message shown during face acquisition when the user is not detected [CHAR LIMIT=50] --> <string name="face_acquired_not_detected">Position your face directly in front of the phone.</string> <!-- Message shown during face acquisition when the user is not detected [CHAR LIMIT=75] --> <string name="face_acquired_not_detected">Can\u2019t see your face. Hold your phone at eye level.</string> <!-- Message shown during face acquisition when the device is not steady [CHAR LIMIT=50] --> <string name="face_acquired_too_much_motion">Too much motion. Hold phone steady.</string> <!-- Message shown during face acquisition when the sensor needs to be recalibrated [CHAR LIMIT=50] --> <string name="face_acquired_recalibrate">Please re-enroll your face.</string> <!-- Message shown during face enrollment when a different person's face is detected [CHAR LIMIT=50] --> <string name="face_acquired_too_different">No longer able to recognize face. Try again.</string> <string name="face_acquired_too_different">Can\u2019t recognize face. Try again.</string> <!-- Message shown during face enrollment when the face is too similar to a previous acquisition [CHAR LIMIT=50] --> <string name="face_acquired_too_similar">Too similar, please change your pose.</string> <string name="face_acquired_too_similar">Change the position of your head slightly</string> <!-- Message shown during acqusition when the user's face is turned too far left or right [CHAR LIMIT=50] --> <string name="face_acquired_pan_too_extreme">Turn your head a little less.</string> <string name="face_acquired_pan_too_extreme">Look more directly at your phone</string> <!-- Message shown during acqusition when the user's face is tilted too high or too low [CHAR LIMIT=50] --> <string name="face_acquired_tilt_too_extreme">Tilt your head a little less.</string> <string name="face_acquired_tilt_too_extreme">Look more directly at your phone</string> <!-- Message shown during acquisiton when the user's face is tilted too far left or right [CHAR LIMIT=50] --> <string name="face_acquired_roll_too_extreme">Turn your head a little less.</string> <string name="face_acquired_roll_too_extreme">Look more directly at your phone</string> <!-- Message shown during acquisition when the user's face is obscured [CHAR LIMIT=50] --> <string name="face_acquired_obscured">Remove anything hiding your face.</string> <!-- Message shown during acquisition when the sensor is dirty [CHAR LIMIT=100] --> <string name="face_acquired_sensor_dirty">Clean the top of your screen, including the black bar</string> <!-- Message shown during acquisition when dark glasses were detected [CHAR LIMIT=75] --> <string name="face_acquired_dark_glasses_detected">Your face must be fully visible</string> <!-- Message shown during acquisition when a mouth covering was detected [CHAR LIMIT=75] --> <string name="face_acquired_mouth_covering_detected">Your face must be fully visible</string> <!-- Message shown during face acquisition when the sensor needs to be recalibrated [CHAR LIMIT=75] --> <string name="face_acquired_recalibrate_alt">Can\u2019t create your face model. Try again.</string> <!-- Message shown during acquisition when dark glasses were detected [CHAR LIMIT=100] --> <string name="face_acquired_dark_glasses_detected_alt">Dark glasses detected. Your face must be fully visible.</string> <!-- Message shown during acquisition when a mouth covering was detected [CHAR LIMIT=100] --> <string name="face_acquired_mouth_covering_detected_alt">Face covering detected. Your face must be fully visible.</string> <!-- Array containing custom messages shown during face acquisition from vendor. Vendor is expected to add and translate these strings --> <string-array name="face_acquired_vendor"> </string-array> Loading
core/res/res/values/symbols.xml +5 −0 Original line number Diff line number Diff line Loading @@ -2656,6 +2656,11 @@ <java-symbol type="string" name="face_acquired_roll_too_extreme" /> <java-symbol type="string" name="face_acquired_obscured" /> <java-symbol type="string" name="face_acquired_sensor_dirty" /> <java-symbol type="string" name="face_acquired_dark_glasses_detected" /> <java-symbol type="string" name="face_acquired_mouth_covering_detected" /> <java-symbol type="string" name="face_acquired_recalibrate_alt" /> <java-symbol type="string" name="face_acquired_dark_glasses_detected_alt" /> <java-symbol type="string" name="face_acquired_mouth_covering_detected_alt" /> <java-symbol type="array" name="face_acquired_vendor" /> <java-symbol type="string" name="face_name_template" /> <java-symbol type="string" name="face_app_setting_name" /> Loading