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.Jid;
10import eu.siacs.conversations.xmpp.forms.Field;
11
12public class FormJidSingleFieldWrapper extends FormTextFieldWrapper {
13
14 protected FormJidSingleFieldWrapper(Context context, Field field) {
15 super(context, field);
16 editText.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
17 editText.setHint(R.string.account_settings_example_jabber_id);
18 }
19
20 @Override
21 public boolean validates() {
22 String value = getValue();
23 if (!value.isEmpty()) {
24 try {
25 Jid.of(value);
26 } catch (IllegalArgumentException e) {
27 editText.setError(context.getString(R.string.invalid_jid));
28 editText.requestFocus();
29 return false;
30 }
31 }
32 return super.validates();
33 }
34
35 @Override
36 protected void setValues(List<String> values) {
37 StringBuilder builder = new StringBuilder();
38 for(String value : values) {
39 builder.append(value);
40 }
41 editText.setText(builder.toString());
42 }
43}