package com.marshalchen.common.uimodule.passcodelock;
import android.os.Bundle;
import android.widget.TextView;
import com.marshalchen.common.uimodule.R;
public class PasscodeManagePasswordActivity extends AbstractPasscodeKeyboardActivity {
private int type = -1;
private String unverifiedPasscode = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
if (extras != null) {
type = extras.getInt("type", -1);
}
}
@Override
protected void onPinLockInserted() {
String passLock = pinCodeField1.getText().toString() + pinCodeField2.getText().toString() +
pinCodeField3.getText().toString() + pinCodeField4.getText();
pinCodeField1.setText("");
pinCodeField2.setText("");
pinCodeField3.setText("");
pinCodeField4.setText("");
pinCodeField1.requestFocus();
switch (type) {
case PasscodePreferencesActivity.DISABLE_PASSLOCK:
if( AppLockManager.getInstance().getCurrentAppLock().verifyPassword(passLock) ) {
setResult(RESULT_OK);
AppLockManager.getInstance().getCurrentAppLock().setPassword(null);
finish();
} else {
showPasswordError();
}
break;
case PasscodePreferencesActivity.ENABLE_PASSLOCK:
if( unverifiedPasscode == null ) {
((TextView) findViewById(R.id.top_message)).setText("passcode_re_enter_passcode");
unverifiedPasscode = passLock;
} else {
if( passLock.equals(unverifiedPasscode)) {
setResult(RESULT_OK);
AppLockManager.getInstance().getCurrentAppLock().setPassword(passLock);
finish();
} else {
unverifiedPasscode = null;
topMessage.setText("passcode_enter_passcode");
showPasswordError();
}
}
break;
case PasscodePreferencesActivity.CHANGE_PASSWORD:
//verify old password
if( AppLockManager.getInstance().getCurrentAppLock().verifyPassword(passLock) ) {
topMessage.setText("passcode_enter_passcode");
type = PasscodePreferencesActivity.ENABLE_PASSLOCK;
} else {
showPasswordError();
}
break;
default:
break;
}
}
}