diff options
Diffstat (limited to 'subsonic-android/src/github/daneren2005/dsub/util/FileUtil.java')
-rw-r--r-- | subsonic-android/src/github/daneren2005/dsub/util/FileUtil.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/subsonic-android/src/github/daneren2005/dsub/util/FileUtil.java b/subsonic-android/src/github/daneren2005/dsub/util/FileUtil.java index 3762d346..421226cf 100644 --- a/subsonic-android/src/github/daneren2005/dsub/util/FileUtil.java +++ b/subsonic-android/src/github/daneren2005/dsub/util/FileUtil.java @@ -35,6 +35,7 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Environment; import android.util.Log; +import github.daneren2005.dsub.domain.Artist; import github.daneren2005.dsub.domain.MusicDirectory; /** @@ -112,15 +113,23 @@ public class FileUtil { ensureDirectoryExistsAndIsReadWritable(new File(albumArtDir, ".nomedia")); return albumArtDir; } + + public static File getArtistDirectory(Context context, Artist artist) { + File dir = new File(getMusicDirectory(context).getPath() + "/" + fileSystemSafe(artist.getName())); + return dir; + } - private static File getAlbumDirectory(Context context, MusicDirectory.Entry entry) { + public static File getAlbumDirectory(Context context, MusicDirectory.Entry entry) { File dir; if (entry.getPath() != null) { File f = new File(fileSystemSafeDir(entry.getPath())); dir = new File(getMusicDirectory(context).getPath() + "/" + (entry.isDirectory() ? f.getPath() : f.getParent())); } else { String artist = fileSystemSafe(entry.getArtist()); - String album = fileSystemSafe(entry.getAlbum()); + String album = fileSystemSafe(entry.getAlbum()); + if("unnamed".equals(album)) { + album = fileSystemSafe(entry.getTitle()); + } dir = new File(getMusicDirectory(context).getPath() + "/" + artist + "/" + album); } return dir; |