Update Face Unlock strings to the latest versions
Makes the following changes to strings related to Face Unlock: - Standardize capitalization of "Face Unlock" - Use latest versions of traffic light face enroll strings - Use latest versions of combined biometrics settings strings - Set SUW description strings programmatically instead of in XML Test: Manually tested Face Unlock traffic light and grid UIs Bug: 183649070 Change-Id: Ie67978ae2630493a5b03b00c3f8a639066ab8f3a
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.biometrics.face;
|
||||
|
||||
import android.annotation.StringRes;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
@@ -39,6 +40,7 @@ import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.google.android.setupcompat.template.FooterBarMixin;
|
||||
import com.google.android.setupcompat.template.FooterButton;
|
||||
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||
import com.google.android.setupdesign.GlifLayout;
|
||||
import com.google.android.setupdesign.view.IllustrationVideoView;
|
||||
|
||||
public class FaceEnrollEducation extends BiometricEnrollBase {
|
||||
@@ -62,22 +64,27 @@ public class FaceEnrollEducation extends BiometricEnrollBase {
|
||||
new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
int titleRes = isChecked ?
|
||||
R.string.security_settings_face_enroll_education_title_accessibility
|
||||
: R.string.security_settings_face_enroll_education_title;
|
||||
getLayout().setHeaderText(titleRes);
|
||||
setTitle(titleRes);
|
||||
final int headerRes;
|
||||
final int descriptionRes;
|
||||
if (isChecked) {
|
||||
headerRes = R.string
|
||||
.security_settings_face_enroll_education_title_accessibility;
|
||||
descriptionRes = R.string
|
||||
.security_settings_face_enroll_education_message_accessibility;
|
||||
} else {
|
||||
headerRes = R.string.security_settings_face_enroll_education_title;
|
||||
descriptionRes = R.string.security_settings_face_enroll_education_message;
|
||||
}
|
||||
updateHeaders(headerRes, descriptionRes);
|
||||
|
||||
if (isChecked) {
|
||||
mIllustrationNormal.stop();
|
||||
mIllustrationNormal.setVisibility(View.INVISIBLE);
|
||||
mIllustrationAccessibility.setVisibility(View.VISIBLE);
|
||||
mDescriptionText.setVisibility(View.INVISIBLE);
|
||||
} else {
|
||||
mIllustrationNormal.setVisibility(View.VISIBLE);
|
||||
mIllustrationNormal.start();
|
||||
mIllustrationAccessibility.setVisibility(View.INVISIBLE);
|
||||
mDescriptionText.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -86,8 +93,11 @@ public class FaceEnrollEducation extends BiometricEnrollBase {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.face_enroll_education);
|
||||
getLayout().setHeaderText(R.string.security_settings_face_enroll_education_title);
|
||||
setTitle(R.string.security_settings_face_enroll_education_title);
|
||||
|
||||
final int headerRes = R.string.security_settings_face_enroll_education_title;
|
||||
final int descriptionRes = R.string.security_settings_face_enroll_education_message;
|
||||
updateHeaders(headerRes, descriptionRes);
|
||||
|
||||
mHandler = new Handler();
|
||||
|
||||
mFaceManager = Utils.getFaceManagerOrNull(this);
|
||||
@@ -237,4 +247,13 @@ public class FaceEnrollEducation extends BiometricEnrollBase {
|
||||
public int getMetricsCategory() {
|
||||
return SettingsEnums.FACE_ENROLL_INTRO;
|
||||
}
|
||||
|
||||
private void updateHeaders(@StringRes int headerRes, @StringRes int descriptionRes) {
|
||||
final CharSequence headerText = getText(headerRes);
|
||||
setTitle(headerText);
|
||||
|
||||
final GlifLayout layout = getLayout();
|
||||
layout.setHeaderText(headerText);
|
||||
layout.setDescriptionText(descriptionRes);
|
||||
}
|
||||
}
|
||||
|
@@ -20,10 +20,10 @@ package com.android.settings.homepage.contextualcards;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.hardware.face.Face;
|
||||
import android.hardware.face.FaceManager;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.app.AlertActivity;
|
||||
@@ -53,11 +53,15 @@ public class FaceReEnrollDialog extends AlertActivity implements
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
final PackageManager pm = getApplicationContext().getPackageManager();
|
||||
final int dialogMessageRes = pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)
|
||||
? R.string.security_settings_face_enroll_improve_face_alert_body_fingerprint
|
||||
: R.string.security_settings_face_enroll_improve_face_alert_body;
|
||||
|
||||
final AlertController.AlertParams alertParams = mAlertParams;
|
||||
alertParams.mTitle = getText(
|
||||
R.string.security_settings_face_enroll_improve_face_alert_title);
|
||||
alertParams.mMessage = getText(
|
||||
R.string.security_settings_face_enroll_improve_face_alert_body);
|
||||
alertParams.mMessage = getText(dialogMessageRes);
|
||||
alertParams.mPositiveButtonText = getText(R.string.storage_menu_set_up);
|
||||
alertParams.mNegativeButtonText = getText(R.string.cancel);
|
||||
alertParams.mPositiveButtonListener = this;
|
||||
|
@@ -23,6 +23,7 @@ import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
|
||||
@@ -77,22 +78,20 @@ public class SetupSkipDialog extends InstrumentedDialogFragment
|
||||
final boolean forBiometrics =
|
||||
args.getBoolean(ChooseLockSettingsHelper.EXTRA_KEY_FOR_BIOMETRICS);
|
||||
if (forFace || forFingerprint || forBiometrics) {
|
||||
final boolean hasFace = forFace || forBiometrics;
|
||||
final boolean hasFingerprint = forFingerprint || forBiometrics;
|
||||
|
||||
final int titleId;
|
||||
|
||||
if (args.getBoolean(ARG_LOCK_TYPE_PATTERN)) {
|
||||
titleId = R.string.lock_screen_pattern_skip_title;
|
||||
} else {
|
||||
titleId = args.getBoolean(ARG_LOCK_TYPE_ALPHANUMERIC) ?
|
||||
R.string.lock_screen_password_skip_title : R.string.lock_screen_pin_skip_title;
|
||||
}
|
||||
|
||||
final int msgResId;
|
||||
if (forBiometrics) {
|
||||
msgResId = R.string.biometrics_lock_screen_setup_skip_dialog_text;
|
||||
} else if (forFace) {
|
||||
msgResId = R.string.face_lock_screen_setup_skip_dialog_text;
|
||||
if (args.getBoolean(ARG_LOCK_TYPE_PATTERN)) {
|
||||
titleId = getPatternSkipTitleRes(hasFace, hasFingerprint);
|
||||
msgResId = getPatternSkipMessageRes(hasFace, hasFingerprint);
|
||||
} else if (args.getBoolean(ARG_LOCK_TYPE_ALPHANUMERIC)) {
|
||||
titleId = getPasswordSkipTitleRes(hasFace, hasFingerprint);
|
||||
msgResId = getPasswordSkipMessageRes(hasFace, hasFingerprint);
|
||||
} else {
|
||||
msgResId = R.string.fingerprint_lock_screen_setup_skip_dialog_text;
|
||||
titleId = getPinSkipTitleRes(hasFace, hasFingerprint);
|
||||
msgResId = getPinSkipMessageRes(hasFace, hasFingerprint);
|
||||
}
|
||||
|
||||
return new AlertDialog.Builder(getContext())
|
||||
@@ -111,6 +110,84 @@ public class SetupSkipDialog extends InstrumentedDialogFragment
|
||||
}
|
||||
}
|
||||
|
||||
@StringRes
|
||||
private int getPatternSkipTitleRes(boolean hasFace, boolean hasFingerprint) {
|
||||
if (hasFace && hasFingerprint) {
|
||||
return R.string.lock_screen_pattern_skip_biometrics_title;
|
||||
} else if (hasFace) {
|
||||
return R.string.lock_screen_pattern_skip_face_title;
|
||||
} else if (hasFingerprint) {
|
||||
return R.string.lock_screen_pattern_skip_fingerprint_title;
|
||||
} else {
|
||||
return R.string.lock_screen_pattern_skip_title;
|
||||
}
|
||||
}
|
||||
|
||||
@StringRes
|
||||
private int getPatternSkipMessageRes(boolean hasFace, boolean hasFingerprint) {
|
||||
if (hasFace && hasFingerprint) {
|
||||
return R.string.lock_screen_pattern_skip_biometrics_message;
|
||||
} else if (hasFace) {
|
||||
return R.string.lock_screen_pattern_skip_face_message;
|
||||
} else if (hasFingerprint) {
|
||||
return R.string.lock_screen_pattern_skip_fingerprint_message;
|
||||
} else {
|
||||
return R.string.lock_screen_pattern_skip_message;
|
||||
}
|
||||
}
|
||||
|
||||
@StringRes
|
||||
private int getPasswordSkipTitleRes(boolean hasFace, boolean hasFingerprint) {
|
||||
if (hasFace && hasFingerprint) {
|
||||
return R.string.lock_screen_password_skip_biometrics_title;
|
||||
} else if (hasFace) {
|
||||
return R.string.lock_screen_password_skip_face_title;
|
||||
} else if (hasFingerprint) {
|
||||
return R.string.lock_screen_password_skip_fingerprint_title;
|
||||
} else {
|
||||
return R.string.lock_screen_password_skip_title;
|
||||
}
|
||||
}
|
||||
|
||||
@StringRes
|
||||
private int getPasswordSkipMessageRes(boolean hasFace, boolean hasFingerprint) {
|
||||
if (hasFace && hasFingerprint) {
|
||||
return R.string.lock_screen_password_skip_biometrics_message;
|
||||
} else if (hasFace) {
|
||||
return R.string.lock_screen_password_skip_face_message;
|
||||
} else if (hasFingerprint) {
|
||||
return R.string.lock_screen_password_skip_fingerprint_message;
|
||||
} else {
|
||||
return R.string.lock_screen_password_skip_message;
|
||||
}
|
||||
}
|
||||
|
||||
@StringRes
|
||||
private int getPinSkipTitleRes(boolean hasFace, boolean hasFingerprint) {
|
||||
if (hasFace && hasFingerprint) {
|
||||
return R.string.lock_screen_pin_skip_biometrics_title;
|
||||
} else if (hasFace) {
|
||||
return R.string.lock_screen_pin_skip_face_title;
|
||||
} else if (hasFingerprint) {
|
||||
return R.string.lock_screen_pin_skip_fingerprint_title;
|
||||
} else {
|
||||
return R.string.lock_screen_pin_skip_title;
|
||||
}
|
||||
}
|
||||
|
||||
@StringRes
|
||||
private int getPinSkipMessageRes(boolean hasFace, boolean hasFingerprint) {
|
||||
if (hasFace && hasFingerprint) {
|
||||
return R.string.lock_screen_pin_skip_biometrics_message;
|
||||
} else if (hasFace) {
|
||||
return R.string.lock_screen_pin_skip_face_message;
|
||||
} else if (hasFingerprint) {
|
||||
return R.string.lock_screen_pin_skip_fingerprint_message;
|
||||
} else {
|
||||
return R.string.lock_screen_pin_skip_message;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int button) {
|
||||
switch (button) {
|
||||
|
Reference in New Issue
Block a user