From 3ad9d84b5f14a5320b766d00a33ebd23ec0677be Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 11 May 2020 02:01:21 -0400 Subject: [PATCH] Fixing tracepot crashes --- .../java/eu/kanade/tachiyomi/ui/library/LibraryController.kt | 3 ++- .../eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt | 4 ++-- .../java/eu/kanade/tachiyomi/ui/recents/RecentsController.kt | 1 + .../eu/kanade/tachiyomi/util/view/ControllerExtensions.kt | 4 ++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt index ac81d03b9c..1d12313d0c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt @@ -180,10 +180,11 @@ class LibraryController( private var scrollListener = object : RecyclerView.OnScrollListener() { override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { super.onScrolled(recyclerView, dx, dy) + val recyclerCover = recycler_cover ?: return val notAtTop = recycler.canScrollVertically(-1) if (notAtTop != elevate) elevateFunc(notAtTop) val order = getCategoryOrder() - if (!recycler_cover.isClickable && isAnimatingHopper != true) { + if (!recyclerCover.isClickable && isAnimatingHopper != true) { category_hopper_frame.translationY += dy category_hopper_frame.translationY = category_hopper_frame.translationY.coerceIn(0f, 50f.dpToPx) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt index 86bfdbaced..6a8216a4a7 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt @@ -254,7 +254,7 @@ class MangaDetailsController : BaseController, } override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) { - val atTop = !recycler.canScrollVertically(-1) + val atTop = recycler?.canScrollVertically(-1) == false if (atTop) getHeader()?.backdrop?.translationY = 0f } }) @@ -521,7 +521,7 @@ class MangaDetailsController : BaseController, } private fun getHeader(): MangaHeaderHolder? { - return recycler.findViewHolderForAdapterPosition(0) as? MangaHeaderHolder + return recycler?.findViewHolderForAdapterPosition(0) as? MangaHeaderHolder } fun updateHeader() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentsController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentsController.kt index 701da4b2b8..efc538f2fe 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentsController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentsController.kt @@ -143,6 +143,7 @@ class RecentsController(bundle: Bundle? = null) : BaseController(bundle), dl_bottom_sheet.sheetBehavior?.addBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback() { override fun onSlide(bottomSheet: View, progress: Float) { + val shadow2 = shadow2 ?: return shadow2.alpha = (1 - abs(progress)) * 0.25f shadow.alpha = (1 - abs(progress)) * 0.5f if (progress >= 0) activity?.appbar?.elevation = max( diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/view/ControllerExtensions.kt b/app/src/main/java/eu/kanade/tachiyomi/util/view/ControllerExtensions.kt index 6c6584ea1c..5f1b398d90 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/view/ControllerExtensions.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/view/ControllerExtensions.kt @@ -119,7 +119,7 @@ fun Controller.scrollViewWith( if (changeType.isEnter) { elevateFunc(elevate) if (fakeToolbarView?.parent != null) { - val parent = recycler.parent as ViewGroup + val parent = recycler.parent as? ViewGroup ?: return parent.removeView(fakeToolbarView) fakeToolbarView = null } @@ -136,9 +136,9 @@ fun Controller.scrollViewWith( if (!customPadding && lastY == 0f && router.backstack.lastOrNull() ?.controller() is MangaDetailsController ) { + val parent = recycler.parent as? ViewGroup ?: return val v = View(activity) fakeToolbarView = v - val parent = recycler.parent as ViewGroup parent.addView(v, parent.indexOfChild(recycler) + 1) val params = fakeToolbarView?.layoutParams params?.height = recycler.paddingTop