aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/github/daneren2005/dsub/domain
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2016-02-04 17:45:10 -0800
committerScott Jackson <daneren2005@gmail.com>2016-02-04 17:45:10 -0800
commitfc4a916e766ac7f6c5893c823dec05bfc2ed963e (patch)
tree4a8872a8442327c1658aedfd62e67114cc8ad732 /app/src/main/java/github/daneren2005/dsub/domain
parent9f1b6f8e6112291be729ab5ba3b2fb1795971fe6 (diff)
downloaddsub-fc4a916e766ac7f6c5893c823dec05bfc2ed963e.tar.gz
dsub-fc4a916e766ac7f6c5893c823dec05bfc2ed963e.tar.bz2
dsub-fc4a916e766ac7f6c5893c823dec05bfc2ed963e.zip
Sort music folders
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/domain')
-rw-r--r--app/src/main/java/github/daneren2005/dsub/domain/MusicFolder.java49
1 files changed, 36 insertions, 13 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/domain/MusicFolder.java b/app/src/main/java/github/daneren2005/dsub/domain/MusicFolder.java
index 12ca5909..37f76249 100644
--- a/app/src/main/java/github/daneren2005/dsub/domain/MusicFolder.java
+++ b/app/src/main/java/github/daneren2005/dsub/domain/MusicFolder.java
@@ -18,7 +18,12 @@
*/
package github.daneren2005.dsub.domain;
+import android.util.Log;
+
import java.io.Serializable;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
/**
* Represents a top level directory in which music or other media is stored.
@@ -27,26 +32,26 @@ import java.io.Serializable;
* @version $Id$
*/
public class MusicFolder implements Serializable {
-
- private String id;
- private String name;
+ private static final String TAG = MusicFolder.class.getSimpleName();
+ private String id;
+ private String name;
private boolean enabled;
public MusicFolder() {
}
- public MusicFolder(String id, String name) {
- this.id = id;
- this.name = name;
- }
+ public MusicFolder(String id, String name) {
+ this.id = id;
+ this.name = name;
+ }
- public String getId() {
- return id;
- }
+ public String getId() {
+ return id;
+ }
- public String getName() {
- return name;
- }
+ public String getName() {
+ return name;
+ }
public void setEnabled(boolean enabled) {
this.enabled = enabled;
@@ -54,4 +59,22 @@ public class MusicFolder implements Serializable {
public boolean getEnabled() {
return enabled;
}
+
+ public static class MusicFolderComparator implements Comparator<MusicFolder> {
+ public int compare(MusicFolder lhsMusicFolder, MusicFolder rhsMusicFolder) {
+ if(lhsMusicFolder == rhsMusicFolder || lhsMusicFolder.getName().equals(rhsMusicFolder.getName())) {
+ return 0;
+ } else {
+ return lhsMusicFolder.getName().compareToIgnoreCase(rhsMusicFolder.getName());
+ }
+ }
+ }
+
+ public static void sort(List<MusicFolder> musicFolders) {
+ try {
+ Collections.sort(musicFolders, new MusicFolderComparator());
+ } catch (Exception e) {
+ Log.w(TAG, "Failed to sort music folders", e);
+ }
+ }
}