From 23eede12fc61ebed5bc2ce680f876b4e11dfcac3 Mon Sep 17 00:00:00 2001 From: tarsin Date: Thu, 9 Mar 2023 17:46:45 +0800 Subject: [PATCH] Cleanup HistoryScene --- .../hippo/ehviewer/ui/scene/HistoryScene.kt | 51 ++++++------------- 1 file changed, 16 insertions(+), 35 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt index 573686fb9..f7476e4d1 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt @@ -20,13 +20,11 @@ import android.content.Context import android.content.DialogInterface import android.content.Intent import android.os.Bundle -import android.util.AttributeSet -import android.view.* -import androidx.compose.runtime.Composable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.setValue -import androidx.compose.ui.platform.AbstractComposeView +import android.view.LayoutInflater +import android.view.MenuItem +import android.view.View +import android.view.ViewGroup +import androidx.compose.ui.platform.ComposeView import androidx.core.content.ContextCompat import androidx.core.view.GravityCompat import androidx.lifecycle.lifecycleScope @@ -347,31 +345,8 @@ class HistoryScene : BaseToolbarScene() { override fun onCancel() {} } - private class ComposeHolder(val composeView: HistoryCardView) : - RecyclerView.ViewHolder(composeView) + private class ComposeHolder(val composeView: ComposeView) : RecyclerView.ViewHolder(composeView) - private class HistoryCardView @JvmOverloads constructor( - context: Context, - attrs: AttributeSet? = null, - defStyle: Int = 0, - ) : AbstractComposeView(context, attrs, defStyle) { - var galleryInfo by mutableStateOf(null) - var onClick by mutableStateOf({}) - var onLongClock by mutableStateOf({}) - - @Composable - override fun Content() { - Mdc3Theme { - galleryInfo?.let { - ListInfoCard( - onClick, - onLongClock, - it - ) - } - } - } - } private inner class MoveDialogHelper( private val mLabels: Array, @@ -389,15 +364,21 @@ class HistoryScene : BaseToolbarScene() { PagingDataAdapter(diffCallback) { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ComposeHolder { - val view = HistoryCardView(requireContext()) + val view = ComposeView(requireContext()) return ComposeHolder(view) } override fun onBindViewHolder(holder: ComposeHolder, position: Int) { val gi: GalleryInfo = getItem(position) ?: return - holder.composeView.galleryInfo = gi - holder.composeView.onClick = { onItemClick(gi) } - holder.composeView.onLongClock = { onItemLongClick(gi) } + holder.composeView.setContent { + Mdc3Theme { + ListInfoCard( + onClick = { onItemClick(gi) }, + onLongClick = { onItemLongClick(gi) }, + info = gi + ) + } + } } }