From f8d4d7e2b3190725746ce35c9856582d2ea8c247 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Thu, 24 Sep 2015 20:47:05 +0000 Subject: [PATCH] sort models by name --- .../mobile/Android/src/org/geuz/onelab/Model.java | 8 ++++++++ .../src/org/geuz/onelab/ModelArrayAdapter.java | 13 +++++++++++-- .../Android/src/org/geuz/onelab/ModelList.java | 8 +++++--- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/contrib/mobile/Android/src/org/geuz/onelab/Model.java b/contrib/mobile/Android/src/org/geuz/onelab/Model.java index dfc50a4524..6cdc581448 100644 --- a/contrib/mobile/Android/src/org/geuz/onelab/Model.java +++ b/contrib/mobile/Android/src/org/geuz/onelab/Model.java @@ -2,6 +2,7 @@ package org.geuz.onelab; import java.io.File; import android.net.Uri; +import java.util.Comparator; import android.graphics.Bitmap; import android.graphics.BitmapFactory; @@ -32,3 +33,10 @@ class Model { } public void setUrl(Uri url) { _url = url; } } + +class ModelComp implements Comparator<Model>{ + @Override + public int compare(Model e1, Model e2) { + return e1.getName().compareTo(e2.getName()); + } +} diff --git a/contrib/mobile/Android/src/org/geuz/onelab/ModelArrayAdapter.java b/contrib/mobile/Android/src/org/geuz/onelab/ModelArrayAdapter.java index 60dc9c9987..ac6fc70ce7 100644 --- a/contrib/mobile/Android/src/org/geuz/onelab/ModelArrayAdapter.java +++ b/contrib/mobile/Android/src/org/geuz/onelab/ModelArrayAdapter.java @@ -2,6 +2,7 @@ package org.geuz.onelab; import java.util.List; import java.util.ArrayList; +import java.util.Collections; import android.content.Context; import android.view.LayoutInflater; @@ -15,7 +16,7 @@ public class ModelArrayAdapter extends ArrayAdapter<Model> { private List<Model> _models; public ModelArrayAdapter(Context c) - { + { super(c, R.layout.model); _models = new ArrayList<Model>(); } @@ -27,7 +28,15 @@ public class ModelArrayAdapter extends ArrayAdapter<Model> { _models.add(model); } - public Model getModel(int pos) { return _models.get(pos); } + public void sortByName() + { + Collections.sort(_models, new ModelComp()); + } + + public Model getModel(int pos) + { + return _models.get(pos); + } @Override public View getView(int position, View convertView, final ViewGroup parent) diff --git a/contrib/mobile/Android/src/org/geuz/onelab/ModelList.java b/contrib/mobile/Android/src/org/geuz/onelab/ModelList.java index 8d9d906082..74eb4cf65c 100644 --- a/contrib/mobile/Android/src/org/geuz/onelab/ModelList.java +++ b/contrib/mobile/Android/src/org/geuz/onelab/ModelList.java @@ -65,12 +65,13 @@ public class ModelList extends Activity { CharSequence[] actions; if(m.getUrl() != null) { actions = new CharSequence[2]; - actions[0] = "Open this model"; - actions[1] = "More information"; + actions[0] = "Open model"; + actions[1] = "View model website"; + // FIXME: add "Remove model" as in iOS } else { actions = new CharSequence[1]; - actions[0] = "Open this model"; + actions[0] = "Open model"; } AlertDialog.Builder builder = new AlertDialog.Builder(parent.getContext()); builder.setTitle(m.getName()); @@ -182,6 +183,7 @@ public class ModelList extends Activity { } } } + _modelArrayAdapter.sortByName(); } private void readModel(XmlPullParser parser, String dir) throws XmlPullParserException, IOException { -- GitLab