From 44b60185cc8b9dd72b0a352d37966f9108e1656b Mon Sep 17 00:00:00 2001 From: tarsin Date: Sun, 16 Jul 2023 22:12:15 +0800 Subject: [PATCH] Refine SelectableGalleryInfoRecyclerView --- .../ehviewer/ui/legacy/SelectableGalleryInfoRecyclerView.kt | 6 +++--- .../main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/legacy/SelectableGalleryInfoRecyclerView.kt b/app/src/main/java/com/hippo/ehviewer/ui/legacy/SelectableGalleryInfoRecyclerView.kt index a64fa1e27..5f36598aa 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/legacy/SelectableGalleryInfoRecyclerView.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/legacy/SelectableGalleryInfoRecyclerView.kt @@ -5,7 +5,7 @@ import android.os.Parcelable import android.util.AttributeSet import android.view.View import android.widget.Checkable -import androidx.core.view.children +import androidx.core.view.forEach import androidx.recyclerview.widget.RecyclerView import kotlinx.parcelize.Parcelize @@ -24,7 +24,7 @@ class SelectableGalleryInfoRecyclerView @JvmOverloads constructor( private var checkedGid = mutableSetOf() private fun checkChild(child: View) { - val position = getChildAdapterPosition(child) + val position = getChildAdapterPosition(child).takeIf { it != NO_POSITION } ?: return val gid = gidGetter(position) ?: return setViewChecked(child, gid in checkedGid) } @@ -83,7 +83,7 @@ class SelectableGalleryInfoRecyclerView @JvmOverloads constructor( } private fun updateOnScreenCheckedViews() { - children.forEach { + forEach { checkChild(it) } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt index ba4c7f54e..ec86afea8 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt @@ -587,12 +587,12 @@ class DownloadsScene : 2 -> { lifecycleScope.launchIO { - // Stop - DownloadManager.stopRangeDownload(gidList!!) withUIContext { // Cancel check mode binding.recyclerView.outOfCustomChoiceMode() } + // Stop + DownloadManager.stopRangeDownload(gidList!!) } }