Show fingerprint text in backup screen lock
When setting up fingerprint's backup screen lock, show a different header text that says "To use fingerprint, set {PIN/pattern/password}" instead of "Choose your {PIN/pattern/password}". Test: Manual. Existing tests pass Bug: 62187833 Change-Id: If1084e64b99291a0eda63c174793b5a091ab4bae
This commit is contained in:
@@ -3387,10 +3387,16 @@
|
|||||||
<!-- Lock Pattern settings -->
|
<!-- Lock Pattern settings -->
|
||||||
<!-- Header on first screen of choose password/PIN flow [CHAR LIMIT=30] -->
|
<!-- Header on first screen of choose password/PIN flow [CHAR LIMIT=30] -->
|
||||||
<string name="lockpassword_choose_your_password_header">Choose your password</string>
|
<string name="lockpassword_choose_your_password_header">Choose your password</string>
|
||||||
|
<!-- Header on first screen of choose password/PIN as backup for fingerprint flow [CHAR LIMIT=30] -->
|
||||||
|
<string name="lockpassword_choose_your_password_header_for_fingerprint">To use fingerprint, set password</string>
|
||||||
<!-- Header on first screen of choose pattern flow [CHAR LIMIT=30] -->
|
<!-- Header on first screen of choose pattern flow [CHAR LIMIT=30] -->
|
||||||
<string name="lockpassword_choose_your_pattern_header">Choose your pattern</string>
|
<string name="lockpassword_choose_your_pattern_header">Choose your pattern</string>
|
||||||
|
<!-- Header on first screen of choose pattern as backup for fingerprint flow [CHAR LIMIT=30] -->
|
||||||
|
<string name="lockpassword_choose_your_pattern_header_for_fingerprint">To use fingerprint, set pattern</string>
|
||||||
<!-- Header on first screen of choose password/PIN flow [CHAR LIMIT=30] -->
|
<!-- Header on first screen of choose password/PIN flow [CHAR LIMIT=30] -->
|
||||||
<string name="lockpassword_choose_your_pin_header">Choose your PIN</string>
|
<string name="lockpassword_choose_your_pin_header">Choose your PIN</string>
|
||||||
|
<!-- Header on first screen of choose password/PIN as backup for fingerprint flow [CHAR LIMIT=30] -->
|
||||||
|
<string name="lockpassword_choose_your_pin_header_for_fingerprint">To use fingerprint, set PIN</string>
|
||||||
<!-- Header on password confirm screen [CHAR LIMIT=30] -->
|
<!-- Header on password confirm screen [CHAR LIMIT=30] -->
|
||||||
<string name="lockpassword_confirm_your_password_header">Confirm your password</string>
|
<string name="lockpassword_confirm_your_password_header">Confirm your password</string>
|
||||||
<!-- Header on pattern confirm screen [CHAR LIMIT=30] -->
|
<!-- Header on pattern confirm screen [CHAR LIMIT=30] -->
|
||||||
|
@@ -575,6 +575,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|
|||||||
new ChooseLockPassword.IntentBuilder(getContext())
|
new ChooseLockPassword.IntentBuilder(getContext())
|
||||||
.setPasswordQuality(quality)
|
.setPasswordQuality(quality)
|
||||||
.setPasswordLengthRange(minLength, maxLength)
|
.setPasswordLengthRange(minLength, maxLength)
|
||||||
|
.setForFingerprint(mForFingerprint)
|
||||||
.setUserId(mUserId);
|
.setUserId(mUserId);
|
||||||
if (mHasChallenge) {
|
if (mHasChallenge) {
|
||||||
builder.setChallenge(mChallenge);
|
builder.setChallenge(mChallenge);
|
||||||
@@ -587,6 +588,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|
|||||||
protected Intent getLockPatternIntent() {
|
protected Intent getLockPatternIntent() {
|
||||||
ChooseLockPattern.IntentBuilder builder =
|
ChooseLockPattern.IntentBuilder builder =
|
||||||
new ChooseLockPattern.IntentBuilder(getContext())
|
new ChooseLockPattern.IntentBuilder(getContext())
|
||||||
|
.setForFingerprint(mForFingerprint)
|
||||||
.setUserId(mUserId);
|
.setUserId(mUserId);
|
||||||
if (mHasChallenge) {
|
if (mHasChallenge) {
|
||||||
builder.setChallenge(mChallenge);
|
builder.setChallenge(mChallenge);
|
||||||
|
@@ -32,6 +32,7 @@ import android.graphics.Insets;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
|
import android.support.annotation.StringRes;
|
||||||
import android.support.v7.widget.LinearLayoutManager;
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
@@ -125,6 +126,11 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IntentBuilder setForFingerprint(boolean forFingerprint) {
|
||||||
|
mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, forFingerprint);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public Intent build() {
|
public Intent build() {
|
||||||
return mIntent;
|
return mIntent;
|
||||||
}
|
}
|
||||||
@@ -143,7 +149,11 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
CharSequence msg = getText(R.string.lockpassword_choose_your_password_header);
|
boolean forFingerprint = getIntent()
|
||||||
|
.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, false);
|
||||||
|
CharSequence msg = getText(forFingerprint
|
||||||
|
? R.string.lockpassword_choose_your_password_header_for_fingerprint
|
||||||
|
: R.string.lockpassword_choose_your_password_header);
|
||||||
setTitle(msg);
|
setTitle(msg);
|
||||||
LinearLayout layout = (LinearLayout) findViewById(R.id.content_parent);
|
LinearLayout layout = (LinearLayout) findViewById(R.id.content_parent);
|
||||||
layout.setFitsSystemWindows(false);
|
layout.setFitsSystemWindows(false);
|
||||||
@@ -186,6 +196,7 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
private Stage mUiStage = Stage.Introduction;
|
private Stage mUiStage = Stage.Introduction;
|
||||||
private PasswordRequirementAdapter mPasswordRequirementAdapter;
|
private PasswordRequirementAdapter mPasswordRequirementAdapter;
|
||||||
private GlifLayout mLayout;
|
private GlifLayout mLayout;
|
||||||
|
private boolean mForFingerprint;
|
||||||
|
|
||||||
private String mFirstPin;
|
private String mFirstPin;
|
||||||
private RecyclerView mPasswordRestrictionView;
|
private RecyclerView mPasswordRestrictionView;
|
||||||
@@ -225,27 +236,49 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
*/
|
*/
|
||||||
protected enum Stage {
|
protected enum Stage {
|
||||||
|
|
||||||
Introduction(R.string.lockpassword_choose_your_password_header,
|
Introduction(
|
||||||
|
R.string.lockpassword_choose_your_password_header,
|
||||||
|
R.string.lockpassword_choose_your_password_header_for_fingerprint,
|
||||||
R.string.lockpassword_choose_your_pin_header,
|
R.string.lockpassword_choose_your_pin_header,
|
||||||
|
R.string.lockpassword_choose_your_pin_header_for_fingerprint,
|
||||||
R.string.lockpassword_continue_label),
|
R.string.lockpassword_continue_label),
|
||||||
|
|
||||||
NeedToConfirm(R.string.lockpassword_confirm_your_password_header,
|
NeedToConfirm(
|
||||||
|
R.string.lockpassword_confirm_your_password_header,
|
||||||
|
R.string.lockpassword_confirm_your_password_header,
|
||||||
|
R.string.lockpassword_confirm_your_pin_header,
|
||||||
R.string.lockpassword_confirm_your_pin_header,
|
R.string.lockpassword_confirm_your_pin_header,
|
||||||
R.string.lockpassword_ok_label),
|
R.string.lockpassword_ok_label),
|
||||||
|
|
||||||
ConfirmWrong(R.string.lockpassword_confirm_passwords_dont_match,
|
ConfirmWrong(
|
||||||
|
R.string.lockpassword_confirm_passwords_dont_match,
|
||||||
|
R.string.lockpassword_confirm_passwords_dont_match,
|
||||||
|
R.string.lockpassword_confirm_pins_dont_match,
|
||||||
R.string.lockpassword_confirm_pins_dont_match,
|
R.string.lockpassword_confirm_pins_dont_match,
|
||||||
R.string.lockpassword_continue_label);
|
R.string.lockpassword_continue_label);
|
||||||
|
|
||||||
Stage(int hintInAlpha, int hintInNumeric, int nextButtonText) {
|
Stage(int hintInAlpha, int hintInAlphaForFingerprint,
|
||||||
|
int hintInNumeric, int hintInNumericForFingerprint, int nextButtonText) {
|
||||||
this.alphaHint = hintInAlpha;
|
this.alphaHint = hintInAlpha;
|
||||||
|
this.alphaHintForFingerprint = hintInAlphaForFingerprint;
|
||||||
this.numericHint = hintInNumeric;
|
this.numericHint = hintInNumeric;
|
||||||
|
this.numericHintForFingerprint = hintInNumericForFingerprint;
|
||||||
this.buttonText = nextButtonText;
|
this.buttonText = nextButtonText;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final int alphaHint;
|
public final int alphaHint;
|
||||||
|
public final int alphaHintForFingerprint;
|
||||||
public final int numericHint;
|
public final int numericHint;
|
||||||
|
public final int numericHintForFingerprint;
|
||||||
public final int buttonText;
|
public final int buttonText;
|
||||||
|
|
||||||
|
public @StringRes int getHint(boolean isAlpha, boolean isFingerprint) {
|
||||||
|
if (isAlpha) {
|
||||||
|
return isFingerprint ? alphaHintForFingerprint : alphaHint;
|
||||||
|
} else {
|
||||||
|
return isFingerprint ? numericHintForFingerprint : numericHint;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// required constructor for fragments
|
// required constructor for fragments
|
||||||
@@ -263,6 +296,8 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
}
|
}
|
||||||
// Only take this argument into account if it belongs to the current profile.
|
// Only take this argument into account if it belongs to the current profile.
|
||||||
mUserId = Utils.getUserIdFromBundle(getActivity(), intent.getExtras());
|
mUserId = Utils.getUserIdFromBundle(getActivity(), intent.getExtras());
|
||||||
|
mForFingerprint = intent.getBooleanExtra(
|
||||||
|
ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, false);
|
||||||
processPasswordRequirements(intent);
|
processPasswordRequirements(intent);
|
||||||
mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity());
|
mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity());
|
||||||
mHideDrawer = getActivity().getIntent().getBooleanExtra(EXTRA_HIDE_DRAWER, false);
|
mHideDrawer = getActivity().getIntent().getBooleanExtra(EXTRA_HIDE_DRAWER, false);
|
||||||
@@ -357,9 +392,7 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
|
|
||||||
if (activity instanceof SettingsActivity) {
|
if (activity instanceof SettingsActivity) {
|
||||||
final SettingsActivity sa = (SettingsActivity) activity;
|
final SettingsActivity sa = (SettingsActivity) activity;
|
||||||
int id = mIsAlphaMode ? R.string.lockpassword_choose_your_password_header
|
int title = Stage.Introduction.getHint(mIsAlphaMode, mForFingerprint);
|
||||||
: R.string.lockpassword_choose_your_pin_header;
|
|
||||||
CharSequence title = getText(id);
|
|
||||||
sa.setTitle(title);
|
sa.setTitle(title);
|
||||||
mLayout.setHeaderText(title);
|
mLayout.setHeaderText(title);
|
||||||
}
|
}
|
||||||
@@ -779,8 +812,7 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
} else {
|
} else {
|
||||||
// Hide password requirement view when we are just asking user to confirm the pw.
|
// Hide password requirement view when we are just asking user to confirm the pw.
|
||||||
mPasswordRestrictionView.setVisibility(View.GONE);
|
mPasswordRestrictionView.setVisibility(View.GONE);
|
||||||
setHeaderText(getString(
|
setHeaderText(getString(mUiStage.getHint(mIsAlphaMode, mForFingerprint)));
|
||||||
mIsAlphaMode ? mUiStage.alphaHint : mUiStage.numericHint));
|
|
||||||
setNextEnabled(canInput && length > 0);
|
setNextEnabled(canInput && length > 0);
|
||||||
}
|
}
|
||||||
setNextText(mUiStage.buttonText);
|
setNextText(mUiStage.buttonText);
|
||||||
|
@@ -106,6 +106,11 @@ public class ChooseLockPattern extends SettingsActivity {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IntentBuilder setForFingerprint(boolean forFingerprint) {
|
||||||
|
mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, forFingerprint);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public Intent build() {
|
public Intent build() {
|
||||||
return mIntent;
|
return mIntent;
|
||||||
}
|
}
|
||||||
@@ -125,8 +130,10 @@ public class ChooseLockPattern extends SettingsActivity {
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
// requestWindowFeature(Window.FEATURE_NO_TITLE);
|
// requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
CharSequence msg = getText(R.string.lockpassword_choose_your_pattern_header);
|
boolean forFingerprint = getIntent()
|
||||||
setTitle(msg);
|
.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, false);
|
||||||
|
setTitle(forFingerprint ? R.string.lockpassword_choose_your_pattern_header_for_fingerprint
|
||||||
|
: R.string.lockpassword_choose_your_pattern_header);
|
||||||
LinearLayout layout = (LinearLayout) findViewById(R.id.content_parent);
|
LinearLayout layout = (LinearLayout) findViewById(R.id.content_parent);
|
||||||
layout.setFitsSystemWindows(false);
|
layout.setFitsSystemWindows(false);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user