1
0
Fork 0
mirror of https://github.com/syncthing/syncthing-android.git synced 2024-11-26 22:31:16 +00:00

Sort folders by label

If the label is empty or unset, use the folder ID in comparision.
This commit is contained in:
Cedric Staniewski 2016-07-03 20:48:24 +02:00
parent 49d053f6bc
commit 3a8346b9a5

View file

@ -29,10 +29,16 @@ import java.util.TimerTask;
public class FolderListFragment extends ListFragment implements SyncthingService.OnApiChangeListener, public class FolderListFragment extends ListFragment implements SyncthingService.OnApiChangeListener,
AdapterView.OnItemClickListener, AdapterView.OnItemLongClickListener { AdapterView.OnItemClickListener, AdapterView.OnItemLongClickListener {
/**
* Compares folders by labels, uses the folder ID as fallback if the label is empty
*/
private final static Comparator<RestApi.Folder> FOLDERS_COMPARATOR = new Comparator<RestApi.Folder>() { private final static Comparator<RestApi.Folder> FOLDERS_COMPARATOR = new Comparator<RestApi.Folder>() {
@Override @Override
public int compare(RestApi.Folder lhs, RestApi.Folder rhs) { public int compare(RestApi.Folder lhs, RestApi.Folder rhs) {
return lhs.id.compareTo(rhs.id); String lhsLabel = lhs.label != null && !lhs.label.isEmpty() ? lhs.label : lhs.id;
String rhsLabel = rhs.label != null && !rhs.label.isEmpty() ? rhs.label : rhs.id;
return lhsLabel.compareTo(rhsLabel);
} }
}; };