Fix MangaDex’s followStatus & type of TrackStatus’s property
This commit is contained in:
parent
f795b89b51
commit
1020962163
10 changed files with 23 additions and 23 deletions
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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) ->
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue