From 3fc510fe4bd1a347af7bba148e5fc75019bc3017 Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 24 Apr 2020 14:00:47 -0400 Subject: [PATCH] Fixed animation when starting a download from recents --- .../ui/download/DownloadBottomSheet.kt | 7 ++++--- .../tachiyomi/ui/recents/RecentsController.kt | 20 ++++++++++++++++++- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadBottomSheet.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadBottomSheet.kt index c0a0d623a0..671054819e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadBottomSheet.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadBottomSheet.kt @@ -73,8 +73,10 @@ class DownloadBottomSheet @JvmOverloads constructor( } update() setInformationView() - if (sheetBehavior?.state != BottomSheetBehavior.STATE_EXPANDED && sheetBehavior?.isHideable == true) sheetBehavior?.state = - BottomSheetBehavior.STATE_HIDDEN + if (!controller.hasQueue()) { + sheetBehavior?.isHideable = true + sheetBehavior?.state = BottomSheetBehavior.STATE_HIDDEN + } } fun update() { @@ -215,7 +217,6 @@ class DownloadBottomSheet @JvmOverloads constructor( sheetBehavior?.skipCollapsed = !hasQueue if (sheetBehavior?.state == BottomSheetBehavior.STATE_HIDDEN) sheetBehavior?.state = BottomSheetBehavior.STATE_COLLAPSED - sheetBehavior?.isHideable = !hasQueue } else { sheetBehavior?.isHideable = !hasQueue sheetBehavior?.skipCollapsed = !hasQueue 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 676cb2aaf1..58ab1c0231 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 @@ -165,6 +165,22 @@ class RecentsController(bundle: Bundle? = null) : BaseController(bundle), activity?.invalidateOptionsMenu() } + if (state == BottomSheetBehavior.STATE_COLLAPSED) { + if (hasQueue()) { + dl_bottom_sheet.sheetBehavior?.isHideable = false + } else { + dl_bottom_sheet.sheetBehavior?.isHideable = true + dl_bottom_sheet.sheetBehavior?.state = BottomSheetBehavior.STATE_HIDDEN + } + } else if (state == BottomSheetBehavior.STATE_HIDDEN) { + if (!hasQueue()) { + dl_bottom_sheet.sheetBehavior?.skipCollapsed = true + } else { + dl_bottom_sheet.sheetBehavior?.skipCollapsed = false + dl_bottom_sheet.sheetBehavior?.state = BottomSheetBehavior.STATE_COLLAPSED + } + } + if (state == BottomSheetBehavior.STATE_HIDDEN || state == BottomSheetBehavior.STATE_COLLAPSED) { shadow2.alpha = if (state == BottomSheetBehavior.STATE_COLLAPSED) 0.25f else 0f shadow.alpha = if (state == BottomSheetBehavior.STATE_COLLAPSED) 0.5f else 0f @@ -407,8 +423,10 @@ class RecentsController(bundle: Bundle? = null) : BaseController(bundle), } } + fun hasQueue() = presenter.downloadManager.hasQueue() + override fun showSheet() { - if (dl_bottom_sheet.sheetBehavior?.isHideable == false || presenter.downloadManager.hasQueue()) + if (dl_bottom_sheet.sheetBehavior?.isHideable == false || hasQueue()) dl_bottom_sheet.sheetBehavior?.state = BottomSheetBehavior.STATE_EXPANDED }