Don't use animateItem's fade-in/fade-out in FastScrollLazyColumn
This commit is contained in:
parent
d89caa3399
commit
486dc91be7
6 changed files with 26 additions and 13 deletions
|
|
@ -48,6 +48,7 @@ import eu.kanade.presentation.browse.components.ExtensionIcon
|
|||
import eu.kanade.presentation.components.WarningBanner
|
||||
import eu.kanade.presentation.manga.components.DotSeparatorNoSpaceText
|
||||
import eu.kanade.presentation.more.settings.screen.browse.ExtensionReposScreen
|
||||
import eu.kanade.presentation.util.animateItemFastScroll
|
||||
import eu.kanade.presentation.util.rememberRequestPackageInstallsPermissionState
|
||||
import eu.kanade.tachiyomi.extension.model.Extension
|
||||
import eu.kanade.tachiyomi.extension.model.InstallStep
|
||||
|
|
@ -193,14 +194,14 @@ private fun ExtensionContent(
|
|||
// KMK -->
|
||||
.padding(end = MaterialTheme.padding.small)
|
||||
// KMK <--
|
||||
.animateItem(),
|
||||
.animateItemFastScroll(),
|
||||
action = action,
|
||||
)
|
||||
}
|
||||
is ExtensionUiModel.Header.Text -> {
|
||||
ExtensionHeader(
|
||||
text = header.text,
|
||||
modifier = Modifier.animateItem(),
|
||||
modifier = Modifier.animateItemFastScroll(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -218,7 +219,7 @@ private fun ExtensionContent(
|
|||
},
|
||||
) { item ->
|
||||
ExtensionItem(
|
||||
modifier = Modifier.animateItem(),
|
||||
modifier = Modifier.animateItemFastScroll(),
|
||||
item = item,
|
||||
onClickItem = {
|
||||
when (it) {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import androidx.compose.ui.platform.LocalContext
|
|||
import eu.kanade.presentation.browse.components.BaseSourceItem
|
||||
import eu.kanade.presentation.components.AppBar
|
||||
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
|
||||
import eu.kanade.presentation.util.animateItemFastScroll
|
||||
import eu.kanade.tachiyomi.ui.browse.source.SourcesFilterScreenModel
|
||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||
import tachiyomi.domain.source.model.Source
|
||||
|
|
@ -92,7 +93,7 @@ private fun SourcesFilterContent(
|
|||
// KMK -->
|
||||
.padding(end = MaterialTheme.padding.small)
|
||||
// KMK <--
|
||||
.animateItem(),
|
||||
.animateItemFastScroll(),
|
||||
language = language,
|
||||
enabled = enabled,
|
||||
onClickItem = onClickLanguage,
|
||||
|
|
@ -115,7 +116,7 @@ private fun SourcesFilterContent(
|
|||
.background(MaterialTheme.colorScheme.background)
|
||||
.padding(end = MaterialTheme.padding.small)
|
||||
// KMK <--
|
||||
.animateItem(),
|
||||
.animateItemFastScroll(),
|
||||
isEnabled = toggleEnabled,
|
||||
onClickItem = {
|
||||
onClickSources(!toggleEnabled, sources)
|
||||
|
|
@ -133,7 +134,7 @@ private fun SourcesFilterContent(
|
|||
// KMK -->
|
||||
.padding(end = MaterialTheme.padding.small)
|
||||
// KMK <--
|
||||
.animateItem(),
|
||||
.animateItemFastScroll(),
|
||||
source = source,
|
||||
enabled = "${source.id}" !in state.disabledSources,
|
||||
onClickItem = onClickSource,
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ import androidx.compose.ui.text.style.TextOverflow
|
|||
import androidx.compose.ui.unit.dp
|
||||
import eu.kanade.domain.source.model.installedExtension
|
||||
import eu.kanade.presentation.browse.components.BaseSourceItem
|
||||
import eu.kanade.presentation.util.animateItemFastScroll
|
||||
import eu.kanade.tachiyomi.ui.browse.source.SourcesScreenModel
|
||||
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreenModel.Listing
|
||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||
|
|
@ -144,7 +145,7 @@ fun SourcesScreen(
|
|||
when (model) {
|
||||
is SourceUiModel.Header -> {
|
||||
SourceHeader(
|
||||
modifier = Modifier.animateItem(),
|
||||
modifier = Modifier.animateItemFastScroll(),
|
||||
language = model.language,
|
||||
// SY -->
|
||||
isCategory = model.isCategory,
|
||||
|
|
@ -152,7 +153,7 @@ fun SourcesScreen(
|
|||
)
|
||||
}
|
||||
is SourceUiModel.Item -> SourceItem(
|
||||
modifier = Modifier.animateItem(),
|
||||
modifier = Modifier.animateItemFastScroll(),
|
||||
source = model.source,
|
||||
// SY -->
|
||||
showLatest = state.showLatest,
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ import eu.kanade.presentation.components.SearchToolbar
|
|||
import eu.kanade.presentation.components.relativeDateText
|
||||
import eu.kanade.presentation.history.components.HistoryItem
|
||||
import eu.kanade.presentation.theme.TachiyomiPreviewTheme
|
||||
import eu.kanade.presentation.util.animateItemFastScroll
|
||||
import eu.kanade.tachiyomi.ui.history.HistoryScreenModel
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
|
|
@ -114,14 +115,14 @@ private fun HistoryScreenContent(
|
|||
when (item) {
|
||||
is HistoryUiModel.Header -> {
|
||||
ListGroupHeader(
|
||||
modifier = Modifier.animateItem(),
|
||||
modifier = Modifier.animateItemFastScroll(),
|
||||
text = relativeDateText(item.date),
|
||||
)
|
||||
}
|
||||
is HistoryUiModel.Item -> {
|
||||
val value = item.item
|
||||
HistoryItem(
|
||||
modifier = Modifier.animateItem(),
|
||||
modifier = Modifier.animateItemFastScroll(),
|
||||
history = value,
|
||||
onClickCover = { onClickCover(value) },
|
||||
onClickResume = { onClickResume(value) },
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ import eu.kanade.presentation.manga.components.ChapterDownloadAction
|
|||
import eu.kanade.presentation.manga.components.ChapterDownloadIndicator
|
||||
import eu.kanade.presentation.manga.components.DotSeparatorText
|
||||
import eu.kanade.presentation.manga.components.MangaCover
|
||||
import eu.kanade.presentation.util.animateItemFastScroll
|
||||
import eu.kanade.presentation.util.relativeTimeSpanString
|
||||
import eu.kanade.tachiyomi.data.download.model.Download
|
||||
import eu.kanade.tachiyomi.ui.updates.UpdatesItem
|
||||
|
|
@ -55,7 +56,7 @@ internal fun LazyListScope.updatesLastUpdatedItem(
|
|||
item(key = "updates-lastUpdated") {
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.animateItem()
|
||||
.animateItemFastScroll()
|
||||
.padding(horizontal = MaterialTheme.padding.medium, vertical = MaterialTheme.padding.small),
|
||||
) {
|
||||
Text(
|
||||
|
|
@ -95,14 +96,14 @@ internal fun LazyListScope.updatesUiItems(
|
|||
when (item) {
|
||||
is UpdatesUiModel.Header -> {
|
||||
ListGroupHeader(
|
||||
modifier = Modifier.animateItem(),
|
||||
modifier = Modifier.animateItemFastScroll(),
|
||||
text = relativeDateText(item.date),
|
||||
)
|
||||
}
|
||||
is UpdatesUiModel.Item -> {
|
||||
val updatesItem = item.item
|
||||
UpdatesUiItem(
|
||||
modifier = Modifier.animateItem(),
|
||||
modifier = Modifier.animateItemFastScroll(),
|
||||
update = updatesItem.update,
|
||||
selected = updatesItem.selected,
|
||||
readProgress = updatesItem.update.lastPageRead
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
package eu.kanade.presentation.util
|
||||
|
||||
import androidx.compose.foundation.lazy.LazyItemScope
|
||||
import androidx.compose.ui.Modifier
|
||||
|
||||
// https://issuetracker.google.com/352584409
|
||||
context(LazyItemScope)
|
||||
fun Modifier.animateItemFastScroll() = this.animateItem(fadeInSpec = null, fadeOutSpec = null)
|
||||
Loading…
Reference in a new issue