浏览代码

Some crash fixes

arkon 4 年之前
父节点
当前提交
fd2028557e

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadPendingDeleter.kt

@@ -137,7 +137,7 @@ class DownloadPendingDeleter(context: Context) {
         val id: Long,
         val url: String,
         val name: String,
-        val scanlator: String?
+        val scanlator: String? = null
     )
 
     /**

+ 3 - 3
app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/AnilistModels.kt

@@ -63,7 +63,7 @@ data class ALUserManga(
         "DROPPED" -> Anilist.DROPPED
         "PLANNING" -> Anilist.PLANNING
         "REPEATING" -> Anilist.REPEATING
-        else -> throw NotImplementedError("Unknown status")
+        else -> throw NotImplementedError("Unknown status: $list_status")
     }
 }
 
@@ -74,7 +74,7 @@ fun Track.toAnilistStatus() = when (status) {
     Anilist.DROPPED -> "DROPPED"
     Anilist.PLANNING -> "PLANNING"
     Anilist.REPEATING -> "REPEATING"
-    else -> throw NotImplementedError("Unknown status")
+    else -> throw NotImplementedError("Unknown status: $status")
 }
 
 private val preferences: PreferencesHelper by injectLazy()
@@ -102,5 +102,5 @@ fun Track.toAnilistScore(): String = when (preferences.anilistScoreType().get())
     }
 // 10 point decimal
     "POINT_10_DECIMAL" -> (score / 10).toString()
-    else -> throw Exception("Unknown score type")
+    else -> throw NotImplementedError("Unknown score type")
 }

+ 2 - 3
app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiModels.kt

@@ -8,7 +8,7 @@ fun Track.toBangumiStatus() = when (status) {
     Bangumi.ON_HOLD -> "on_hold"
     Bangumi.DROPPED -> "dropped"
     Bangumi.PLANNING -> "wish"
-    else -> throw NotImplementedError("Unknown status")
+    else -> throw NotImplementedError("Unknown status: $status")
 }
 
 fun toTrackStatus(status: String) = when (status) {
@@ -17,6 +17,5 @@ fun toTrackStatus(status: String) = when (status) {
     "on_hold" -> Bangumi.ON_HOLD
     "dropped" -> Bangumi.DROPPED
     "wish" -> Bangumi.PLANNING
-
-    else -> throw Exception("Unknown status")
+    else -> throw NotImplementedError("Unknown status: $status")
 }

+ 2 - 3
app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/ShikimoriModels.kt

@@ -9,7 +9,7 @@ fun Track.toShikimoriStatus() = when (status) {
     Shikimori.DROPPED -> "dropped"
     Shikimori.PLANNING -> "planned"
     Shikimori.REPEATING -> "rewatching"
-    else -> throw NotImplementedError("Unknown status")
+    else -> throw NotImplementedError("Unknown status: $status")
 }
 
 fun toTrackStatus(status: String) = when (status) {
@@ -19,6 +19,5 @@ fun toTrackStatus(status: String) = when (status) {
     "dropped" -> Shikimori.DROPPED
     "planned" -> Shikimori.PLANNING
     "rewatching" -> Shikimori.REPEATING
-
-    else -> throw Exception("Unknown status")
+    else -> throw NotImplementedError("Unknown status: $status")
 }

+ 1 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt

@@ -2,7 +2,6 @@ package eu.kanade.tachiyomi.ui.browse.source.browse
 
 import android.os.Bundle
 import eu.davidea.flexibleadapter.items.IFlexible
-import eu.davidea.flexibleadapter.items.ISectionable
 import eu.kanade.tachiyomi.data.cache.CoverCache
 import eu.kanade.tachiyomi.data.database.DatabaseHelper
 import eu.kanade.tachiyomi.data.database.models.Category
@@ -321,7 +320,7 @@ open class BrowseSourcePresenter(
                             is Filter.Text -> TextSectionItem(it)
                             is Filter.Select<*> -> SelectSectionItem(it)
                             else -> null
-                        } as? ISectionable<*, *>
+                        }
                     }
                     subItems.forEach { it.header = group }
                     group.subItems = subItems

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt

@@ -143,7 +143,7 @@ class LibraryController(
         if (preferences.categoryTabs().get()) {
             currentTitle = resources?.getString(R.string.label_library)
         } else {
-            adapter?.categories?.get(binding.libraryPager.currentItem)?.let {
+            adapter?.categories?.getOrNull(binding.libraryPager.currentItem)?.let {
                 currentTitle = it.name
             }
         }

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt

@@ -923,7 +923,7 @@ class MangaController :
     private fun markPreviousAsRead(chapters: List<ChapterItem>) {
         val adapter = chaptersAdapter ?: return
         val prevChapters = if (presenter.sortDescending()) adapter.items.reversed() else adapter.items
-        val chapterPos = prevChapters.indexOf(chapters.last())
+        val chapterPos = prevChapters.indexOf(chapters.lastOrNull())
         if (chapterPos != -1) {
             markAsRead(prevChapters.take(chapterPos))
         }

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/webview/BaseWebViewActivity.kt

@@ -36,7 +36,7 @@ open class BaseWebViewActivity : BaseActivity<WebviewActivityBinding>() {
         try {
             binding = WebviewActivityBinding.inflate(layoutInflater)
             setContentView(binding.root)
-        } catch (e: Exception) {
+        } catch (e: Throwable) {
             // Potentially throws errors like "Error inflating class android.webkit.WebView"
             toast(R.string.information_webview_required, Toast.LENGTH_LONG)
             finish()