1package eu.siacs.conversations.ui.forms;
2
3import android.content.Context;
4import android.text.InputType;
5
6import java.util.List;
7
8import eu.siacs.conversations.R;
9import eu.siacs.conversations.xmpp.forms.Field;
10import eu.siacs.conversations.xmpp.jid.InvalidJidException;
11import eu.siacs.conversations.xmpp.jid.Jid;
12
13public class FormJidSingleFieldWrapper extends FormTextFieldWrapper {
14
15 protected FormJidSingleFieldWrapper(Context context, Field field) {
16 super(context, field);
17 editText.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
18 editText.setHint(R.string.account_settings_example_jabber_id);
19 }
20
21 @Override
22 public boolean validates() {
23 String value = getValue();
24 if (!value.isEmpty()) {
25 try {
26 Jid.fromString(value);
27 } catch (InvalidJidException e) {
28 editText.setError(context.getString(R.string.invalid_jid));
29 editText.requestFocus();
30 return false;
31 }
32 }
33 return super.validates();
34 }
35
36 @Override
37 protected void setValues(List<String> values) {
38 StringBuilder builder = new StringBuilder("");
39 for(String value : values) {
40 builder.append(value);
41 }
42 editText.setText(builder.toString());
43 }
44}