Browse Source

Make active page nullable. Fixes #326

len 8 years ago
parent
commit
728ab18017

+ 10 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt

@@ -117,7 +117,10 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() {
 
     override fun onPause() {
         viewer?.let {
-            presenter.currentPage = it.getActivePage()
+            val activePage = it.getActivePage()
+            if (activePage != null) {
+                presenter.currentPage = activePage
+            }
         }
         super.onPause()
     }
@@ -318,8 +321,12 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() {
 
     fun gotoPageInCurrentChapter(pageIndex: Int) {
         viewer?.let {
-            val requestedPage = it.getActivePage().chapter.pages[pageIndex]
-            it.setActivePage(requestedPage)
+            val activePage = it.getActivePage()
+            if (activePage != null) {
+                val requestedPage = activePage.chapter.pages[pageIndex]
+                it.setActivePage(requestedPage)
+            }
+
         }
     }
 

+ 5 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/base/BaseReader.kt

@@ -71,14 +71,16 @@ abstract class BaseReader : BaseFragment() {
      */
     fun updatePageNumber() {
         val activePage = getActivePage()
-        readerActivity.onPageChanged(activePage.pageNumber, activePage.chapter.pages.size)
+        if (activePage != null) {
+            readerActivity.onPageChanged(activePage.pageNumber, activePage.chapter.pages.size)
+        }
     }
 
     /**
      * Returns the active page.
      */
-    fun getActivePage(): Page {
-        return pages.getOrElse(currentPage) { pages[0] }
+    fun getActivePage(): Page? {
+        return pages.getOrNull(currentPage)
     }
 
     /**