package net.ggelardi.flucso;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.preference.DialogPreference;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import net.ggelardi.flucso.R;
import net.ggelardi.flucso.serv.FFSession;
public class LoginDialog extends DialogPreference {
private FFSession session;
private EditText mUsername;
private EditText mPassword;
public LoginDialog(Context context, AttributeSet attrs) {
super(context, attrs);
setDialogLayoutResource(R.layout.dialog_login);
session = FFSession.getInstance(context);
}
@Override
protected View onCreateDialogView() {
View view = super.onCreateDialogView();
mUsername = (EditText) view.findViewById(R.id.txt_login_username);
mPassword = (EditText) view.findViewById(R.id.txt_login_remotekey);
CheckBox mShowRKey = (CheckBox) view.findViewById(R.id.chk_login_showremkey);
mShowRKey.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
mPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
} else {
mPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
}
}
});
Button mGoToRKey = (Button) view.findViewById(R.id.btn_login_gotoremkey);
mGoToRKey.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent browse = new Intent(Intent.ACTION_VIEW, Uri.parse("http://friendfeed.com/remotekey"));
v.getContext().startActivity(browse);
}
});
return view;
}
@Override
protected void onBindDialogView(View view) {
super.onBindDialogView(view);
mUsername.setText(session.getUsername());
mPassword.setText(session.getRemoteKey());
}
@Override
protected void onDialogClosed(boolean positiveResult) {
super.onDialogClosed(positiveResult);
if (positiveResult)
session.saveAccount(mUsername.getText().toString(), mPassword.getText().toString());
}
}