Various crash fixes

This commit is contained in:
Jays2Kings 2022-05-02 14:12:00 -04:00
parent fd7f87b2eb
commit d32a902a57
5 changed files with 22 additions and 13 deletions

View file

@ -7,6 +7,7 @@ import kotlinx.coroutines.cancel
open class BaseCoroutinePresenter<T> { open class BaseCoroutinePresenter<T> {
lateinit var presenterScope: CoroutineScope lateinit var presenterScope: CoroutineScope
val isScopeInitialized get() = this::presenterScope.isInitialized
protected var controller: T? = null protected var controller: T? = null
/** /**

View file

@ -1225,7 +1225,7 @@ class LibraryPresenter(
val mangaFetcher = MangaFetcher() val mangaFetcher = MangaFetcher()
val libraryManga = db.getFavoriteMangas().executeOnIO() val libraryManga = db.getFavoriteMangas().executeOnIO()
libraryManga.forEach { manga -> libraryManga.forEach { manga ->
mangaFetcher.setRatioAndColors(manga) try { withUIContext { mangaFetcher.setRatioAndColors(manga) } } catch (_: Exception) { }
} }
MangaCoverMetadata.savePrefs() MangaCoverMetadata.savePrefs()
} }

View file

@ -72,6 +72,7 @@ import eu.kanade.tachiyomi.ui.base.activity.BaseActivity
import eu.kanade.tachiyomi.ui.base.controller.BaseController import eu.kanade.tachiyomi.ui.base.controller.BaseController
import eu.kanade.tachiyomi.ui.base.controller.DialogController import eu.kanade.tachiyomi.ui.base.controller.DialogController
import eu.kanade.tachiyomi.ui.library.LibraryController import eu.kanade.tachiyomi.ui.library.LibraryController
import eu.kanade.tachiyomi.ui.library.LibraryPresenter
import eu.kanade.tachiyomi.ui.manga.MangaDetailsController import eu.kanade.tachiyomi.ui.manga.MangaDetailsController
import eu.kanade.tachiyomi.ui.more.AboutController import eu.kanade.tachiyomi.ui.more.AboutController
import eu.kanade.tachiyomi.ui.more.OverflowDialog import eu.kanade.tachiyomi.ui.more.OverflowDialog
@ -468,6 +469,9 @@ open class MainActivity : BaseActivity<MainActivityBinding>(), DownloadServiceLi
} }
} }
} }
lifecycleScope.launchIO {
LibraryPresenter.updateRatiosAndColors()
}
} }
getExtensionUpdates(true) getExtensionUpdates(true)

View file

@ -556,7 +556,9 @@ class MangaDetailsController :
//region Lifecycle methods //region Lifecycle methods
override fun onActivityResumed(activity: Activity) { override fun onActivityResumed(activity: Activity) {
super.onActivityResumed(activity) super.onActivityResumed(activity)
presenter.isLockedFromSearch = shouldLockIfNeeded && SecureActivityDelegate.shouldBeLocked() if (presenter.isScopeInitialized) {
presenter.isLockedFromSearch =
shouldLockIfNeeded && SecureActivityDelegate.shouldBeLocked()
presenter.headerItem.isLocked = presenter.isLockedFromSearch presenter.headerItem.isLocked = presenter.isLockedFromSearch
manga!!.thumbnail_url = presenter.refreshMangaFromDb().thumbnail_url manga!!.thumbnail_url = presenter.refreshMangaFromDb().thumbnail_url
presenter.fetchChapters(refreshTracker == null) presenter.fetchChapters(refreshTracker == null)
@ -567,6 +569,7 @@ class MangaDetailsController :
} }
// fetch cover again in case the user set a new cover while reading // fetch cover again in case the user set a new cover while reading
setPaletteColor() setPaletteColor()
}
val isCurrentController = router?.backstack?.lastOrNull()?.controller == val isCurrentController = router?.backstack?.lastOrNull()?.controller ==
this this
if (isCurrentController) { if (isCurrentController) {

View file

@ -478,9 +478,10 @@ fun Controller.scrollViewWith(
preferences.hideBottomNavOnScroll().get() preferences.hideBottomNavOnScroll().get()
) closerToBottom else closerToTop ) closerToBottom else closerToTop
lastY = activityBinding!!.appBar.snapAppBarY(recycler) { lastY = activityBinding!!.appBar.snapAppBarY(recycler) {
val activityBinding = activityBinding ?: return@snapAppBarY
swipeCircle?.translationY = max( swipeCircle?.translationY = max(
activityBinding!!.appBar.y, activityBinding.appBar.y,
-activityBinding!!.appBar.height + activityBinding!!.appBar.paddingTop.toFloat() -activityBinding.appBar.height + activityBinding.appBar.paddingTop.toFloat()
) )
} }
if (activityBinding!!.bottomNav?.isVisible == true && if (activityBinding!!.bottomNav?.isVisible == true &&