mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
parent
953a86b280
commit
31a55f1926
1 changed files with 15 additions and 1 deletions
|
@ -49,6 +49,8 @@ import com.tfcporciuncula.flow.Preference
|
|||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
||||
import eu.davidea.flexibleadapter.SelectableAdapter
|
||||
import eu.davidea.flexibleadapter.items.IFlexible
|
||||
import eu.davidea.flexibleadapter.items.IHeader
|
||||
import eu.davidea.flexibleadapter.items.ISectionable
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.database.models.Category
|
||||
import eu.kanade.tachiyomi.data.database.models.LibraryManga
|
||||
|
@ -110,6 +112,7 @@ import kotlinx.coroutines.flow.launchIn
|
|||
import kotlinx.coroutines.flow.onEach
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import java.util.ArrayList
|
||||
import java.util.Locale
|
||||
import kotlin.math.abs
|
||||
import kotlin.math.max
|
||||
|
@ -1431,7 +1434,7 @@ class LibraryController(
|
|||
if (lastItemPosition == null) return
|
||||
val item = adapter.getItem(position) as? LibraryItem ?: return
|
||||
val newHeader = adapter.getSectionHeader(position) as? LibraryHeaderItem
|
||||
val libraryItems = adapter.getSectionItems(adapter.getSectionHeader(position))
|
||||
val libraryItems = getSectionItems(adapter.getSectionHeader(position), item)
|
||||
.filterIsInstance<LibraryItem>()
|
||||
val mangaIds = libraryItems.mapNotNull { (it as? LibraryItem)?.manga?.id }
|
||||
if (newHeader?.category?.id == item.manga.category) {
|
||||
|
@ -1454,6 +1457,17 @@ class LibraryController(
|
|||
lastItemPosition = null
|
||||
}
|
||||
|
||||
private fun getSectionItems(header: IHeader<*>, skipItem: ISectionable<*, *>): List<ISectionable<*, *>> {
|
||||
val sectionItems: MutableList<ISectionable<*, *>> = ArrayList()
|
||||
var startPosition: Int = adapter.getGlobalPositionOf(header)
|
||||
var item = adapter.getItem(++startPosition) as? LibraryItem
|
||||
while (item?.header == header || item == skipItem) {
|
||||
sectionItems.add(item as ISectionable<*, *>)
|
||||
item = adapter.getItem(++startPosition) as? LibraryItem
|
||||
}
|
||||
return sectionItems
|
||||
}
|
||||
|
||||
private fun moveMangaToCategory(
|
||||
manga: LibraryManga,
|
||||
category: Category?,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue