FormJidSingleFieldWrapper.java

 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}