Author: kmorin Date: 2014-01-23 09:53:04 +0100 (Thu, 23 Jan 2014) New Revision: 18 Url: http://forge.codelutin.com/projects/wlo/repository/revisions/18 Log: fixes #4181 Liste des esp?\195?\168ces scientifiques Modified: trunk/res/layout/scientific_species_form.xml trunk/src/fr/ifremer/wlo/CommercialSpeciesActivity.java trunk/src/fr/ifremer/wlo/ScientificSpeciesActivity.java trunk/src/fr/ifremer/wlo/ScientificSpeciesFormActivity.java trunk/src/fr/ifremer/wlo/models/ScientificSpeciesModel.java trunk/src/fr/ifremer/wlo/models/referentials/ScientificSpecies.java trunk/src/fr/ifremer/wlo/utils/WloItemListViewBinder.java Modified: trunk/res/layout/scientific_species_form.xml =================================================================== --- trunk/res/layout/scientific_species_form.xml 2014-01-22 21:54:59 UTC (rev 17) +++ trunk/res/layout/scientific_species_form.xml 2014-01-23 08:53:04 UTC (rev 18) @@ -19,11 +19,12 @@ android:layout_width="match_parent" android:layout_height="wrap_content"/> - <EditText android:id="@+id/scientific_species_form_name" - android:text="@string/undefined" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:singleLine="true"/> + <fr.ifremer.wlo.utils.WloAutoCompleteTextView + android:id="@+id/scientific_species_form_name" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:singleLine="true" + android:hint="@string/undefined"/> <CheckBox android:id="@+id/commercial_species_form_species_mix" android:text="@string/commercial_species_form_species_mix" Modified: trunk/src/fr/ifremer/wlo/CommercialSpeciesActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/CommercialSpeciesActivity.java 2014-01-22 21:54:59 UTC (rev 17) +++ trunk/src/fr/ifremer/wlo/CommercialSpeciesActivity.java 2014-01-23 08:53:04 UTC (rev 18) @@ -56,7 +56,6 @@ return MetiersActivity.class; } - @Override protected SimpleCursorAdapter.ViewBinder getAdapterBinder() { Map<Integer, WloItemListViewBinder.DataType> types = Maps.newHashMap(); Modified: trunk/src/fr/ifremer/wlo/ScientificSpeciesActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/ScientificSpeciesActivity.java 2014-01-22 21:54:59 UTC (rev 17) +++ trunk/src/fr/ifremer/wlo/ScientificSpeciesActivity.java 2014-01-23 08:53:04 UTC (rev 18) @@ -6,9 +6,13 @@ import android.util.Log; import android.view.View; import android.widget.ListView; +import com.google.common.collect.Maps; import fr.ifremer.wlo.measurement.MeasurementActivity; import fr.ifremer.wlo.models.ScientificSpeciesModel; +import fr.ifremer.wlo.utils.WloItemListViewBinder; +import java.util.Map; + /** * @author kmorin <kmorin@codelutin.com> * @since 0.1 @@ -32,7 +36,7 @@ @Override protected ScientificSpeciesModel createNewModel(Cursor cursor) { - return new ScientificSpeciesModel(cursor); + return new ScientificSpeciesModel(this, cursor); } @Override @@ -65,4 +69,11 @@ intent.putExtra(MeasurementActivity.INTENT_EXTRA_SCIENTIFIC_SPECIES, model); startActivity(intent); } + + @Override + protected SimpleCursorAdapter.ViewBinder getAdapterBinder() { + Map<Integer, WloItemListViewBinder.DataType> types = Maps.newHashMap(); + types.put(1, WloItemListViewBinder.DataType.SCIENTIFIC_SPECIES); + return new WloItemListViewBinder(this, types); + } } \ No newline at end of file Modified: trunk/src/fr/ifremer/wlo/ScientificSpeciesFormActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/ScientificSpeciesFormActivity.java 2014-01-22 21:54:59 UTC (rev 17) +++ trunk/src/fr/ifremer/wlo/ScientificSpeciesFormActivity.java 2014-01-23 08:53:04 UTC (rev 18) @@ -4,10 +4,15 @@ import android.os.Bundle; import android.util.Log; import android.view.View; +import com.google.common.collect.Lists; import fr.ifremer.wlo.measurement.MeasurementActivity; import fr.ifremer.wlo.models.ScientificSpeciesModel; +import fr.ifremer.wlo.models.referentials.ScientificSpecies; +import fr.ifremer.wlo.storage.DataCache; import fr.ifremer.wlo.storage.WloSqlOpenHelper; +import java.util.List; + /** * @author kmorin <kmorin@codelutin.com> * @since 0.1 @@ -46,9 +51,9 @@ // speciesMixEditor = (CheckBox) findViewById(R.id.commercial_species_form_species_mix); // init editors + List<ScientificSpecies> scientificSpecies = Lists.newArrayList(DataCache.getAllScientificSpecies(this)); + initAutoCompleteTextView(R.id.scientific_species_form_name, ScientificSpeciesModel.COLUMN_NAME, scientificSpecies); - initEditText(R.id.scientific_species_form_name, ScientificSpeciesModel.COLUMN_NAME); - } @Override Modified: trunk/src/fr/ifremer/wlo/models/ScientificSpeciesModel.java =================================================================== --- trunk/src/fr/ifremer/wlo/models/ScientificSpeciesModel.java 2014-01-22 21:54:59 UTC (rev 17) +++ trunk/src/fr/ifremer/wlo/models/ScientificSpeciesModel.java 2014-01-23 08:53:04 UTC (rev 18) @@ -1,7 +1,10 @@ package fr.ifremer.wlo.models; import android.content.ContentValues; +import android.content.Context; import android.database.Cursor; +import fr.ifremer.wlo.models.referentials.ScientificSpecies; +import fr.ifremer.wlo.storage.DataCache; import fr.ifremer.wlo.utils.UIUtils; /** @@ -23,23 +26,24 @@ COLUMN_COMMERCIAL_SPECIES_ID }; - protected String name; + protected ScientificSpecies name; protected boolean takingActivation; public ScientificSpeciesModel() { } - public ScientificSpeciesModel(Cursor cursor) { + public ScientificSpeciesModel(Context context, Cursor cursor) { super(cursor); - name = cursor.getString(1); + String nameId = cursor.getString(1); + name = DataCache.getScientificSpeciesById(context, nameId); takingActivation = cursor.getShort(2) > 0; } - public String getName() { + public ScientificSpecies getName() { return name; } - public void setName(String name) { + public void setName(ScientificSpecies name) { this.name = name; } @@ -64,7 +68,7 @@ @Override public ContentValues convertIntoContentValues() { ContentValues value = super.convertIntoContentValues(); - putValue(value, COLUMN_NAME, name); + putValue(value, COLUMN_NAME, name != null ? name.getId() : null); putValue(value, COLUMN_TAKING_ACTIVATION, takingActivation ? 1 : 0); putValue(value, COLUMN_COMMERCIAL_SPECIES_ID, getParentId()); return value; Modified: trunk/src/fr/ifremer/wlo/models/referentials/ScientificSpecies.java =================================================================== --- trunk/src/fr/ifremer/wlo/models/referentials/ScientificSpecies.java 2014-01-22 21:54:59 UTC (rev 17) +++ trunk/src/fr/ifremer/wlo/models/referentials/ScientificSpecies.java 2014-01-23 08:53:04 UTC (rev 18) @@ -68,6 +68,11 @@ } @Override + public String toString() { + return code + " - " + label; + } + + @Override public String toString(android.content.Context context) { return UIUtils.getStringOrUndefined(code, context) + " - " + UIUtils.getStringOrUndefined(label, context); Modified: trunk/src/fr/ifremer/wlo/utils/WloItemListViewBinder.java =================================================================== --- trunk/src/fr/ifremer/wlo/utils/WloItemListViewBinder.java 2014-01-22 21:54:59 UTC (rev 17) +++ trunk/src/fr/ifremer/wlo/utils/WloItemListViewBinder.java 2014-01-23 08:53:04 UTC (rev 18) @@ -27,7 +27,9 @@ private static final String TAG = "WloItemListViewBinder"; public enum DataType { - DATE, DATETIME, LOCATION, METIER, COMMERCIAL_SPECIES, MENSURATION, STATE, PRESENTATION + DATE, DATETIME, LOCATION, METIER, + MENSURATION, STATE, PRESENTATION, + COMMERCIAL_SPECIES, SCIENTIFIC_SPECIES } protected Map<Integer, DataType> dataTypes = Maps.newHashMap(); @@ -89,6 +91,9 @@ case PRESENTATION: ref = DataCache.getPresentationById(context, id); break; + case SCIENTIFIC_SPECIES: + ref = DataCache.getScientificSpeciesById(context, id); + break; } TextView textView = (TextView) view; textView.setText(UIUtils.getStringOrUndefined(ref, context));