aboutsummaryrefslogtreecommitdiffstats
path: root/src/de/gultsch
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/gultsch')
-rw-r--r--src/de/gultsch/chat/ui/EditAccount.java80
-rw-r--r--src/de/gultsch/chat/xmpp/XmppConnection.java3
2 files changed, 27 insertions, 56 deletions
diff --git a/src/de/gultsch/chat/ui/EditAccount.java b/src/de/gultsch/chat/ui/EditAccount.java
index 4da89b7f..88aa76f5 100644
--- a/src/de/gultsch/chat/ui/EditAccount.java
+++ b/src/de/gultsch/chat/ui/EditAccount.java
@@ -43,35 +43,9 @@ public class EditAccount extends DialogFragment {
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.edit_account_dialog, null);
final EditText jidText = (EditText) view.findViewById(R.id.account_jid);
- final EditText usernameText = (EditText) view
- .findViewById(R.id.account_username);
- final EditText serverText = (EditText) view
- .findViewById(R.id.account_server);
- final TextView usernameDesc = (TextView) view
- .findViewById(R.id.textView2);
- final TextView confirmPwDesc = (TextView) view.findViewById(R.id.account_confirm_password_desc);
- CheckBox showAdvanced = (CheckBox) view
- .findViewById(R.id.account_show_advanced);
- final RelativeLayout advancedOptions = (RelativeLayout) view
- .findViewById(R.id.advanced_options);
- showAdvanced.setOnCheckedChangeListener(new OnCheckedChangeListener() {
-
- @Override
- public void onCheckedChanged(CompoundButton buttonView,
- boolean isChecked) {
- if (isChecked) {
- advancedOptions.setVisibility(View.VISIBLE);
- usernameDesc.setText("Username");
- usernameText.setVisibility(View.VISIBLE);
- jidText.setVisibility(View.GONE);
- } else {
- advancedOptions.setVisibility(View.GONE);
- usernameDesc.setText("Jabber ID");
- usernameText.setVisibility(View.GONE);
- jidText.setVisibility(View.VISIBLE);
- }
- }
- });
+ final TextView confirmPwDesc = (TextView) view
+ .findViewById(R.id.account_confirm_password_desc);
+ CheckBox useTLS = (CheckBox) view.findViewById(R.id.account_usetls);
final EditText password = (EditText) view
.findViewById(R.id.account_password);
@@ -87,9 +61,12 @@ public class EditAccount extends DialogFragment {
registerAccount.setVisibility(View.GONE);
jidText.setText(account.getJid());
password.setText(account.getPassword());
- usernameText.setText(account.getUsername());
- serverText.setText(account.getServer());
okButtonDesc = "Edit";
+ if (account.isOptionSet(Account.OPTION_USETLS)) {
+ useTLS.setChecked(true);
+ } else {
+ useTLS.setChecked(false);
+ }
} else {
builder.setTitle("Add account");
okButtonDesc = "Add";
@@ -102,7 +79,8 @@ public class EditAccount extends DialogFragment {
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
AlertDialog d = (AlertDialog) getDialog();
- Button positiveButton = (Button) d.getButton(Dialog.BUTTON_POSITIVE);
+ Button positiveButton = (Button) d
+ .getButton(Dialog.BUTTON_POSITIVE);
if (isChecked) {
positiveButton.setText("Register");
passwordConfirm.setVisibility(View.VISIBLE);
@@ -129,41 +107,31 @@ public class EditAccount extends DialogFragment {
positiveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- boolean showAdvanced = ((CheckBox) d.findViewById(R.id.account_show_advanced)).isChecked();
EditText jidEdit = (EditText) d.findViewById(R.id.account_jid);
String jid = jidEdit.getText().toString();
- EditText usernameEdit = (EditText) d.findViewById(R.id.account_username);
- String username = usernameEdit.getText().toString();
- EditText serverEdit = (EditText) d.findViewById(R.id.account_server);
- String server = serverEdit.getText().toString();
- EditText passwordEdit = (EditText) d.findViewById(R.id.account_password);
+ EditText passwordEdit = (EditText) d
+ .findViewById(R.id.account_password);
String password = passwordEdit.getText().toString();
- if (!showAdvanced) {
- if (Validator.isValidJid(jid)) {
- String[] parts = jid.split("@");
- username = parts[0];
- server = parts[1];
- } else {
- jidEdit.setError("Invalid Jabber ID");
- return;
- }
+ CheckBox useTLS = (CheckBox) d.findViewById(R.id.account_usetls);
+ String username;
+ String server;
+ if (Validator.isValidJid(jid)) {
+ String[] parts = jid.split("@");
+ username = parts[0];
+ server = parts[1];
} else {
- if (username.length()==0) {
- usernameEdit.setError("username is too short");
- return;
- } else if (server.length()==0) {
- serverEdit.setError("server is too short");
- return;
- }
+ jidEdit.setError("Invalid Jabber ID");
+ return;
}
- if (account!=null) {
+ if (account != null) {
account.setPassword(password);
account.setUsername(username);
account.setServer(server);
} else {
account = new Account(username, server, password);
}
- if (listener!=null) {
+ account.setOption(Account.OPTION_USETLS, useTLS.isChecked());
+ if (listener != null) {
listener.onAccountEdited(account);
d.dismiss();
}
diff --git a/src/de/gultsch/chat/xmpp/XmppConnection.java b/src/de/gultsch/chat/xmpp/XmppConnection.java
index a7254624..56a0acb0 100644
--- a/src/de/gultsch/chat/xmpp/XmppConnection.java
+++ b/src/de/gultsch/chat/xmpp/XmppConnection.java
@@ -86,6 +86,9 @@ public class XmppConnection implements Runnable {
}
} catch (UnknownHostException e) {
account.setStatus(Account.STATUS_SERVER_NOT_FOUND);
+ if (statusListener!=null) {
+ statusListener.onStatusChanged(account);
+ }
return;
} catch (IOException e) {
if (shouldConnect) {