From 39fdf4a333378affcca360886701851d84dd9e0b Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Sat, 23 Jan 2016 12:44:08 +0100 Subject: added support for field types jid-single and text-private --- .../ui/forms/FormJidSingleFieldWrapper.java | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java (limited to 'src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java') diff --git a/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java b/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java new file mode 100644 index 00000000..b54940f6 --- /dev/null +++ b/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java @@ -0,0 +1,31 @@ +package eu.siacs.conversations.ui.forms; + +import android.content.Context; +import android.text.InputType; + +import eu.siacs.conversations.R; +import eu.siacs.conversations.xmpp.forms.Field; +import eu.siacs.conversations.xmpp.jid.InvalidJidException; +import eu.siacs.conversations.xmpp.jid.Jid; + +public class FormJidSingleFieldWrapper extends FormTextFieldWrapper { + + protected FormJidSingleFieldWrapper(Context context, Field field) { + super(context, field); + editText.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); + editText.setHint(R.string.account_settings_example_jabber_id); + } + + @Override + public boolean validates() { + String value = getValue(); + if (!value.isEmpty()) { + try { + Jid.fromString(value); + } catch (InvalidJidException e) { + return false; + } + } + return super.validates(); + } +} -- cgit v1.2.3 From 8850a1fbe3d8affd734b94eb0eb650dc1dfa5bd6 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Sat, 23 Jan 2016 20:32:00 +0100 Subject: added FormWrapper and form field validation --- .../java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java') diff --git a/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java b/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java index b54940f6..3890a1a7 100644 --- a/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java +++ b/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java @@ -23,6 +23,8 @@ public class FormJidSingleFieldWrapper extends FormTextFieldWrapper { try { Jid.fromString(value); } catch (InvalidJidException e) { + editText.setError(context.getString(R.string.invalid_jid)); + editText.requestFocus(); return false; } } -- cgit v1.2.3 From d2c5a939ed2cf42374e0ddb528ee363b7fefee8c Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Tue, 26 Jan 2016 17:23:24 +0100 Subject: show values in formfieldwrappers and allow form to be set to read only --- .../conversations/ui/forms/FormJidSingleFieldWrapper.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java') diff --git a/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java b/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java index 3890a1a7..553e8f21 100644 --- a/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java +++ b/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java @@ -3,6 +3,8 @@ package eu.siacs.conversations.ui.forms; import android.content.Context; import android.text.InputType; +import java.util.List; + import eu.siacs.conversations.R; import eu.siacs.conversations.xmpp.forms.Field; import eu.siacs.conversations.xmpp.jid.InvalidJidException; @@ -30,4 +32,13 @@ public class FormJidSingleFieldWrapper extends FormTextFieldWrapper { } return super.validates(); } + + @Override + protected void setValues(List values) { + StringBuilder builder = new StringBuilder(""); + for(String value : values) { + builder.append(value); + } + editText.setText(builder.toString()); + } } -- cgit v1.2.3