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.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}