Procházet zdrojové kódy

Handle empty directory. Fix travis

len před 8 roky
rodič
revize
20041701cd

+ 1 - 1
.travis.yml

@@ -5,7 +5,7 @@ android:
     - tools
 
     # The BuildTools version used by your project
-    - build-tools-25.0.0
+    - build-tools-25.0.1
     - android-25
     - extra-android-m2repository
     - extra-google-m2repository

+ 10 - 9
app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt

@@ -96,16 +96,17 @@ class DownloadManager(context: Context) {
      */
     private fun buildPageList(chapterDir: UniFile?): Observable<List<Page>> {
         return Observable.fromCallable {
-            val pages = mutableListOf<Page>()
-            chapterDir?.listFiles()
-                    ?.filter { it.type?.startsWith("image") ?: false }
-                    ?.sortedBy { it.name }
-                    ?.forEach { file ->
-                        val page = Page(pages.size, uri = file.uri)
-                        pages.add(page)
-                        page.status = Page.READY
+            val files = chapterDir?.listFiles().orEmpty()
+                    .filter { "image" in it.type.orEmpty() }
+
+            if (files.isEmpty()) {
+                throw Exception("Page list is empty")
+            }
+
+            files.sortedBy { it.name }
+                    .mapIndexed { i, file ->
+                        Page(i, uri = file.uri).apply { status = Page.READY }
                     }
-            pages
         }
     }