* commit 'f7f0a85fe6c7d68a127f42e3528ef81050f8dd0c': Stop crash on repeated enters on virtual keyboard
This commit is contained in:
@@ -146,6 +146,10 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
private int mRequestedQuality = DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
|
private int mRequestedQuality = DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
|
||||||
private ChooseLockSettingsHelper mChooseLockSettingsHelper;
|
private ChooseLockSettingsHelper mChooseLockSettingsHelper;
|
||||||
private Stage mUiStage = Stage.Introduction;
|
private Stage mUiStage = Stage.Introduction;
|
||||||
|
|
||||||
|
// True once we have confirmed new PIN/password to prevent virtual keyboard
|
||||||
|
// re-entries of the same PIN
|
||||||
|
private boolean mDone = false;
|
||||||
private TextView mHeaderText;
|
private TextView mHeaderText;
|
||||||
private String mFirstPin;
|
private String mFirstPin;
|
||||||
private KeyboardView mKeyboardView;
|
private KeyboardView mKeyboardView;
|
||||||
@@ -302,6 +306,7 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
mCurrentPassword = savedInstanceState.getString(KEY_CURRENT_PASSWORD);
|
mCurrentPassword = savedInstanceState.getString(KEY_CURRENT_PASSWORD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
mDone = false;
|
||||||
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 id = mIsAlphaMode ? R.string.lockpassword_choose_your_password_header
|
||||||
@@ -509,6 +514,7 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
|
|
||||||
|
|
||||||
public void handleNext() {
|
public void handleNext() {
|
||||||
|
if (mDone) return;
|
||||||
mChosenPassword = mPasswordEntry.getText().toString();
|
mChosenPassword = mPasswordEntry.getText().toString();
|
||||||
if (TextUtils.isEmpty(mChosenPassword)) {
|
if (TextUtils.isEmpty(mChosenPassword)) {
|
||||||
return;
|
return;
|
||||||
@@ -524,6 +530,7 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
} else if (mUiStage == Stage.NeedToConfirm) {
|
} else if (mUiStage == Stage.NeedToConfirm) {
|
||||||
if (mFirstPin.equals(mChosenPassword)) {
|
if (mFirstPin.equals(mChosenPassword)) {
|
||||||
setNextEnabled(false);
|
setNextEnabled(false);
|
||||||
|
mDone = true;
|
||||||
new SaveChosenPasswordAndFinish().execute();
|
new SaveChosenPasswordAndFinish().execute();
|
||||||
} else {
|
} else {
|
||||||
CharSequence tmp = mPasswordEntry.getText();
|
CharSequence tmp = mPasswordEntry.getText();
|
||||||
|
Reference in New Issue
Block a user