diff --git a/app/src/main/java/github/daneren2005/dsub/service/DownloadService.java b/app/src/main/java/github/daneren2005/dsub/service/DownloadService.java index 9814354fc..d5b314b48 100644 --- a/app/src/main/java/github/daneren2005/dsub/service/DownloadService.java +++ b/app/src/main/java/github/daneren2005/dsub/service/DownloadService.java @@ -536,10 +536,6 @@ public synchronized void downloadBackground(List songs, bo } revision++; - if(!Util.isOffline(this) && !Util.isNetworkConnected(this)) { - Util.toast(this, R.string.select_album_no_network); - } - checkDownloads(); lifecycleSupport.serializeDownloadQueue(); } @@ -2269,7 +2265,17 @@ public synchronized void checkDownloads() { checkArtistRadio(); } - if (!Util.isAllowedToDownload(this)) { + // If all files are local (like when permanently caching an already cached file) do not check if device is offline + boolean skipNetworkCheck = true; + for (DownloadFile d: downloadList) { + skipNetworkCheck &= d.isCompleteFileAvailable(); + } + for (DownloadFile d: backgroundDownloadList) { + skipNetworkCheck &= d.isCompleteFileAvailable(); + } + + if (!skipNetworkCheck && !Util.isAllowedToDownload(this)) { + Util.toast(this, R.string.select_album_no_network); return; }