From 83ed7b3cb6dbd8837532bfbf99d9c29fb8b7b93f Mon Sep 17 00:00:00 2001 From: Synced Synapse Date: Tue, 11 Oct 2016 20:05:23 +0100 Subject: [PATCH] Fix issues with downloading files without titles (in artists, albums, movie titles or TV Show titles) --- .../org/xbmc/kore/ui/ArtistOverviewFragment.java | 5 +++++ .../org/xbmc/kore/utils/FileDownloadHelper.java | 14 +++++++++----- app/src/main/res/values/strings.xml | 2 ++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/xbmc/kore/ui/ArtistOverviewFragment.java b/app/src/main/java/org/xbmc/kore/ui/ArtistOverviewFragment.java index 11c1ee6..c19e5b0 100644 --- a/app/src/main/java/org/xbmc/kore/ui/ArtistOverviewFragment.java +++ b/app/src/main/java/org/xbmc/kore/ui/ArtistOverviewFragment.java @@ -338,6 +338,11 @@ public class ArtistOverviewFragment extends AbstractDetailsFragment } while (cursor.moveToNext()); } + if (songInfoList.size() == 0) { + Toast.makeText(getActivity(), R.string.no_songs_to_download, Toast.LENGTH_LONG); + return; + } + // Check if the directory exists and whether to overwrite it File file = new File(songInfoList.get(0).getAbsoluteDirectoryPath()); if (file.exists()) { diff --git a/app/src/main/java/org/xbmc/kore/utils/FileDownloadHelper.java b/app/src/main/java/org/xbmc/kore/utils/FileDownloadHelper.java index ab32d2e..e1705fe 100644 --- a/app/src/main/java/org/xbmc/kore/utils/FileDownloadHelper.java +++ b/app/src/main/java/org/xbmc/kore/utils/FileDownloadHelper.java @@ -45,6 +45,10 @@ public class FileDownloadHelper { public static final int OVERWRITE_FILES = 0, DOWNLOAD_WITH_NEW_NAME = 1; + public static final String NO_ARTIST_DIR = "No artist", + NO_MOVIE_TITLE_DIR = "No title", + NO_TVSHOW_TITLE_DIR = "No title"; + public static abstract class MediaInfo { public final String fileName; @@ -120,8 +124,8 @@ public class FileDownloadHelper { } public String getRelativeDirectoryPath() { - return (TextUtils.isEmpty(album) || TextUtils.isEmpty(artist)) ? - null : artist + "/" + album; + return (TextUtils.isEmpty(artist) ? NO_ARTIST_DIR : + TextUtils.isEmpty(album) ? artist : artist + "/" + album); } public String getDownloadFileName() { @@ -153,7 +157,7 @@ public class FileDownloadHelper { public String getRelativeDirectoryPath() { return (TextUtils.isEmpty(title)) ? - null : title; + NO_MOVIE_TITLE_DIR : title; } public String getDownloadFileName() { @@ -193,10 +197,10 @@ public class FileDownloadHelper { public String getRelativeDirectoryPath() { if (season > 0) { return (TextUtils.isEmpty(tvshowTitle)) ? - null : tvshowTitle + "/Season" + String.valueOf(season); + NO_TVSHOW_TITLE_DIR : tvshowTitle + "/Season" + String.valueOf(season); } else { return (TextUtils.isEmpty(tvshowTitle)) ? - null : tvshowTitle; + NO_TVSHOW_TITLE_DIR : tvshowTitle; } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5ba029d..b3a4476 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -387,4 +387,6 @@ Permission denied. Won\'t be able to pause playback during calls. Permission denied. Won\'t be able to download files. + No songs to download +