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
1 changed files with 7 additions and 1 deletions

View File

@ -29,10 +29,16 @@ import java.util.TimerTask;
public class FolderListFragment extends ListFragment implements SyncthingService.OnApiChangeListener,
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>() {
@Override
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);
}
};