change Track.last_chapter_read to Float (#5802)

each TrackService can convert it to Int if decimal chapters are not supported
This commit is contained in:
Gauthier
2021-08-28 22:37:45 +08:00
committed by GitHub
parent 4b2a9bc621
commit 2cd8733212
22 changed files with 63 additions and 37 deletions

View File

@@ -878,7 +878,7 @@ class MangaPresenter(
val track = item.track!!
track.status = item.service.getStatusList()[index]
if (track.status == item.service.getCompletionStatus() && track.total_chapters != 0) {
track.last_chapter_read = track.total_chapters
track.last_chapter_read = track.total_chapters.toFloat()
}
updateRemote(track, item.service)
}
@@ -891,11 +891,11 @@ class MangaPresenter(
fun setTrackerLastChapterRead(item: TrackItem, chapterNumber: Int) {
val track = item.track!!
if (track.last_chapter_read == 0 && track.last_chapter_read < chapterNumber && track.status != item.service.getRereadingStatus()) {
if (track.last_chapter_read == 0F && track.last_chapter_read < chapterNumber && track.status != item.service.getRereadingStatus()) {
track.status = item.service.getReadingStatus()
}
track.last_chapter_read = chapterNumber
if (track.total_chapters != 0 && track.last_chapter_read == track.total_chapters) {
track.last_chapter_read = chapterNumber.toFloat()
if (track.total_chapters != 0 && track.last_chapter_read.toInt() == track.total_chapters) {
track.status = item.service.getCompletionStatus()
}
updateRemote(track, item.service)

View File

@@ -41,7 +41,7 @@ class SetTrackChaptersDialog<T> : DialogController
val np = pickerView.chaptersPicker
// Set initial value
np.value = item.track?.last_chapter_read ?: 0
np.value = item.track?.last_chapter_read?.toInt() ?: 0
// Enforce maximum value if tracker has total number of chapters set
if (item.track != null && item.track.total_chapters > 0) {

View File

@@ -55,7 +55,7 @@ class TrackHolder(private val binding: TrackItemBinding, adapter: TrackAdapter)
listener.onOpenInBrowserClick(bindingAdapterPosition)
}
binding.trackTitle.text = track.title
binding.trackChapters.text = track.last_chapter_read.toString()
binding.trackChapters.text = track.last_chapter_read.toInt().toString()
if (track.total_chapters > 0) {
binding.trackChapters.text = "${binding.trackChapters.text} / ${track.total_chapters}"
}

View File

@@ -698,7 +698,7 @@ class ReaderPresenter(
if (!preferences.autoUpdateTrack()) return
val manga = manga ?: return
val chapterRead = readerChapter.chapter.chapter_number.toInt()
val chapterRead = readerChapter.chapter.chapter_number
val trackManager = Injekt.get<TrackManager>()