Merge "Don't always announce accessibility events when resetting password" into nyc-dev
This commit is contained in:
@@ -69,7 +69,7 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout
|
||||
public void reset() {
|
||||
// start fresh
|
||||
mDismissing = false;
|
||||
resetPasswordText(false /* animate */);
|
||||
resetPasswordText(false /* animate */, false /* announce */);
|
||||
// if the user is currently locked out, enforce it.
|
||||
long deadline = mLockPatternUtils.getLockoutAttemptDeadline(
|
||||
KeyguardUpdateMonitor.getCurrentUser());
|
||||
@@ -169,10 +169,10 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout
|
||||
mSecurityMessageDisplay.setMessage(getWrongPasswordStringId(), true);
|
||||
}
|
||||
}
|
||||
resetPasswordText(true /* animate */);
|
||||
resetPasswordText(true /* animate */, !matched /* announce deletion if no match */);
|
||||
}
|
||||
|
||||
protected abstract void resetPasswordText(boolean animate);
|
||||
protected abstract void resetPasswordText(boolean animate, boolean announce);
|
||||
protected abstract String getPasswordText();
|
||||
protected abstract void setPasswordEntryEnabled(boolean enabled);
|
||||
protected abstract void setPasswordEntryInputEnabled(boolean enabled);
|
||||
|
||||
@@ -60,6 +60,7 @@ public class KeyguardPINView extends KeyguardPinBasedInputView {
|
||||
R.dimen.disappear_y_translation);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void resetState() {
|
||||
super.resetState();
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_pin_instructions, false);
|
||||
|
||||
@@ -72,6 +72,7 @@ public class KeyguardPasswordView extends KeyguardAbsKeyInputView
|
||||
context, android.R.interpolator.fast_out_linear_in);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void resetState() {
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_password_instructions, false);
|
||||
final boolean wasDisabled = mPasswordEntry.isEnabled();
|
||||
@@ -159,6 +160,7 @@ public class KeyguardPasswordView extends KeyguardAbsKeyInputView
|
||||
|
||||
// Poke the wakelock any time the text is selected or modified
|
||||
mPasswordEntry.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
mCallback.userActivity();
|
||||
}
|
||||
@@ -175,6 +177,7 @@ public class KeyguardPasswordView extends KeyguardAbsKeyInputView
|
||||
switchImeButton.setVisibility(View.VISIBLE);
|
||||
imeOrDeleteButtonVisible = true;
|
||||
switchImeButton.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
mCallback.userActivity(); // Leave the screen on a bit longer
|
||||
// Do not show auxiliary subtypes in password lock screen.
|
||||
@@ -202,7 +205,7 @@ public class KeyguardPasswordView extends KeyguardAbsKeyInputView
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void resetPasswordText(boolean animate) {
|
||||
protected void resetPasswordText(boolean animate, boolean announce) {
|
||||
mPasswordEntry.setText("");
|
||||
}
|
||||
|
||||
|
||||
@@ -159,8 +159,8 @@ public abstract class KeyguardPinBasedInputView extends KeyguardAbsKeyInputView
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void resetPasswordText(boolean animate) {
|
||||
mPasswordEntry.reset(animate);
|
||||
protected void resetPasswordText(boolean animate, boolean announce) {
|
||||
mPasswordEntry.reset(animate, announce);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -214,7 +214,7 @@ public abstract class KeyguardPinBasedInputView extends KeyguardAbsKeyInputView
|
||||
public boolean onLongClick(View v) {
|
||||
// check for time-based lockouts
|
||||
if (mPasswordEntry.isEnabled()) {
|
||||
resetPasswordText(true /* animate */);
|
||||
resetPasswordText(true /* animate */, true /* announce */);
|
||||
}
|
||||
doHapticKeyClick();
|
||||
return true;
|
||||
|
||||
@@ -71,6 +71,7 @@ public class KeyguardSimPinView extends KeyguardPinBasedInputView {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetState() {
|
||||
super.resetState();
|
||||
if (DEBUG) Log.v(TAG, "Resetting state");
|
||||
@@ -199,6 +200,7 @@ public class KeyguardSimPinView extends KeyguardPinBasedInputView {
|
||||
Log.v(TAG, "supplyPinReportResult returned: " + result[0] + " " + result[1]);
|
||||
}
|
||||
post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
onSimCheckResponse(result[0], result[1]);
|
||||
}
|
||||
@@ -206,6 +208,7 @@ public class KeyguardSimPinView extends KeyguardPinBasedInputView {
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "RemoteException for supplyPinReportResult:", e);
|
||||
post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
onSimCheckResponse(PhoneConstants.PIN_GENERAL_FAILURE, -1);
|
||||
}
|
||||
@@ -250,7 +253,7 @@ public class KeyguardSimPinView extends KeyguardPinBasedInputView {
|
||||
if (entry.length() < 4) {
|
||||
// otherwise, display a message to the user, and don't submit.
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_invalid_sim_pin_hint, true);
|
||||
resetPasswordText(true);
|
||||
resetPasswordText(true /* animate */, true /* announce */);
|
||||
mCallback.userActivity();
|
||||
return;
|
||||
}
|
||||
@@ -259,13 +262,16 @@ public class KeyguardSimPinView extends KeyguardPinBasedInputView {
|
||||
|
||||
if (mCheckSimPinThread == null) {
|
||||
mCheckSimPinThread = new CheckSimPin(mPasswordEntry.getText(), mSubId) {
|
||||
@Override
|
||||
void onSimCheckResponse(final int result, final int attemptsRemaining) {
|
||||
post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (mSimUnlockProgressDialog != null) {
|
||||
mSimUnlockProgressDialog.hide();
|
||||
}
|
||||
resetPasswordText(true /* animate */);
|
||||
resetPasswordText(true /* animate */,
|
||||
result != PhoneConstants.PIN_RESULT_SUCCESS /* announce */);
|
||||
if (result == PhoneConstants.PIN_RESULT_SUCCESS) {
|
||||
KeyguardUpdateMonitor.getInstance(getContext())
|
||||
.reportSimUnlocked(mSubId);
|
||||
|
||||
@@ -106,7 +106,7 @@ public class KeyguardSimPukView extends KeyguardPinBasedInputView {
|
||||
msg = R.string.kg_invalid_confirm_pin_hint;
|
||||
}
|
||||
}
|
||||
resetPasswordText(true);
|
||||
resetPasswordText(true /* animate */, true /* announce */);
|
||||
if (msg != 0) {
|
||||
mSecurityMessageDisplay.setMessage(msg, true);
|
||||
}
|
||||
@@ -163,6 +163,7 @@ public class KeyguardSimPukView extends KeyguardPinBasedInputView {
|
||||
return displayMessage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetState() {
|
||||
super.resetState();
|
||||
mStateMachine.reset();
|
||||
@@ -242,6 +243,7 @@ public class KeyguardSimPukView extends KeyguardPinBasedInputView {
|
||||
Log.v(TAG, "supplyPukReportResult returned: " + result[0] + " " + result[1]);
|
||||
}
|
||||
post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
onSimLockChangedResponse(result[0], result[1]);
|
||||
}
|
||||
@@ -249,6 +251,7 @@ public class KeyguardSimPukView extends KeyguardPinBasedInputView {
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "RemoteException for supplyPukReportResult:", e);
|
||||
post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
onSimLockChangedResponse(PhoneConstants.PIN_GENERAL_FAILURE, -1);
|
||||
}
|
||||
@@ -316,13 +319,16 @@ public class KeyguardSimPukView extends KeyguardPinBasedInputView {
|
||||
|
||||
if (mCheckSimPukThread == null) {
|
||||
mCheckSimPukThread = new CheckSimPuk(mPukText, mPinText, mSubId) {
|
||||
@Override
|
||||
void onSimLockChangedResponse(final int result, final int attemptsRemaining) {
|
||||
post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (mSimUnlockProgressDialog != null) {
|
||||
mSimUnlockProgressDialog.hide();
|
||||
}
|
||||
resetPasswordText(true /* animate */);
|
||||
resetPasswordText(true /* animate */,
|
||||
result != PhoneConstants.PIN_RESULT_SUCCESS /* announce */);
|
||||
if (result == PhoneConstants.PIN_RESULT_SUCCESS) {
|
||||
KeyguardUpdateMonitor.getInstance(getContext())
|
||||
.reportSimUnlocked(mSubId);
|
||||
|
||||
@@ -268,7 +268,7 @@ public class PasswordTextView extends View {
|
||||
return charState;
|
||||
}
|
||||
|
||||
public void reset(boolean animated) {
|
||||
public void reset(boolean animated, boolean announce) {
|
||||
String textbefore = mText;
|
||||
mText = "";
|
||||
int length = mTextChars.size();
|
||||
@@ -297,7 +297,9 @@ public class PasswordTextView extends View {
|
||||
if (!animated) {
|
||||
mTextChars.clear();
|
||||
}
|
||||
sendAccessibilityEventTypeViewTextChanged(textbefore, 0, textbefore.length(), 0);
|
||||
if (announce) {
|
||||
sendAccessibilityEventTypeViewTextChanged(textbefore, 0, textbefore.length(), 0);
|
||||
}
|
||||
}
|
||||
|
||||
void sendAccessibilityEventTypeViewTextChanged(String beforeText, int fromIndex,
|
||||
|
||||
Reference in New Issue
Block a user