Cleanup GalleryCard

This commit is contained in:
tarsin committed 2023-03-09 19:04:25 +08:00
1 parent 1a7214c75b
commit dada671f97
2 files changed
+18 -20

No files matched your search

@@ -24,7 +24,10 @@ import android.view.LayoutInflater
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import androidx.compose.foundation.layout.height
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.unit.dp
import androidx.core.content.ContextCompat
import androidx.core.view.GravityCompat
import androidx.lifecycle.lifecycleScope
@@ -39,7 +42,11 @@ import androidx.recyclerview.widget.StaggeredGridLayoutManager
import com.google.accompanist.themeadapter.material3.Mdc3Theme
import com.hippo.app.BaseDialogBuilder
import com.hippo.easyrecyclerview.HandlerDrawable
import com.hippo.ehviewer.*
import com.hippo.ehviewer.EhApplication
import com.hippo.ehviewer.EhDB
import com.hippo.ehviewer.FavouriteStatusRouter
import com.hippo.ehviewer.R
import com.hippo.ehviewer.Settings
import com.hippo.ehviewer.client.EhUtils
import com.hippo.ehviewer.client.data.GalleryInfo
import com.hippo.ehviewer.dao.DownloadInfo
@@ -55,6 +62,7 @@ import com.hippo.widget.recyclerview.AutoStaggeredGridLayoutManager
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
import eu.kanade.tachiyomi.util.lang.launchIO
import eu.kanade.tachiyomi.util.lang.withUIContext
import eu.kanade.tachiyomi.util.system.pxToDp
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
import rikka.core.res.resolveColor
@@ -360,6 +368,8 @@ class HistoryScene : BaseToolbarScene() {
}
}
private val height = (Settings.listThumbSize * 3).pxToDp.dp
private inner class HistoryAdapter(diffCallback: DiffUtil.ItemCallback<HistoryInfo>) :
PagingDataAdapter<HistoryInfo, ComposeHolder>(diffCallback) {
@@ -375,7 +385,8 @@ class HistoryScene : BaseToolbarScene() {
ListInfoCard(
onClick = { onItemClick(gi) },
onLongClick = { onItemLongClick(gi) },
info = gi
info = gi,
modifier = Modifier.height(height)
)
}
}
@@ -6,17 +6,15 @@ import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.aspectRatio
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.material3.Card
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedCard
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
@@ -26,15 +24,11 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import com.hippo.ehviewer.R
import com.hippo.ehviewer.Settings
import com.hippo.ehviewer.client.EhUtils
import com.hippo.ehviewer.client.data.GalleryInfo
import com.hippo.ehviewer.download.DownloadManager
import eu.kanade.tachiyomi.util.system.pxToDp
import java.util.Locale
private val downloadManager = DownloadManager
@Composable
fun ListInfoCard(
onClick: () -> Unit,
@@ -43,15 +37,11 @@ fun ListInfoCard(
modifier: Modifier = Modifier
) {
OutlinedCard(
modifier = modifier.padding(6.dp),
modifier = Modifier.padding(6.dp),
border = BorderStroke(1.dp, Color.Transparent)
) {
val listCardSize = remember { Settings.listThumbSize.pxToDp }
val height = (listCardSize * 3).dp
val width = (listCardSize * 2).dp
Row(
modifier = Modifier
.height(height)
modifier = modifier
.combinedClickable(
onClick = onClick,
onLongClick = onLongClick
@@ -61,9 +51,7 @@ fun ListInfoCard(
EhAsyncThumb(
model = info.thumb,
contentScale = ContentScale.Crop,
modifier = Modifier
.width(width)
.height(height)
modifier = modifier.aspectRatio(0.6666667F)
)
}
Column(Modifier.padding(8.dp, 4.dp)) {
@@ -99,8 +87,7 @@ fun ListInfoCard(
Spacer(modifier = Modifier.weight(1f))
Column(horizontalAlignment = Alignment.End) {
Row(verticalAlignment = Alignment.CenterVertically) {
// TODO: put this calculation in coroutines
if (downloadManager.containDownloadInfo(info.gid)) {
if (DownloadManager.containDownloadInfo(info.gid)) {
Icon(
painterResource(id = R.drawable.v_download_x16),
contentDescription = null