Sort group names alphabetically in composition activities.

This commit is contained in:
akwizgran
2013-04-13 16:40:36 +01:00
parent 084b83bb45
commit 3a4a8c4ea1
3 changed files with 30 additions and 14 deletions

View File

@@ -0,0 +1,14 @@
package net.sf.briar.android.groups;
import java.util.Comparator;
import net.sf.briar.api.messaging.Group;
class GroupNameComparator implements Comparator<Group> {
static final GroupNameComparator INSTANCE = new GroupNameComparator();
public int compare(Group a, Group b) {
return String.CASE_INSENSITIVE_ORDER.compare(a.getName(), b.getName());
}
}

View File

@@ -224,15 +224,16 @@ implements OnItemSelectedListener, OnClickListener {
runOnUiThread(new Runnable() { runOnUiThread(new Runnable() {
public void run() { public void run() {
if(groups.isEmpty()) finish(); if(groups.isEmpty()) finish();
int index = -1; toAdapter.clear();
for(LocalGroup g : groups) { for(LocalGroup g : groups) toAdapter.add(g);
if(g.getId().equals(localGroupId)) { toAdapter.sort(GroupNameComparator.INSTANCE);
localGroup = g; int count = toAdapter.getCount();
index = toAdapter.getCount(); for(int i = 0; i < count; i++) {
if(toAdapter.getItem(i).getId().equals(localGroupId)) {
toSpinner.setSelection(i);
break;
} }
toAdapter.add(g);
} }
if(index != -1) toSpinner.setSelection(index);
} }
}); });
} }

View File

@@ -229,15 +229,16 @@ implements OnItemSelectedListener, OnClickListener {
runOnUiThread(new Runnable() { runOnUiThread(new Runnable() {
public void run() { public void run() {
if(groups.isEmpty()) finish(); if(groups.isEmpty()) finish();
int index = -1; toAdapter.clear();
for(Group g : groups) { for(Group g : groups) toAdapter.add(g);
if(g.getId().equals(groupId)) { toAdapter.sort(GroupNameComparator.INSTANCE);
group = g; int count = toAdapter.getCount();
index = toAdapter.getCount(); for(int i = 0; i < count; i++) {
if(toAdapter.getItem(i).getId().equals(groupId)) {
toSpinner.setSelection(i);
break;
} }
toAdapter.add(g);
} }
if(index != -1) toSpinner.setSelection(index);
} }
}); });
} }