am 09e8303f: Merge "Clear security message on user input" into mnc-dev
* commit '09e8303fd8eb2368f2de0763ecf6fee868d5d71c': Clear security message on user input
This commit is contained in:
@@ -174,9 +174,16 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout
|
|||||||
}.start();
|
}.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void onUserInput() {
|
||||||
|
if (mCallback != null) {
|
||||||
|
mCallback.userActivity();
|
||||||
|
}
|
||||||
|
mSecurityMessageDisplay.setMessage("", false);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||||
mCallback.userActivity();
|
onUserInput();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -88,24 +88,33 @@ class KeyguardMessageArea extends TextView {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setMessage(CharSequence msg, boolean important) {
|
public void setMessage(CharSequence msg, boolean important) {
|
||||||
if (!TextUtils.isEmpty(msg) && important) {
|
if (!TextUtils.isEmpty(msg) && important) {
|
||||||
mMessageArea.mMessage = msg;
|
mMessageArea.mMessage = msg;
|
||||||
mMessageArea.securityMessageChanged();
|
mMessageArea.securityMessageChanged();
|
||||||
|
} else {
|
||||||
|
mMessageArea.clearMessage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setMessage(int resId, boolean important) {
|
public void setMessage(int resId, boolean important) {
|
||||||
if (resId != 0 && important) {
|
if (resId != 0 && important) {
|
||||||
mMessageArea.mMessage = mMessageArea.getContext().getResources().getText(resId);
|
mMessageArea.mMessage = mMessageArea.getContext().getResources().getText(resId);
|
||||||
mMessageArea.securityMessageChanged();
|
mMessageArea.securityMessageChanged();
|
||||||
|
} else {
|
||||||
|
mMessageArea.clearMessage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setMessage(int resId, boolean important, Object... formatArgs) {
|
public void setMessage(int resId, boolean important, Object... formatArgs) {
|
||||||
if (resId != 0 && important) {
|
if (resId != 0 && important) {
|
||||||
mMessageArea.mMessage = mMessageArea.getContext().getString(resId, formatArgs);
|
mMessageArea.mMessage = mMessageArea.getContext().getString(resId, formatArgs);
|
||||||
mMessageArea.securityMessageChanged();
|
mMessageArea.securityMessageChanged();
|
||||||
|
} else {
|
||||||
|
mMessageArea.clearMessage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -176,6 +185,11 @@ class KeyguardMessageArea extends TextView {
|
|||||||
(SystemClock.uptimeMillis() + ANNOUNCEMENT_DELAY));
|
(SystemClock.uptimeMillis() + ANNOUNCEMENT_DELAY));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void clearMessage() {
|
||||||
|
mHandler.removeCallbacks(mClearMessageRunnable);
|
||||||
|
mHandler.post(mClearMessageRunnable);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the status lines based on these rules:
|
* Update the status lines based on these rules:
|
||||||
* AlarmStatus: Alarm state always gets it's own line.
|
* AlarmStatus: Alarm state always gets it's own line.
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import android.content.Context;
|
|||||||
import android.graphics.Rect;
|
import android.graphics.Rect;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
import android.text.InputType;
|
import android.text.InputType;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.text.TextWatcher;
|
import android.text.TextWatcher;
|
||||||
import android.text.method.TextKeyListener;
|
import android.text.method.TextKeyListener;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
@@ -138,20 +139,6 @@ public class KeyguardPasswordView extends KeyguardAbsKeyInputView
|
|||||||
// Set selected property on so the view can send accessibility events.
|
// Set selected property on so the view can send accessibility events.
|
||||||
mPasswordEntry.setSelected(true);
|
mPasswordEntry.setSelected(true);
|
||||||
|
|
||||||
mPasswordEntry.addTextChangedListener(new TextWatcher() {
|
|
||||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
|
||||||
}
|
|
||||||
|
|
||||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
|
||||||
}
|
|
||||||
|
|
||||||
public void afterTextChanged(Editable s) {
|
|
||||||
if (mCallback != null) {
|
|
||||||
mCallback.userActivity();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
mPasswordEntry.requestFocus();
|
mPasswordEntry.requestFocus();
|
||||||
|
|
||||||
// If there's more than one IME, enable the IME switcher button
|
// If there's more than one IME, enable the IME switcher button
|
||||||
@@ -293,6 +280,11 @@ public class KeyguardPasswordView extends KeyguardAbsKeyInputView
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterTextChanged(Editable s) {
|
public void afterTextChanged(Editable s) {
|
||||||
|
// Poor man's user edit detection, assuming empty text is programmatic and everything else
|
||||||
|
// is from the user.
|
||||||
|
if (!TextUtils.isEmpty(s)) {
|
||||||
|
onUserInput();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -208,6 +208,7 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit
|
|||||||
|
|
||||||
public void onPatternStart() {
|
public void onPatternStart() {
|
||||||
mLockPatternView.removeCallbacks(mCancelPatternRunnable);
|
mLockPatternView.removeCallbacks(mCancelPatternRunnable);
|
||||||
|
mSecurityMessageDisplay.setMessage("", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onPatternCleared() {
|
public void onPatternCleared() {
|
||||||
|
|||||||
@@ -148,7 +148,14 @@ public abstract class KeyguardPinBasedInputView extends KeyguardAbsKeyInputView
|
|||||||
// Poke the wakelock any time the text is selected or modified
|
// Poke the wakelock any time the text is selected or modified
|
||||||
mPasswordEntry.setOnClickListener(new OnClickListener() {
|
mPasswordEntry.setOnClickListener(new OnClickListener() {
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
mCallback.userActivity();
|
onUserInput();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
mPasswordEntry.setUserActivityListener(new PasswordTextView.UserActivityListener() {
|
||||||
|
@Override
|
||||||
|
public void onUserActivity() {
|
||||||
|
onUserInput();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -92,6 +92,11 @@ public class PasswordTextView extends View {
|
|||||||
private Interpolator mDisappearInterpolator;
|
private Interpolator mDisappearInterpolator;
|
||||||
private Interpolator mFastOutSlowInInterpolator;
|
private Interpolator mFastOutSlowInInterpolator;
|
||||||
private boolean mShowPassword;
|
private boolean mShowPassword;
|
||||||
|
private UserActivityListener mUserActivityListener;
|
||||||
|
|
||||||
|
public interface UserActivityListener {
|
||||||
|
void onUserActivity();
|
||||||
|
}
|
||||||
|
|
||||||
public PasswordTextView(Context context) {
|
public PasswordTextView(Context context) {
|
||||||
this(context, null);
|
this(context, null);
|
||||||
@@ -206,8 +211,15 @@ public class PasswordTextView extends View {
|
|||||||
sendAccessibilityEventTypeViewTextChanged(textbefore, textbefore.length(), 0, 1);
|
sendAccessibilityEventTypeViewTextChanged(textbefore, textbefore.length(), 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setUserActivityListener(UserActivityListener userActivitiListener) {
|
||||||
|
mUserActivityListener = userActivitiListener;
|
||||||
|
}
|
||||||
|
|
||||||
private void userActivity() {
|
private void userActivity() {
|
||||||
mPM.userActivity(SystemClock.uptimeMillis(), false);
|
mPM.userActivity(SystemClock.uptimeMillis(), false);
|
||||||
|
if (mUserActivityListener != null) {
|
||||||
|
mUserActivityListener.onUserActivity();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteLastChar() {
|
public void deleteLastChar() {
|
||||||
|
|||||||
Reference in New Issue
Block a user