diff --git a/core/java/android/hardware/face/FaceManager.java b/core/java/android/hardware/face/FaceManager.java index 31f3b6aef2513..06edf66f4ea53 100644 --- a/core/java/android/hardware/face/FaceManager.java +++ b/core/java/android/hardware/face/FaceManager.java @@ -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: - case FACE_ACQUIRED_PAN_TOO_EXTREME: - case 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. + 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_roll_too_extreme); case FACE_ACQUIRED_INSUFFICIENT: return context.getString(R.string.face_acquired_insufficient); case FACE_ACQUIRED_TOO_BRIGHT: @@ -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: { @@ -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); diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 824dd8be01606..a4be0b9e01dcd 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -1798,45 +1798,57 @@ Visit a repair provider. - Couldn\u2019t capture accurate face data. Try again. + Can\u2019t create your face model. Try again. Too bright. Try gentler lighting. - Too dark. Try brighter lighting. + Try brighter lighting - Move phone farther away. + Move phone farther away - Move phone closer. + Move phone closer - Move phone higher. + Move phone higher - Move phone lower. + Move phone lower - Move phone to the left. + Move phone to your left - Move phone to the right. + Move phone to your right Please look more directly at your device. - - Position your face directly in front of the phone. + + Can\u2019t see your face. Hold your phone at eye level. Too much motion. Hold phone steady. Please re-enroll your face. - No longer able to recognize face. Try again. + Can\u2019t recognize face. Try again. - Too similar, please change your pose. + Change the position of your head slightly - Turn your head a little less. + Look more directly at your phone - Tilt your head a little less. + Look more directly at your phone - Turn your head a little less. + Look more directly at your phone Remove anything hiding your face. Clean the top of your screen, including the black bar + + Your face must be fully visible + + Your face must be fully visible + + + Can\u2019t create your face model. Try again. + + Dark glasses detected. Your face must be fully visible. + + Face covering detected. Your face must be fully visible. + diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 3a08db62d3d57..c3c656ab94ab7 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2657,6 +2657,11 @@ + + + + +