mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 06:17:57 +01:00 
			
		
		
		
	Added library sort by mean Tracker score (#10005)
This commit is contained in:
		| @@ -30,6 +30,7 @@ data class LibrarySort( | ||||
|         data object LatestChapter : Type(0b00010100) | ||||
|         data object ChapterFetchDate : Type(0b00011000) | ||||
|         data object DateAdded : Type(0b00011100) | ||||
|         data object TrackerMean : Type(0b000100000) | ||||
|  | ||||
|         companion object { | ||||
|             fun valueOf(flag: Long): Type { | ||||
| @@ -75,6 +76,7 @@ data class LibrarySort( | ||||
|                 Type.LatestChapter, | ||||
|                 Type.ChapterFetchDate, | ||||
|                 Type.DateAdded, | ||||
|                 Type.TrackerMean, | ||||
|             ) | ||||
|         } | ||||
|         val directions by lazy { setOf(Direction.Ascending, Direction.Descending) } | ||||
| @@ -101,6 +103,7 @@ data class LibrarySort( | ||||
|                     "LATEST_CHAPTER" -> Type.LatestChapter | ||||
|                     "CHAPTER_FETCH_DATE" -> Type.ChapterFetchDate | ||||
|                     "DATE_ADDED" -> Type.DateAdded | ||||
|                     "TRACKER_MEAN" -> Type.TrackerMean | ||||
|                     else -> Type.Alphabetical | ||||
|                 } | ||||
|                 val ascending = if (values[1] == "ASCENDING") Direction.Ascending else Direction.Descending | ||||
| @@ -121,6 +124,7 @@ data class LibrarySort( | ||||
|             Type.LatestChapter -> "LATEST_CHAPTER" | ||||
|             Type.ChapterFetchDate -> "CHAPTER_FETCH_DATE" | ||||
|             Type.DateAdded -> "DATE_ADDED" | ||||
|             Type.TrackerMean -> "TRACKER_MEAN" | ||||
|         } | ||||
|         val direction = if (direction == Direction.Ascending) "ASCENDING" else "DESCENDING" | ||||
|         return "$type,$direction" | ||||
|   | ||||
| @@ -2,19 +2,14 @@ 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( | ||||
|     private val trackRepository: TrackRepository, | ||||
| ) { | ||||
|  | ||||
|     fun subscribe(): Flow<Map<Long, List<Long>>> { | ||||
|         return trackRepository.getTracksAsFlow().map { tracks -> | ||||
|             tracks | ||||
|                 .groupBy { it.mangaId } | ||||
|                 .mapValues { entry -> | ||||
|                     entry.value.map { it.syncId } | ||||
|                 } | ||||
|         } | ||||
|     fun subscribe(): Flow<Map<Long, List<Track>>> { | ||||
|         return trackRepository.getTracksAsFlow().map { tracks -> tracks.groupBy { it.mangaId } } | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user