aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gen/de/gultsch/chat/R.java55
-rw-r--r--res/layout/edit_account_dialog.xml86
-rw-r--r--src/de/gultsch/chat/ui/EditAccount.java80
-rw-r--r--src/de/gultsch/chat/xmpp/XmppConnection.java3
4 files changed, 63 insertions, 161 deletions
diff --git a/gen/de/gultsch/chat/R.java b/gen/de/gultsch/chat/R.java
index 112e0de0..555148f9 100644
--- a/gen/de/gultsch/chat/R.java
+++ b/gen/de/gultsch/chat/R.java
@@ -41,25 +41,22 @@ public final class R {
}
public static final class id {
public static final int account_confirm_password_desc=0x7f0a0011;
- public static final int account_delete=0x7f0a002c;
- public static final int account_disable=0x7f0a002d;
- public static final int account_enable=0x7f0a002e;
+ public static final int account_delete=0x7f0a0025;
+ public static final int account_disable=0x7f0a0026;
+ public static final int account_enable=0x7f0a0027;
public static final int account_jid=0x7f0a0000;
- public static final int account_list=0x7f0a0021;
- public static final int account_password=0x7f0a000f;
+ public static final int account_list=0x7f0a001a;
+ public static final int account_password=0x7f0a000e;
public static final int account_password_confirm2=0x7f0a0012;
- public static final int account_server=0x7f0a0017;
- public static final int account_show_advanced=0x7f0a0013;
public static final int account_status=0x7f0a0002;
- public static final int account_username=0x7f0a000d;
- public static final int action_accounts=0x7f0a0029;
- public static final int action_add=0x7f0a0025;
- public static final int action_add_account=0x7f0a002b;
- public static final int action_archive=0x7f0a0028;
- public static final int action_details=0x7f0a0027;
- public static final int action_security=0x7f0a0026;
- public static final int action_settings=0x7f0a002a;
- public static final int advanced_options=0x7f0a0014;
+ public static final int account_usetls=0x7f0a000f;
+ public static final int action_accounts=0x7f0a0022;
+ public static final int action_add=0x7f0a001e;
+ public static final int action_add_account=0x7f0a0024;
+ public static final int action_archive=0x7f0a0021;
+ public static final int action_details=0x7f0a0020;
+ public static final int action_security=0x7f0a001f;
+ public static final int action_settings=0x7f0a0023;
public static final int contactList=0x7f0a0005;
public static final int contact_display_name=0x7f0a0007;
public static final int contact_jid=0x7f0a0008;
@@ -69,24 +66,20 @@ public final class R {
public static final int conversation_lastmsg=0x7f0a000b;
public static final int conversation_lastupdate=0x7f0a000c;
public static final int conversation_name=0x7f0a000a;
- public static final int editText3=0x7f0a0019;
public static final int edit_account_register_new=0x7f0a0010;
- public static final int list=0x7f0a001f;
- public static final int message_body=0x7f0a0023;
- public static final int message_photo=0x7f0a0022;
- public static final int message_time=0x7f0a0024;
- public static final int messages_view=0x7f0a001d;
+ public static final int list=0x7f0a0018;
+ public static final int message_body=0x7f0a001c;
+ public static final int message_photo=0x7f0a001b;
+ public static final int message_time=0x7f0a001d;
+ public static final int messages_view=0x7f0a0016;
public static final int new_conversation_search=0x7f0a0003;
- public static final int selected_conversation=0x7f0a0020;
- public static final int server_input_layout=0x7f0a0015;
- public static final int slidingpanelayout=0x7f0a001e;
- public static final int textSendButton=0x7f0a001c;
- public static final int textView1=0x7f0a000e;
+ public static final int selected_conversation=0x7f0a0019;
+ public static final int slidingpanelayout=0x7f0a0017;
+ public static final int textSendButton=0x7f0a0015;
+ public static final int textView1=0x7f0a000d;
public static final int textView2=0x7f0a0001;
- public static final int textView3=0x7f0a0016;
- public static final int textView4=0x7f0a0018;
- public static final int textinput=0x7f0a001b;
- public static final int textsend=0x7f0a001a;
+ public static final int textinput=0x7f0a0014;
+ public static final int textsend=0x7f0a0013;
}
public static final class layout {
public static final int account_row=0x7f030000;
diff --git a/res/layout/edit_account_dialog.xml b/res/layout/edit_account_dialog.xml
index 2d4de8af..2b1f95ab 100644
--- a/res/layout/edit_account_dialog.xml
+++ b/res/layout/edit_account_dialog.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
@@ -12,15 +11,7 @@
android:textSize="14sp"
android:text="Jabber ID:" />
- <EditText
- android:id="@+id/account_username"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:ems="10"
- android:inputType="textEmailAddress"
- android:visibility="gone"
- android:hint="Username">
- </EditText>
+
<EditText
android:id="@+id/account_jid"
@@ -51,7 +42,16 @@
android:hint="Password"
android:fontFamily="sans-serif" />
-
+
+
+ <CheckBox
+ android:id="@+id/account_usetls"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Use Transport Layer Security (TLS)"
+ android:checked="true"/>
+
+
<CheckBox
android:id="@+id/edit_account_register_new"
android:layout_width="wrap_content"
@@ -78,66 +78,4 @@
android:visibility="gone"
android:fontFamily="sans-serif" />
- <CheckBox
- android:id="@+id/account_show_advanced"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Show advanced options" />
-
- <RelativeLayout
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:id="@+id/advanced_options"
- android:visibility="gone">
-
- <LinearLayout
- android:id="@+id/server_input_layout"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical" >
-
- <TextView
- android:paddingTop="8dp"
- android:id="@+id/textView3"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Server:"
- android:textSize="14sp"/>
-
- <EditText
- android:id="@+id/account_server"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:ems="10"
- android:hint="Server"
- android:inputType="textUri"/>
-
- </LinearLayout>
-
- <LinearLayout
- android:layout_alignParentRight="true"
- android:layout_width="144dp"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:layout_toRightOf="@+id/server_input_layout">
-
- <TextView
- android:paddingTop="8dp"
- android:id="@+id/textView4"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Port:"
- android:textSize="14sp"/>
-
- <EditText
- android:id="@+id/editText3"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:ems="10"
- android:hint="Port"
- android:inputType="number"
- android:text="5222"/>
-
- </LinearLayout>
- </RelativeLayout>
</LinearLayout>
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) {