From 94933e21cd08c53a23e5ec6c12bc1dc383b1f3ce Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Fri, 29 Jul 2016 19:52:37 +0200 Subject: changed package id inside manifest and project --- .../ui/forms/FormBooleanFieldWrapper.java | 80 ------------------ .../conversations/ui/forms/FormFieldFactory.java | 30 ------- .../conversations/ui/forms/FormFieldWrapper.java | 93 --------------------- .../ui/forms/FormJidSingleFieldWrapper.java | 44 ---------- .../ui/forms/FormTextFieldWrapper.java | 97 ---------------------- .../siacs/conversations/ui/forms/FormWrapper.java | 72 ---------------- 6 files changed, 416 deletions(-) delete mode 100644 src/main/java/eu/siacs/conversations/ui/forms/FormBooleanFieldWrapper.java delete mode 100644 src/main/java/eu/siacs/conversations/ui/forms/FormFieldFactory.java delete mode 100644 src/main/java/eu/siacs/conversations/ui/forms/FormFieldWrapper.java delete mode 100644 src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java delete mode 100644 src/main/java/eu/siacs/conversations/ui/forms/FormTextFieldWrapper.java delete mode 100644 src/main/java/eu/siacs/conversations/ui/forms/FormWrapper.java (limited to 'src/main/java/eu/siacs/conversations/ui/forms') diff --git a/src/main/java/eu/siacs/conversations/ui/forms/FormBooleanFieldWrapper.java b/src/main/java/eu/siacs/conversations/ui/forms/FormBooleanFieldWrapper.java deleted file mode 100644 index 6cb357a90..000000000 --- a/src/main/java/eu/siacs/conversations/ui/forms/FormBooleanFieldWrapper.java +++ /dev/null @@ -1,80 +0,0 @@ -package eu.siacs.conversations.ui.forms; - -import android.content.Context; -import android.widget.CheckBox; -import android.widget.CompoundButton; - -import java.util.ArrayList; -import java.util.List; - -import eu.siacs.conversations.R; -import eu.siacs.conversations.xmpp.forms.Field; - -public class FormBooleanFieldWrapper extends FormFieldWrapper { - - protected CheckBox checkBox; - - protected FormBooleanFieldWrapper(Context context, Field field) { - super(context, field); - checkBox = (CheckBox) view.findViewById(R.id.field); - checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - checkBox.setError(null); - invokeOnFormFieldValuesEdited(); - } - }); - } - - @Override - protected void setLabel(String label, boolean required) { - CheckBox checkBox = (CheckBox) view.findViewById(R.id.field); - checkBox.setText(createSpannableLabelString(label, required)); - } - - @Override - public List getValues() { - List values = new ArrayList<>(); - values.add(Boolean.toString(checkBox.isChecked())); - return values; - } - - @Override - protected void setValues(List values) { - if (values.size() == 0) { - checkBox.setChecked(false); - } else { - checkBox.setChecked(Boolean.parseBoolean(values.get(0))); - } - } - - @Override - public boolean validates() { - if (checkBox.isChecked() || !field.isRequired()) { - return true; - } else { - checkBox.setError(context.getString(R.string.this_field_is_required)); - checkBox.requestFocus(); - return false; - } - } - - @Override - public boolean edited() { - if (field.getValues().size() == 0) { - return checkBox.isChecked(); - } else { - return super.edited(); - } - } - - @Override - protected int getLayoutResource() { - return R.layout.form_boolean; - } - - @Override - void setReadOnly(boolean readOnly) { - checkBox.setEnabled(!readOnly); - } -} diff --git a/src/main/java/eu/siacs/conversations/ui/forms/FormFieldFactory.java b/src/main/java/eu/siacs/conversations/ui/forms/FormFieldFactory.java deleted file mode 100644 index ee3064726..000000000 --- a/src/main/java/eu/siacs/conversations/ui/forms/FormFieldFactory.java +++ /dev/null @@ -1,30 +0,0 @@ -package eu.siacs.conversations.ui.forms; - -import android.content.Context; - -import java.util.Hashtable; - -import eu.siacs.conversations.xmpp.forms.Field; - - - -public class FormFieldFactory { - - private static final Hashtable typeTable = new Hashtable<>(); - - static { - typeTable.put("text-single", FormTextFieldWrapper.class); - typeTable.put("text-multi", FormTextFieldWrapper.class); - typeTable.put("text-private", FormTextFieldWrapper.class); - typeTable.put("jid-single", FormJidSingleFieldWrapper.class); - typeTable.put("boolean", FormBooleanFieldWrapper.class); - } - - protected static FormFieldWrapper createFromField(Context context, Field field) { - Class clazz = typeTable.get(field.getType()); - if (clazz == null) { - clazz = FormTextFieldWrapper.class; - } - return FormFieldWrapper.createFromField(clazz, context, field); - } -} diff --git a/src/main/java/eu/siacs/conversations/ui/forms/FormFieldWrapper.java b/src/main/java/eu/siacs/conversations/ui/forms/FormFieldWrapper.java deleted file mode 100644 index 3b051191b..000000000 --- a/src/main/java/eu/siacs/conversations/ui/forms/FormFieldWrapper.java +++ /dev/null @@ -1,93 +0,0 @@ -package eu.siacs.conversations.ui.forms; - -import android.content.Context; -import android.text.SpannableString; -import android.text.style.ForegroundColorSpan; -import android.text.style.StyleSpan; -import android.view.LayoutInflater; -import android.view.View; - -import java.util.List; - -import eu.siacs.conversations.R; -import eu.siacs.conversations.xmpp.forms.Field; - -public abstract class FormFieldWrapper { - - protected final Context context; - protected final Field field; - protected final View view; - protected OnFormFieldValuesEdited onFormFieldValuesEditedListener; - - protected FormFieldWrapper(Context context, Field field) { - this.context = context; - this.field = field; - LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - this.view = inflater.inflate(getLayoutResource(), null); - String label = field.getLabel(); - if (label == null) { - label = field.getFieldName(); - } - setLabel(label, field.isRequired()); - } - - public final void submit() { - this.field.setValues(getValues()); - } - - public final View getView() { - return view; - } - - protected abstract void setLabel(String label, boolean required); - - abstract List getValues(); - - protected abstract void setValues(List values); - - abstract boolean validates(); - - abstract protected int getLayoutResource(); - - abstract void setReadOnly(boolean readOnly); - - protected SpannableString createSpannableLabelString(String label, boolean required) { - SpannableString spannableString = new SpannableString(label + (required ? " *" : "")); - if (required) { - int start = label.length(); - int end = label.length() + 2; - spannableString.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), start, end, 0); - spannableString.setSpan(new ForegroundColorSpan(context.getResources().getColor(R.color.accent)), start, end, 0); - } - return spannableString; - } - - protected void invokeOnFormFieldValuesEdited() { - if (this.onFormFieldValuesEditedListener != null) { - this.onFormFieldValuesEditedListener.onFormFieldValuesEdited(); - } - } - - public boolean edited() { - return !field.getValues().equals(getValues()); - } - - public void setOnFormFieldValuesEditedListener(OnFormFieldValuesEdited listener) { - this.onFormFieldValuesEditedListener = listener; - } - - protected static FormFieldWrapper createFromField(Class c, Context context, Field field) { - try { - F fieldWrapper = c.getDeclaredConstructor(Context.class, Field.class).newInstance(context,field); - fieldWrapper.setValues(field.getValues()); - return fieldWrapper; - } catch (Exception e) { - e.printStackTrace(); - return null; - } - } - - public interface OnFormFieldValuesEdited { - void onFormFieldValuesEdited(); - } -} diff --git a/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java b/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java deleted file mode 100644 index 553e8f21f..000000000 --- a/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java +++ /dev/null @@ -1,44 +0,0 @@ -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; -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) { - editText.setError(context.getString(R.string.invalid_jid)); - editText.requestFocus(); - return false; - } - } - return super.validates(); - } - - @Override - protected void setValues(List values) { - StringBuilder builder = new StringBuilder(""); - for(String value : values) { - builder.append(value); - } - editText.setText(builder.toString()); - } -} diff --git a/src/main/java/eu/siacs/conversations/ui/forms/FormTextFieldWrapper.java b/src/main/java/eu/siacs/conversations/ui/forms/FormTextFieldWrapper.java deleted file mode 100644 index b7dac9510..000000000 --- a/src/main/java/eu/siacs/conversations/ui/forms/FormTextFieldWrapper.java +++ /dev/null @@ -1,97 +0,0 @@ -package eu.siacs.conversations.ui.forms; - -import android.content.Context; -import android.text.Editable; -import android.text.InputType; -import android.text.TextWatcher; -import android.widget.EditText; -import android.widget.TextView; - -import java.util.ArrayList; -import java.util.List; - -import eu.siacs.conversations.R; -import eu.siacs.conversations.xmpp.forms.Field; - -public class FormTextFieldWrapper extends FormFieldWrapper { - - protected EditText editText; - - protected FormTextFieldWrapper(Context context, Field field) { - super(context, field); - editText = (EditText) view.findViewById(R.id.field); - editText.setSingleLine(!"text-multi".equals(field.getType())); - if ("text-private".equals(field.getType())) { - editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); - } - editText.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - editText.setError(null); - invokeOnFormFieldValuesEdited(); - } - - @Override - public void afterTextChanged(Editable s) { - } - }); - } - - @Override - protected void setLabel(String label, boolean required) { - TextView textView = (TextView) view.findViewById(R.id.label); - textView.setText(createSpannableLabelString(label, required)); - } - - protected String getValue() { - return editText.getText().toString(); - } - - @Override - public List getValues() { - List values = new ArrayList<>(); - for (String line : getValue().split("\\n")) { - if (line.length() > 0) { - values.add(line); - } - } - return values; - } - - @Override - protected void setValues(List values) { - StringBuilder builder = new StringBuilder(""); - for(int i = 0; i < values.size(); ++i) { - builder.append(values.get(i)); - if (i < values.size() - 1 && "text-multi".equals(field.getType())) { - builder.append("\n"); - } - } - editText.setText(builder.toString()); - } - - @Override - public boolean validates() { - if (getValue().trim().length() > 0 || !field.isRequired()) { - return true; - } else { - editText.setError(context.getString(R.string.this_field_is_required)); - editText.requestFocus(); - return false; - } - } - - @Override - protected int getLayoutResource() { - return R.layout.form_text; - } - - @Override - void setReadOnly(boolean readOnly) { - editText.setEnabled(!readOnly); - } -} diff --git a/src/main/java/eu/siacs/conversations/ui/forms/FormWrapper.java b/src/main/java/eu/siacs/conversations/ui/forms/FormWrapper.java deleted file mode 100644 index eafe95cc8..000000000 --- a/src/main/java/eu/siacs/conversations/ui/forms/FormWrapper.java +++ /dev/null @@ -1,72 +0,0 @@ -package eu.siacs.conversations.ui.forms; - -import android.content.Context; -import android.widget.LinearLayout; - -import java.util.ArrayList; -import java.util.List; - -import eu.siacs.conversations.xmpp.forms.Data; -import eu.siacs.conversations.xmpp.forms.Field; - -public class FormWrapper { - - private final LinearLayout layout; - - private final Data form; - - private final List fieldWrappers = new ArrayList<>(); - - private FormWrapper(Context context, LinearLayout linearLayout, Data form) { - this.form = form; - this.layout = linearLayout; - this.layout.removeAllViews(); - for(Field field : form.getFields()) { - FormFieldWrapper fieldWrapper = FormFieldFactory.createFromField(context,field); - if (fieldWrapper != null) { - layout.addView(fieldWrapper.getView()); - fieldWrappers.add(fieldWrapper); - } - } - } - - public Data submit() { - for(FormFieldWrapper fieldWrapper : fieldWrappers) { - fieldWrapper.submit(); - } - this.form.submit(); - return this.form; - } - - public boolean validates() { - boolean validates = true; - for(FormFieldWrapper fieldWrapper : fieldWrappers) { - validates &= fieldWrapper.validates(); - } - return validates; - } - - public void setOnFormFieldValuesEditedListener(FormFieldWrapper.OnFormFieldValuesEdited listener) { - for(FormFieldWrapper fieldWrapper : fieldWrappers) { - fieldWrapper.setOnFormFieldValuesEditedListener(listener); - } - } - - public void setReadOnly(boolean b) { - for(FormFieldWrapper fieldWrapper : fieldWrappers) { - fieldWrapper.setReadOnly(b); - } - } - - public boolean edited() { - boolean edited = false; - for(FormFieldWrapper fieldWrapper : fieldWrappers) { - edited |= fieldWrapper.edited(); - } - return edited; - } - - public static FormWrapper createInLayout(Context context, LinearLayout layout, Data form) { - return new FormWrapper(context, layout, form); - } -} -- cgit v1.2.3