Methods Summary |
---|
public void | afterTextChanged(android.text.Editable s)
|
public void | beforeTextChanged(java.lang.CharSequence s, int start, int count, int after)
|
protected void | initUi()
AlertController.AlertParams ap = mAlertParams;
ap.mTitle = getString(R.string.restr_pin_enter_admin_pin);
LayoutInflater inflater =
(LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ap.mView = inflater.inflate(R.layout.restrictions_pin_challenge, null);
mPinErrorMessage = (TextView) ap.mView.findViewById(R.id.pin_error_message);
mPinText = (EditText) ap.mView.findViewById(R.id.pin_text);
mOkButton = (Button) ap.mView.findViewById(R.id.pin_ok_button);
mCancelButton = (Button) ap.mView.findViewById(R.id.pin_cancel_button);
mPinText.addTextChangedListener(this);
mOkButton.setOnClickListener(this);
mCancelButton.setOnClickListener(this);
|
public void | onClick(android.view.View v)
if (v == mOkButton) {
performPositiveButtonAction();
} else if (v == mCancelButton) {
setResult(RESULT_CANCELED);
finish();
}
|
public void | onCreate(android.os.Bundle icicle)
super.onCreate(icicle);
mUserManager = (UserManager) getSystemService(Context.USER_SERVICE);
mHasRestrictionsPin = mUserManager.hasRestrictionsChallenge();
initUi();
setupAlert();
|
public boolean | onEditorAction(android.widget.TextView v, int actionId, android.view.KeyEvent event)
performPositiveButtonAction();
return true;
|
public void | onResume()
super.onResume();
setPositiveButtonState(false);
boolean hasPin = mUserManager.hasRestrictionsChallenge();
if (hasPin) {
mPinErrorMessage.setVisibility(View.INVISIBLE);
mPinText.setOnEditorActionListener(this);
updatePinTimer(-1);
} else if (verifyingPin()) {
setResult(RESULT_OK);
finish();
}
|
public void | onTextChanged(java.lang.CharSequence s, int start, int before, int count)
CharSequence pin = mPinText.getText();
setPositiveButtonState(pin != null && pin.length() >= 4);
|
protected void | performPositiveButtonAction()
int result = mUserManager.checkRestrictionsChallenge(mPinText.getText().toString());
if (result == UserManager.PIN_VERIFICATION_SUCCESS) {
setResult(RESULT_OK);
finish();
} else if (result >= 0) {
mPinErrorMessage.setText(R.string.restr_pin_incorrect);
mPinErrorMessage.setVisibility(View.VISIBLE);
updatePinTimer(result);
mPinText.setText("");
}
|
protected void | setPositiveButtonState(boolean enabled)
mOkButton.setEnabled(enabled);
|
private boolean | updatePinTimer(int pinTimerMs)
if (pinTimerMs < 0) {
pinTimerMs = mUserManager.checkRestrictionsChallenge(null);
}
boolean enableInput;
if (pinTimerMs >= 200) {
// Do the count down timer for less than a minute, otherwise just say try again later.
if (pinTimerMs <= 60000) {
final int seconds = (pinTimerMs + 200) / 1000;
final String formatString = getResources().getQuantityString(
R.plurals.restr_pin_countdown,
seconds);
mPinErrorMessage.setText(String.format(formatString, seconds));
} else {
mPinErrorMessage.setText(R.string.restr_pin_try_later);
}
enableInput = false;
mPinErrorMessage.setVisibility(View.VISIBLE);
mPinText.setText("");
mPinText.postDelayed(mCountdownRunnable, Math.min(1000, pinTimerMs));
} else {
enableInput = true;
mPinErrorMessage.setText(R.string.restr_pin_incorrect);
}
mPinText.setEnabled(enableInput);
setPositiveButtonState(enableInput);
return enableInput;
|
protected boolean | verifyingPin()
return true;
|