}
}
};
LayoutInflater inflater = getLayoutInflater();
View view = inflater.inflate(R.layout.change_password, getListView(),
false);
dialog = new AlertDialog.Builder(this)
.setTitle(R.string.list_menu_change_password)
.setIcon(android.R.drawable.ic_dialog_info)
.setView(view)
.setPositiveButton(R.string.list_menu_change_password, listener)
.create();
final Dialog dialogFinal = dialog;
SeekBar bar = (SeekBar) view.findViewById(R.id.cipher_strength);
bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
setCipherStrengthLabel(dialogFinal, progress +
PROGRESS_ROUNDS_OFFSET);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}});
break;
}
case DIALOG_ENTER_RESTORE_PASSWORD: {
DialogInterface.OnClickListener listener =
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogi, int which) {
AlertDialog dialog = (AlertDialog) dialogi;
TextView password1 = (TextView) dialog.findViewById(
R.id.password);
String password = password1.getText().toString();
FileUtils.SaltAndRounds saltAndRounds =
FileUtils.getSaltAndRounds(null, restorePoint);
SecurityUtils.CipherInfo info = SecurityUtils.createCiphers(
password, saltAndRounds.salt, saltAndRounds.rounds);
if (restoreSecrets(restorePoint, info)) {
SecurityUtils.clearCiphers();
SecurityUtils.saveCiphers(info);
String message = getText(R.string.password_changed).toString();
message += '\n';
message += getText(R.string.restore_succeeded).toString();
showToast(message);
} else {
showToast(R.string.restore_failed);
}
}
};
LayoutInflater inflater = getLayoutInflater();
View view = inflater.inflate(R.layout.change_password, getListView(),
false);
// For this dialog, we don't want to show the seek bar nor the
// confirmation password field.
view.findViewById(R.id.cipher_strength).setVisibility(View.GONE);
view.findViewById(R.id.cipher_strength_label).setVisibility(View.GONE);
view.findViewById(R.id.password_validation).setVisibility(View.GONE);
view.findViewById(R.id.password_validation_label)
.setVisibility(View.GONE);
dialog = new AlertDialog.Builder(this)
.setTitle(R.string.login_enter_password)
.setIcon(android.R.drawable.ic_dialog_info)