Rename MangaDex's FollowStatus's property to better reflect its type (#1082)
This commit is contained in:
parent
94e5c33785
commit
dd412e33ad
@ -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.int.toLong())/* SY <-- */
|
(service is MdList && track.status == FollowStatus.UNFOLLOWED.long)/* SY <-- */
|
||||||
) {
|
) {
|
||||||
return@mapNotNull null
|
return@mapNotNull null
|
||||||
}
|
}
|
||||||
|
@ -634,9 +634,9 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet
|
|||||||
var tracker = dbTracks.firstOrNull { it.trackerId == TrackerManager.MDLIST }
|
var tracker = dbTracks.firstOrNull { it.trackerId == TrackerManager.MDLIST }
|
||||||
?: mdList.createInitialTracker(manga).toDomainTrack(idRequired = false)
|
?: mdList.createInitialTracker(manga).toDomainTrack(idRequired = false)
|
||||||
|
|
||||||
if (tracker?.status == FollowStatus.UNFOLLOWED.int.toLong()) {
|
if (tracker?.status == FollowStatus.UNFOLLOWED.long) {
|
||||||
tracker = tracker.copy(
|
tracker = tracker.copy(
|
||||||
status = FollowStatus.READING.int.toLong(),
|
status = FollowStatus.READING.long,
|
||||||
)
|
)
|
||||||
val updatedTrack = mdList.update(tracker.toDbTrack())
|
val updatedTrack = mdList.update(tracker.toDbTrack())
|
||||||
insertTrack.await(updatedTrack.toDomainTrack(false)!!)
|
insertTrack.await(updatedTrack.toDomainTrack(false)!!)
|
||||||
|
@ -26,7 +26,7 @@ enum class TrackStatus(val int: Int, val res: StringResource) {
|
|||||||
fun parseTrackerStatus(trackerManager: TrackerManager, tracker: Long, status: Long): TrackStatus? {
|
fun parseTrackerStatus(trackerManager: TrackerManager, tracker: Long, status: Long): TrackStatus? {
|
||||||
return when (tracker) {
|
return when (tracker) {
|
||||||
trackerManager.mdList.id -> {
|
trackerManager.mdList.id -> {
|
||||||
when (FollowStatus.fromInt(status)) {
|
when (FollowStatus.fromLong(status)) {
|
||||||
FollowStatus.UNFOLLOWED -> null
|
FollowStatus.UNFOLLOWED -> null
|
||||||
FollowStatus.READING -> READING
|
FollowStatus.READING -> READING
|
||||||
FollowStatus.COMPLETED -> COMPLETED
|
FollowStatus.COMPLETED -> COMPLETED
|
||||||
|
@ -41,7 +41,7 @@ class MdList(id: Long) : BaseTracker(id, "MDList") {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun getStatusList(): List<Long> {
|
override fun getStatusList(): List<Long> {
|
||||||
return FollowStatus.entries.map { it.int }
|
return FollowStatus.entries.map { it.long }
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getStatus(status: Long): StringResource? = when (status) {
|
override fun getStatus(status: Long): StringResource? = when (status) {
|
||||||
@ -64,13 +64,13 @@ class MdList(id: Long) : BaseTracker(id, "MDList") {
|
|||||||
val mdex = mdex ?: throw MangaDexNotFoundException()
|
val mdex = mdex ?: throw MangaDexNotFoundException()
|
||||||
|
|
||||||
val remoteTrack = mdex.fetchTrackingInfo(track.tracking_url)
|
val remoteTrack = mdex.fetchTrackingInfo(track.tracking_url)
|
||||||
val followStatus = FollowStatus.fromInt(track.status)
|
val followStatus = FollowStatus.fromLong(track.status)
|
||||||
|
|
||||||
// this updates the follow status in the metadata
|
// this updates the follow status in the metadata
|
||||||
// allow follow status to update
|
// allow follow status to update
|
||||||
if (remoteTrack.status != followStatus.int) {
|
if (remoteTrack.status != followStatus.long) {
|
||||||
if (mdex.updateFollowStatus(MdUtil.getMangaId(track.tracking_url), followStatus)) {
|
if (mdex.updateFollowStatus(MdUtil.getMangaId(track.tracking_url), followStatus)) {
|
||||||
remoteTrack.status = followStatus.int
|
remoteTrack.status = followStatus.long
|
||||||
} else {
|
} else {
|
||||||
track.status = remoteTrack.status
|
track.status = remoteTrack.status
|
||||||
}
|
}
|
||||||
@ -103,19 +103,19 @@ class MdList(id: Long) : BaseTracker(id, "MDList") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getCompletionStatus(): Long = FollowStatus.COMPLETED.int
|
override fun getCompletionStatus(): Long = FollowStatus.COMPLETED.long
|
||||||
|
|
||||||
override fun getReadingStatus(): Long = FollowStatus.READING.int
|
override fun getReadingStatus(): Long = FollowStatus.READING.long
|
||||||
|
|
||||||
override fun getRereadingStatus(): Long = FollowStatus.RE_READING.int
|
override fun getRereadingStatus(): Long = FollowStatus.RE_READING.long
|
||||||
|
|
||||||
override suspend fun bind(track: Track, hasReadChapters: Boolean): Track = update(
|
override suspend fun bind(track: Track, hasReadChapters: Boolean): Track = update(
|
||||||
refresh(track).also {
|
refresh(track).also {
|
||||||
if (it.status == FollowStatus.UNFOLLOWED.int) {
|
if (it.status == FollowStatus.UNFOLLOWED.long) {
|
||||||
it.status = if (hasReadChapters) {
|
it.status = if (hasReadChapters) {
|
||||||
FollowStatus.READING.int
|
FollowStatus.READING.long
|
||||||
} else {
|
} else {
|
||||||
FollowStatus.PLAN_TO_READ.int
|
FollowStatus.PLAN_TO_READ.long
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -136,7 +136,7 @@ class MdList(id: Long) : BaseTracker(id, "MDList") {
|
|||||||
fun createInitialTracker(dbManga: Manga, mdManga: Manga = dbManga): Track {
|
fun createInitialTracker(dbManga: Manga, mdManga: Manga = dbManga): Track {
|
||||||
return Track.create(id).apply {
|
return Track.create(id).apply {
|
||||||
manga_id = dbManga.id
|
manga_id = dbManga.id
|
||||||
status = FollowStatus.UNFOLLOWED.int
|
status = FollowStatus.UNFOLLOWED.long
|
||||||
tracking_url = MdUtil.baseUrl + mdManga.url
|
tracking_url = MdUtil.baseUrl + mdManga.url
|
||||||
title = mdManga.title
|
title = mdManga.title
|
||||||
}
|
}
|
||||||
|
@ -1679,7 +1679,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.int.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]).int.toInt()
|
followStatus = FollowStatus.fromDex(statuses[it.id]).long.toInt()
|
||||||
}
|
}
|
||||||
}.sortedWith(comparator)
|
}.sortedWith(comparator)
|
||||||
}
|
}
|
||||||
@ -155,7 +155,7 @@ class FollowsHandler(
|
|||||||
val (followStatus, rating) = followStatusDef.await() to ratingDef.await()
|
val (followStatus, rating) = followStatusDef.await() to ratingDef.await()
|
||||||
Track.create(TrackerManager.MDLIST).apply {
|
Track.create(TrackerManager.MDLIST).apply {
|
||||||
title = ""
|
title = ""
|
||||||
status = followStatus.int
|
status = followStatus.long
|
||||||
tracking_url = url
|
tracking_url = url
|
||||||
score = rating?.rating?.toDouble() ?: 0.0
|
score = rating?.rating?.toDouble() ?: 0.0
|
||||||
}
|
}
|
||||||
|
@ -2,14 +2,14 @@ package exh.md.utils
|
|||||||
|
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
||||||
enum class FollowStatus(val int: Long) {
|
enum class FollowStatus(val long: Long) {
|
||||||
UNFOLLOWED(0),
|
UNFOLLOWED(0L),
|
||||||
READING(1),
|
READING(1L),
|
||||||
COMPLETED(2),
|
COMPLETED(2L),
|
||||||
ON_HOLD(3),
|
ON_HOLD(3L),
|
||||||
PLAN_TO_READ(4),
|
PLAN_TO_READ(4L),
|
||||||
DROPPED(5),
|
DROPPED(5L),
|
||||||
RE_READING(6),
|
RE_READING(6L),
|
||||||
;
|
;
|
||||||
|
|
||||||
fun toDex(): String = this.name.lowercase(Locale.US)
|
fun toDex(): String = this.name.lowercase(Locale.US)
|
||||||
@ -18,6 +18,6 @@ enum class FollowStatus(val int: Long) {
|
|||||||
fun fromDex(
|
fun fromDex(
|
||||||
value: String?,
|
value: String?,
|
||||||
): FollowStatus = entries.firstOrNull { it.name.lowercase(Locale.US) == value } ?: UNFOLLOWED
|
): FollowStatus = entries.firstOrNull { it.name.lowercase(Locale.US) == value } ?: UNFOLLOWED
|
||||||
fun fromInt(value: Long): FollowStatus = entries.firstOrNull { it.int == value } ?: UNFOLLOWED
|
fun fromLong(value: Long): FollowStatus = entries.firstOrNull { it.long == value } ?: UNFOLLOWED
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user