Merge "Only showing important security messages in status area (issue 7341795)" into jb-mr1-dev
This commit is contained in:
@@ -137,8 +137,9 @@ public class KeyguardAccountView extends LinearLayout implements KeyguardSecurit
|
||||
mLogin.setText("");
|
||||
mPassword.setText("");
|
||||
mLogin.requestFocus();
|
||||
mSecurityMessageDisplay.setMessage(mLockPatternUtils.isPermanentlyLocked() ?
|
||||
R.string.kg_login_too_many_attempts : R.string.kg_login_instructions);
|
||||
boolean permLocked = mLockPatternUtils.isPermanentlyLocked();
|
||||
mSecurityMessageDisplay.setMessage(permLocked ? R.string.kg_login_too_many_attempts :
|
||||
R.string.kg_login_instructions, permLocked ? true : false);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@@ -178,7 +179,7 @@ public class KeyguardAccountView extends LinearLayout implements KeyguardSecurit
|
||||
// dismiss keyguard
|
||||
mCallback.dismiss(true);
|
||||
} else {
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_login_invalid_input);
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_login_invalid_input, true);
|
||||
mPassword.setText("");
|
||||
mCallback.reportFailedUnlockAttempt();
|
||||
}
|
||||
|
||||
@@ -16,11 +16,8 @@
|
||||
|
||||
package com.android.internal.policy.impl.keyguard;
|
||||
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.R;
|
||||
|
||||
public class KeyguardNavigationManager implements SecurityMessageDisplay {
|
||||
|
||||
private TextView mMessageArea;
|
||||
@@ -30,12 +27,12 @@ public class KeyguardNavigationManager implements SecurityMessageDisplay {
|
||||
mMessageArea.setSelected(true); // Make marquee work
|
||||
}
|
||||
|
||||
public void setMessage(CharSequence msg) {
|
||||
public void setMessage(CharSequence msg, boolean important) {
|
||||
mMessageArea.setText(msg);
|
||||
mMessageArea.announceForAccessibility(mMessageArea.getText());
|
||||
}
|
||||
|
||||
public void setMessage(int resId) {
|
||||
public void setMessage(int resId, boolean important) {
|
||||
if (resId != 0) {
|
||||
mMessageArea.setText(resId);
|
||||
mMessageArea.announceForAccessibility(mMessageArea.getText());
|
||||
@@ -44,7 +41,7 @@ public class KeyguardNavigationManager implements SecurityMessageDisplay {
|
||||
}
|
||||
}
|
||||
|
||||
public void setMessage(int resId, Object... formatArgs) {
|
||||
public void setMessage(int resId, boolean important, Object... formatArgs) {
|
||||
if (resId != 0) {
|
||||
mMessageArea.setText(mMessageArea.getContext().getString(resId, formatArgs));
|
||||
mMessageArea.announceForAccessibility(mMessageArea.getText());
|
||||
|
||||
@@ -102,7 +102,7 @@ public class KeyguardPasswordView extends LinearLayout
|
||||
|
||||
private void resetState() {
|
||||
mSecurityMessageDisplay.setMessage(
|
||||
mIsAlpha ? R.string.kg_password_instructions : R.string.kg_pin_instructions);
|
||||
mIsAlpha ? R.string.kg_password_instructions : R.string.kg_pin_instructions, false);
|
||||
mPasswordEntry.setEnabled(true);
|
||||
mKeyboardView.setEnabled(true);
|
||||
}
|
||||
@@ -288,7 +288,7 @@ public class KeyguardPasswordView extends LinearLayout
|
||||
handleAttemptLockout(deadline);
|
||||
}
|
||||
mSecurityMessageDisplay.setMessage(
|
||||
mIsAlpha ? R.string.kg_wrong_password : R.string.kg_wrong_pin);
|
||||
mIsAlpha ? R.string.kg_wrong_password : R.string.kg_wrong_pin, true);
|
||||
}
|
||||
mPasswordEntry.setText("");
|
||||
}
|
||||
@@ -304,7 +304,7 @@ public class KeyguardPasswordView extends LinearLayout
|
||||
public void onTick(long millisUntilFinished) {
|
||||
int secondsRemaining = (int) (millisUntilFinished / 1000);
|
||||
mSecurityMessageDisplay.setMessage(
|
||||
R.string.kg_too_many_failed_attempts_countdown, secondsRemaining);
|
||||
R.string.kg_too_many_failed_attempts_countdown, true, secondsRemaining);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -182,7 +182,7 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit
|
||||
if (deadline != 0) {
|
||||
handleAttemptLockout(deadline);
|
||||
} else {
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_pattern_instructions);
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_pattern_instructions, false);
|
||||
}
|
||||
|
||||
// the footer depends on how many total attempts the user has failed
|
||||
@@ -254,7 +254,7 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit
|
||||
long deadline = mLockPatternUtils.setLockoutAttemptDeadline();
|
||||
handleAttemptLockout(deadline);
|
||||
} else {
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_wrong_pattern);
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_wrong_pattern, true);
|
||||
mLockPatternView.postDelayed(mCancelPatternRunnable, PATTERN_CLEAR_TIMEOUT_MS);
|
||||
}
|
||||
}
|
||||
@@ -327,13 +327,13 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit
|
||||
public void onTick(long millisUntilFinished) {
|
||||
final int secondsRemaining = (int) (millisUntilFinished / 1000);
|
||||
mSecurityMessageDisplay.setMessage(
|
||||
R.string.kg_too_many_failed_attempts_countdown, secondsRemaining);
|
||||
R.string.kg_too_many_failed_attempts_countdown, true, secondsRemaining);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinish() {
|
||||
mLockPatternView.setEnabled(true);
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_pattern_instructions);
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_pattern_instructions, false);
|
||||
// TODO mUnlockIcon.setVisibility(View.VISIBLE);
|
||||
mFailedPatternAttemptsSinceLastTimeout = 0;
|
||||
if (mEnableFallback) {
|
||||
|
||||
@@ -111,7 +111,7 @@ public class KeyguardSimPinView extends LinearLayout
|
||||
public void reset() {
|
||||
// start fresh
|
||||
if (mSecurityMessageDisplay != null) {
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_sim_pin_instructions);
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_sim_pin_instructions, true);
|
||||
}
|
||||
|
||||
// make sure that the number of entered digits is consistent when we
|
||||
@@ -193,7 +193,7 @@ public class KeyguardSimPinView extends LinearLayout
|
||||
private void checkPin() {
|
||||
if (mPinEntry.getText().length() < 4) {
|
||||
// otherwise, display a message to the user, and don't submit.
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_invalid_sim_pin_hint);
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_invalid_sim_pin_hint, true);
|
||||
mPinEntry.setText("");
|
||||
mCallback.userActivity(0);
|
||||
return;
|
||||
@@ -216,7 +216,8 @@ public class KeyguardSimPinView extends LinearLayout
|
||||
KeyguardUpdateMonitor.getInstance(getContext()).reportSimUnlocked();
|
||||
mCallback.dismiss(true);
|
||||
} else {
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_password_wrong_pin_code);
|
||||
mSecurityMessageDisplay.setMessage
|
||||
(R.string.kg_password_wrong_pin_code, true);
|
||||
mPinEntry.setText("");
|
||||
}
|
||||
mCallback.userActivity(0);
|
||||
|
||||
@@ -99,7 +99,7 @@ public class KeyguardSimPukView extends LinearLayout implements View.OnClickList
|
||||
}
|
||||
mSimPinEntry.setText(null);
|
||||
if (msg != 0) {
|
||||
mSecurityMessageDisplay.setMessage(msg);
|
||||
mSecurityMessageDisplay.setMessage(msg, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ public class KeyguardSimPukView extends LinearLayout implements View.OnClickList
|
||||
mPukText="";
|
||||
state = ENTER_PUK;
|
||||
if (mSecurityMessageDisplay != null) {
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_puk_enter_puk_hint);
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_puk_enter_puk_hint, true);
|
||||
}
|
||||
mSimPinEntry.requestFocus();
|
||||
}
|
||||
@@ -279,7 +279,7 @@ public class KeyguardSimPukView extends LinearLayout implements View.OnClickList
|
||||
mCallback.dismiss(true);
|
||||
} else {
|
||||
mStateMachine.reset();
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_invalid_puk);
|
||||
mSecurityMessageDisplay.setMessage(R.string.kg_invalid_puk, true);
|
||||
}
|
||||
mCheckInProgress = false;
|
||||
}
|
||||
|
||||
@@ -188,12 +188,14 @@ class KeyguardStatusViewManager implements SecurityMessageDisplay {
|
||||
updateStatusLines();
|
||||
}
|
||||
|
||||
public void setMessage(CharSequence msg) {
|
||||
public void setMessage(CharSequence msg, boolean important) {
|
||||
if (!important) return;
|
||||
mSecurityMessageContents = msg;
|
||||
securityMessageChanged();
|
||||
}
|
||||
|
||||
public void setMessage(int resId) {
|
||||
public void setMessage(int resId, boolean important) {
|
||||
if (!important) return;
|
||||
if (resId != 0) {
|
||||
mSecurityMessageContents = getContext().getResources().getText(resId);
|
||||
} else {
|
||||
@@ -202,7 +204,8 @@ class KeyguardStatusViewManager implements SecurityMessageDisplay {
|
||||
securityMessageChanged();
|
||||
}
|
||||
|
||||
public void setMessage(int resId, Object... formatArgs) {
|
||||
public void setMessage(int resId, boolean important, Object... formatArgs) {
|
||||
if (!important) return;
|
||||
if (resId != 0) {
|
||||
mSecurityMessageContents = getContext().getString(resId, formatArgs);
|
||||
} else {
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
package com.android.internal.policy.impl.keyguard;
|
||||
|
||||
public interface SecurityMessageDisplay {
|
||||
public void setMessage(CharSequence msg);
|
||||
public void setMessage(CharSequence msg, boolean important);
|
||||
|
||||
public void setMessage(int resId);
|
||||
public void setMessage(int resId, boolean important);
|
||||
|
||||
public void setMessage(int resId, Object... formatArgs);
|
||||
public void setMessage(int resId, boolean important, Object... formatArgs);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user