Fix MangaDex’s followStatus & type of TrackStatus’s property

This commit is contained in:
Cuong M. Tran 2024-02-19 16:16:04 +07:00
parent f795b89b51
commit 1020962163
No known key found for this signature in database
GPG key ID: 733AA7624B9315C2
10 changed files with 23 additions and 23 deletions

View file

@ -34,7 +34,7 @@ class TrackChapter(
service == null || service == null ||
!service.isLoggedIn || !service.isLoggedIn ||
chapterNumber <= track.lastChapterRead /* SY --> */ || chapterNumber <= track.lastChapterRead /* SY --> */ ||
(service is MdList && track.status == FollowStatus.UNFOLLOWED.long.toLong())/* SY <-- */ (service is MdList && track.status == FollowStatus.UNFOLLOWED.long)/* SY <-- */
) { ) {
return@mapNotNull null return@mapNotNull null
} }

View file

@ -102,7 +102,7 @@ private fun BrowseSourceComfortableGridItem(
.let { .let {
remember { remember {
it.getStringArray(R.array.md_follows_options) it.getStringArray(R.array.md_follows_options)
.getOrNull(followStatus.toInt()) .getOrNull(followStatus)
} }
} }
?: return@let ?: return@let

View file

@ -102,7 +102,7 @@ private fun BrowseSourceCompactGridItem(
.let { .let {
remember { remember {
it.getStringArray(R.array.md_follows_options) it.getStringArray(R.array.md_follows_options)
.getOrNull(followStatus.toInt()) .getOrNull(followStatus)
} }
} }
?: return@let ?: return@let

View file

@ -93,7 +93,7 @@ private fun BrowseSourceListItem(
.let { .let {
remember { remember {
it.getStringArray(R.array.md_follows_options) it.getStringArray(R.array.md_follows_options)
.getOrNull(followStatus.toInt()) .getOrNull(followStatus)
} }
} }
?: return@let ?: return@let

View file

@ -235,14 +235,14 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet
} else { } else {
when (group) { when (group) {
LibraryGroup.BY_TRACK_STATUS -> { LibraryGroup.BY_TRACK_STATUS -> {
val trackingExtra = groupExtra?.toLongOrNull() ?: -1L val trackingExtra = groupExtra?.toIntOrNull() ?: -1
val tracks = getTracks.await().groupBy { it.mangaId } val tracks = getTracks.await().groupBy { it.mangaId }
libraryManga.filter { (manga) -> libraryManga.filter { (manga) ->
val status = tracks[manga.id]?.firstNotNullOfOrNull { track -> val status = tracks[manga.id]?.firstNotNullOfOrNull { track ->
TrackStatus.parseTrackerStatus(trackerManager, track.trackerId, track.status) TrackStatus.parseTrackerStatus(trackerManager, track.trackerId, track.status)
} ?: TrackStatus.OTHER } ?: TrackStatus.OTHER
status.long == trackingExtra status.int == trackingExtra
} }
} }
LibraryGroup.BY_SOURCE -> { LibraryGroup.BY_SOURCE -> {
@ -552,12 +552,12 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet
var count = 0 var count = 0
val mangaDex = MdUtil.getEnabledMangaDex(preferences, sourceManager = sourceManager) val mangaDex = MdUtil.getEnabledMangaDex(preferences, sourceManager = sourceManager)
?: return@coroutineScope ?: return@coroutineScope
val syncFollowStatusLongs = preferences.mangadexSyncToLibraryIndexes().get().map { it.toLong() } val syncFollowStatusInts = preferences.mangadexSyncToLibraryIndexes().get().map { it.toInt() }
val size: Int val size: Int
mangaDex.fetchAllFollows() mangaDex.fetchAllFollows()
.filter { (_, metadata) -> .filter { (_, metadata) ->
syncFollowStatusLongs.contains(metadata.followStatus) syncFollowStatusInts.contains(metadata.followStatus)
} }
.also { size = it.size } .also { size = it.size }
.forEach { (networkManga, metadata) -> .forEach { (networkManga, metadata) ->

View file

@ -12,14 +12,14 @@ import exh.md.utils.FollowStatus
import tachiyomi.i18n.MR import tachiyomi.i18n.MR
import tachiyomi.i18n.sy.SYMR import tachiyomi.i18n.sy.SYMR
enum class TrackStatus(val long: Long, val res: StringResource) { enum class TrackStatus(val int: Int, val res: StringResource) {
READING(1L, MR.strings.reading), READING(1, MR.strings.reading),
REPEATING(2L, MR.strings.repeating), REPEATING(2, MR.strings.repeating),
PLAN_TO_READ(3L, MR.strings.plan_to_read), PLAN_TO_READ(3, MR.strings.plan_to_read),
PAUSED(4L, MR.strings.on_hold), PAUSED(4, MR.strings.on_hold),
COMPLETED(5L, MR.strings.completed), COMPLETED(5, MR.strings.completed),
DROPPED(6L, MR.strings.dropped), DROPPED(6, MR.strings.dropped),
OTHER(7L, SYMR.strings.not_tracked), OTHER(7, SYMR.strings.not_tracked),
; ;
companion object { companion object {

View file

@ -877,7 +877,7 @@ class LibraryScreenModel(
categoryName categoryName
} }
LibraryGroup.BY_TRACK_STATUS -> TrackStatus.entries LibraryGroup.BY_TRACK_STATUS -> TrackStatus.entries
.find { it.long.toLong() == category?.id } .find { it.int.toLong() == category?.id }
.let { it ?: TrackStatus.OTHER } .let { it ?: TrackStatus.OTHER }
.let { context.stringResource(it.res) } .let { context.stringResource(it.res) }
LibraryGroup.UNGROUPED -> context.stringResource(SYMR.strings.ungrouped) LibraryGroup.UNGROUPED -> context.stringResource(SYMR.strings.ungrouped)
@ -1183,16 +1183,16 @@ class LibraryScreenModel(
TrackStatus.parseTrackerStatus(trackerManager, track.trackerId, track.status) TrackStatus.parseTrackerStatus(trackerManager, track.trackerId, track.status)
} ?: TrackStatus.OTHER } ?: TrackStatus.OTHER
status.long status.int
}.mapKeys { (id) -> }.mapKeys { (id) ->
Category( Category(
id = id.toLong(), id = id.toLong(),
name = TrackStatus.entries name = TrackStatus.entries
.find { it.long == id } .find { it.int == id }
.let { it ?: TrackStatus.OTHER } .let { it ?: TrackStatus.OTHER }
.let { context.stringResource(it.res) }, .let { context.stringResource(it.res) },
order = TrackStatus.entries.indexOfFirst { order = TrackStatus.entries.indexOfFirst {
it.long == id it.int == id
}.takeUnless { it == -1 }?.toLong() ?: TrackStatus.OTHER.ordinal.toLong(), }.takeUnless { it == -1 }?.toLong() ?: TrackStatus.OTHER.ordinal.toLong(),
flags = 0, flags = 0,
) )

View file

@ -1674,7 +1674,7 @@ class MangaScreenModel(
val trackingCount: Int val trackingCount: Int
get() = trackItems.count { get() = trackItems.count {
it.track != null && ((it.tracker is MdList && it.track.status != FollowStatus.UNFOLLOWED.long.toLong()) || it.tracker !is MdList) it.track != null && ((it.tracker is MdList && it.track.status != FollowStatus.UNFOLLOWED.long) || it.tracker !is MdList)
} }
/** /**

View file

@ -57,7 +57,7 @@ class FollowsHandler(
it, it,
lang, lang,
) to MangaDexSearchMetadata().apply { ) to MangaDexSearchMetadata().apply {
followStatus = FollowStatus.fromDex(statuses[it.id]).long followStatus = FollowStatus.fromDex(statuses[it.id]).long.toInt()
} }
}.sortedWith(comparator) }.sortedWith(comparator)
} }

View file

@ -41,7 +41,7 @@ class MangaDexSearchMetadata : RaisedSearchMetadata() {
// var missing_chapters: String? = null // var missing_chapters: String? = null
var followStatus: Long? = null var followStatus: Int? = null
var relation: MangaDexRelation? = null var relation: MangaDexRelation? = null
// var maxChapterNumber: Int? = null // var maxChapterNumber: Int? = null