From 10209621632dc6ef14ae7302663696cf6b140e4c Mon Sep 17 00:00:00 2001 From: "Cuong M. Tran" Date: Mon, 19 Feb 2024 16:16:04 +0700 Subject: [PATCH] =?UTF-8?q?Fix=20MangaDex=E2=80=99s=20followStatus=20&=20t?= =?UTF-8?q?ype=20of=20TrackStatus=E2=80=99s=20property?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/track/interactor/TrackChapter.kt | 2 +- .../components/BrowseSourceComfortableGrid.kt | 2 +- .../browse/components/BrowseSourceCompactGrid.kt | 2 +- .../browse/components/BrowseSourceList.kt | 2 +- .../tachiyomi/data/library/LibraryUpdateJob.kt | 8 ++++---- .../kanade/tachiyomi/data/track/TrackStatus.kt | 16 ++++++++-------- .../tachiyomi/ui/library/LibraryScreenModel.kt | 8 ++++---- .../tachiyomi/ui/manga/MangaScreenModel.kt | 2 +- .../main/java/exh/md/handlers/FollowsHandler.kt | 2 +- .../metadata/metadata/MangaDexSearchMetadata.kt | 2 +- 10 files changed, 23 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/eu/kanade/domain/track/interactor/TrackChapter.kt b/app/src/main/java/eu/kanade/domain/track/interactor/TrackChapter.kt index d634b31e7..acc011a4d 100644 --- a/app/src/main/java/eu/kanade/domain/track/interactor/TrackChapter.kt +++ b/app/src/main/java/eu/kanade/domain/track/interactor/TrackChapter.kt @@ -34,7 +34,7 @@ class TrackChapter( service == null || !service.isLoggedIn || 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 } diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt index b5e896480..4eba62822 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt @@ -102,7 +102,7 @@ private fun BrowseSourceComfortableGridItem( .let { remember { it.getStringArray(R.array.md_follows_options) - .getOrNull(followStatus.toInt()) + .getOrNull(followStatus) } } ?: return@let diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceCompactGrid.kt b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceCompactGrid.kt index c141ce67b..99d271025 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceCompactGrid.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceCompactGrid.kt @@ -102,7 +102,7 @@ private fun BrowseSourceCompactGridItem( .let { remember { it.getStringArray(R.array.md_follows_options) - .getOrNull(followStatus.toInt()) + .getOrNull(followStatus) } } ?: return@let diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt index 53d1f5816..234576705 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt @@ -93,7 +93,7 @@ private fun BrowseSourceListItem( .let { remember { it.getStringArray(R.array.md_follows_options) - .getOrNull(followStatus.toInt()) + .getOrNull(followStatus) } } ?: return@let diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt index ef2e8c273..12772538c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt @@ -235,14 +235,14 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet } else { when (group) { LibraryGroup.BY_TRACK_STATUS -> { - val trackingExtra = groupExtra?.toLongOrNull() ?: -1L + val trackingExtra = groupExtra?.toIntOrNull() ?: -1 val tracks = getTracks.await().groupBy { it.mangaId } libraryManga.filter { (manga) -> val status = tracks[manga.id]?.firstNotNullOfOrNull { track -> TrackStatus.parseTrackerStatus(trackerManager, track.trackerId, track.status) } ?: TrackStatus.OTHER - status.long == trackingExtra + status.int == trackingExtra } } LibraryGroup.BY_SOURCE -> { @@ -552,12 +552,12 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet var count = 0 val mangaDex = MdUtil.getEnabledMangaDex(preferences, sourceManager = sourceManager) ?: return@coroutineScope - val syncFollowStatusLongs = preferences.mangadexSyncToLibraryIndexes().get().map { it.toLong() } + val syncFollowStatusInts = preferences.mangadexSyncToLibraryIndexes().get().map { it.toInt() } val size: Int mangaDex.fetchAllFollows() .filter { (_, metadata) -> - syncFollowStatusLongs.contains(metadata.followStatus) + syncFollowStatusInts.contains(metadata.followStatus) } .also { size = it.size } .forEach { (networkManga, metadata) -> diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/TrackStatus.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/TrackStatus.kt index 9354131a2..62079375f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/TrackStatus.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/TrackStatus.kt @@ -12,14 +12,14 @@ import exh.md.utils.FollowStatus import tachiyomi.i18n.MR import tachiyomi.i18n.sy.SYMR -enum class TrackStatus(val long: Long, val res: StringResource) { - READING(1L, MR.strings.reading), - REPEATING(2L, MR.strings.repeating), - PLAN_TO_READ(3L, MR.strings.plan_to_read), - PAUSED(4L, MR.strings.on_hold), - COMPLETED(5L, MR.strings.completed), - DROPPED(6L, MR.strings.dropped), - OTHER(7L, SYMR.strings.not_tracked), +enum class TrackStatus(val int: Int, val res: StringResource) { + READING(1, MR.strings.reading), + REPEATING(2, MR.strings.repeating), + PLAN_TO_READ(3, MR.strings.plan_to_read), + PAUSED(4, MR.strings.on_hold), + COMPLETED(5, MR.strings.completed), + DROPPED(6, MR.strings.dropped), + OTHER(7, SYMR.strings.not_tracked), ; companion object { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt index 6e6f66369..7d0dc0275 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt @@ -877,7 +877,7 @@ class LibraryScreenModel( categoryName } LibraryGroup.BY_TRACK_STATUS -> TrackStatus.entries - .find { it.long.toLong() == category?.id } + .find { it.int.toLong() == category?.id } .let { it ?: TrackStatus.OTHER } .let { context.stringResource(it.res) } LibraryGroup.UNGROUPED -> context.stringResource(SYMR.strings.ungrouped) @@ -1183,16 +1183,16 @@ class LibraryScreenModel( TrackStatus.parseTrackerStatus(trackerManager, track.trackerId, track.status) } ?: TrackStatus.OTHER - status.long + status.int }.mapKeys { (id) -> Category( id = id.toLong(), name = TrackStatus.entries - .find { it.long == id } + .find { it.int == id } .let { it ?: TrackStatus.OTHER } .let { context.stringResource(it.res) }, order = TrackStatus.entries.indexOfFirst { - it.long == id + it.int == id }.takeUnless { it == -1 }?.toLong() ?: TrackStatus.OTHER.ordinal.toLong(), flags = 0, ) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt index 1c61d4379..59de48892 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt @@ -1674,7 +1674,7 @@ class MangaScreenModel( val trackingCount: Int 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) } /** diff --git a/app/src/main/java/exh/md/handlers/FollowsHandler.kt b/app/src/main/java/exh/md/handlers/FollowsHandler.kt index 6540711b3..a262e1538 100644 --- a/app/src/main/java/exh/md/handlers/FollowsHandler.kt +++ b/app/src/main/java/exh/md/handlers/FollowsHandler.kt @@ -57,7 +57,7 @@ class FollowsHandler( it, lang, ) to MangaDexSearchMetadata().apply { - followStatus = FollowStatus.fromDex(statuses[it.id]).long + followStatus = FollowStatus.fromDex(statuses[it.id]).long.toInt() } }.sortedWith(comparator) } diff --git a/source-api/src/commonMain/kotlin/exh/metadata/metadata/MangaDexSearchMetadata.kt b/source-api/src/commonMain/kotlin/exh/metadata/metadata/MangaDexSearchMetadata.kt index 0782b45e6..88c9c9a68 100644 --- a/source-api/src/commonMain/kotlin/exh/metadata/metadata/MangaDexSearchMetadata.kt +++ b/source-api/src/commonMain/kotlin/exh/metadata/metadata/MangaDexSearchMetadata.kt @@ -41,7 +41,7 @@ class MangaDexSearchMetadata : RaisedSearchMetadata() { // var missing_chapters: String? = null - var followStatus: Long? = null + var followStatus: Int? = null var relation: MangaDexRelation? = null // var maxChapterNumber: Int? = null