|
@@ -272,6 +272,13 @@ class Downloader(
|
|
|
private fun downloadChapter(download: Download): Observable<Download> = Observable.defer {
|
|
|
val chapterDirname = provider.getChapterDirName(download.chapter)
|
|
|
val mangaDir = provider.getMangaDir(download.manga, download.source)
|
|
|
+
|
|
|
+ if (DiskUtil.getAvailableStorageSpace(mangaDir) < MIN_DISK_SPACE) {
|
|
|
+ download.status = Download.ERROR
|
|
|
+ notifier.onError(context.getString(R.string.download_insufficient_space), download.chapter.name)
|
|
|
+ return@defer Observable.just(download)
|
|
|
+ }
|
|
|
+
|
|
|
val tmpDir = mangaDir.createDirectory(chapterDirname + TMP_DIR_SUFFIX)
|
|
|
|
|
|
val pageListObservable = if (download.pages == null) {
|
|
@@ -489,5 +496,8 @@ class Downloader(
|
|
|
|
|
|
companion object {
|
|
|
const val TMP_DIR_SUFFIX = "_tmp"
|
|
|
+
|
|
|
+ // Arbitrary minimum required space to start a download: 50 MB
|
|
|
+ const val MIN_DISK_SPACE = 50 * 1024 * 1024
|
|
|
}
|
|
|
}
|