Added library sort by mean Tracker score (#10005)
(cherry picked from commit 5d91b77c9340604436c63073c83ad8b37794ddf0) # Conflicts: # app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt # domain/src/main/java/tachiyomi/domain/library/model/LibrarySortMode.kt # domain/src/main/java/tachiyomi/domain/track/interactor/GetTracksPerManga.kt
This commit is contained in:
@@ -30,9 +30,10 @@ data class LibrarySort(
|
||||
data object LatestChapter : Type(0b00010100)
|
||||
data object ChapterFetchDate : Type(0b00011000)
|
||||
data object DateAdded : Type(0b00011100)
|
||||
data object TrackerMean : Type(0b000100000)
|
||||
|
||||
// SY -->
|
||||
object TagList : Type(0b00100100)
|
||||
data object TagList : Type(0b00100100)
|
||||
// SY <--
|
||||
|
||||
companion object {
|
||||
@@ -79,6 +80,7 @@ data class LibrarySort(
|
||||
Type.LatestChapter,
|
||||
Type.ChapterFetchDate,
|
||||
Type.DateAdded,
|
||||
Type.TrackerMean,
|
||||
/* SY -->*/ Type.TagList, /* SY <--*/
|
||||
)
|
||||
}
|
||||
@@ -106,6 +108,7 @@ data class LibrarySort(
|
||||
"LATEST_CHAPTER" -> Type.LatestChapter
|
||||
"CHAPTER_FETCH_DATE" -> Type.ChapterFetchDate
|
||||
"DATE_ADDED" -> Type.DateAdded
|
||||
"TRACKER_MEAN" -> Type.TrackerMean
|
||||
// SY -->
|
||||
"TAG_LIST" -> Type.TagList
|
||||
// SY <--
|
||||
@@ -129,7 +132,10 @@ data class LibrarySort(
|
||||
Type.LatestChapter -> "LATEST_CHAPTER"
|
||||
Type.ChapterFetchDate -> "CHAPTER_FETCH_DATE"
|
||||
Type.DateAdded -> "DATE_ADDED"
|
||||
Type.TrackerMean -> "TRACKER_MEAN"
|
||||
// SY -->
|
||||
Type.TagList -> "TAG_LIST"
|
||||
// SY <--
|
||||
}
|
||||
val direction = if (direction == Direction.Ascending) "ASCENDING" else "DESCENDING"
|
||||
return "$type,$direction"
|
||||
|
||||
@@ -2,6 +2,7 @@ package tachiyomi.domain.track.interactor
|
||||
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.map
|
||||
import tachiyomi.domain.track.model.Track
|
||||
import tachiyomi.domain.track.repository.TrackRepository
|
||||
|
||||
class GetTracksPerManga(
|
||||
@@ -9,17 +10,14 @@ class GetTracksPerManga(
|
||||
private val isTrackUnfollowed: IsTrackUnfollowed,
|
||||
) {
|
||||
|
||||
fun subscribe(): Flow<Map<Long, List<Long>>> {
|
||||
fun subscribe(): Flow<Map<Long, List<Track>>> {
|
||||
return trackRepository.getTracksAsFlow().map { tracks ->
|
||||
tracks
|
||||
.groupBy { it.mangaId }
|
||||
tracks.groupBy { it.mangaId }
|
||||
// SY -->
|
||||
.mapValues { entry ->
|
||||
entry.value
|
||||
// SY -->
|
||||
.filterNot { isTrackUnfollowed.await(it) }
|
||||
// SY <--
|
||||
.map { it.syncId }
|
||||
entry.value.filterNot { isTrackUnfollowed.await(it) }
|
||||
}
|
||||
// SY <--
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user