diff --git a/app/src/main/java/ani/dantotsu/Functions.kt b/app/src/main/java/ani/dantotsu/Functions.kt index 79ec0c20..a05072fd 100644 --- a/app/src/main/java/ani/dantotsu/Functions.kt +++ b/app/src/main/java/ani/dantotsu/Functions.kt @@ -993,12 +993,7 @@ fun countDown(media: Media, view: ViewGroup) { fun sinceWhen(media: Media, view: ViewGroup) { CoroutineScope(Dispatchers.IO).launch { MangaUpdates().search(media.name ?: media.nameRomaji, media.startDate)?.let { - val latestChapter = it.metadata.series.latestChapter ?: it.record.chapter?.let { chapter -> - if (chapter.contains("-")) - chapter.split("-")[1].trim() - else - chapter - }?.toIntOrNull() ?: return@launch + val latestChapter = MangaUpdates.getLatestChapter(it) val timeSince = (System.currentTimeMillis() - (it.metadata.series.lastUpdated!!.timestamp * 1000)) / 1000 diff --git a/app/src/main/java/ani/dantotsu/connections/bakaupdates/MangaUpdates.kt b/app/src/main/java/ani/dantotsu/connections/bakaupdates/MangaUpdates.kt index 7d811ba3..498c0b3b 100644 --- a/app/src/main/java/ani/dantotsu/connections/bakaupdates/MangaUpdates.kt +++ b/app/src/main/java/ani/dantotsu/connections/bakaupdates/MangaUpdates.kt @@ -34,8 +34,18 @@ class MangaUpdates { } } val res = client.post(apiUrl, json = query).parsed() - res.results?.forEach{ println("MangaUpdates: $it") } - res.results?.first { it.metadata.series.lastUpdated?.timestamp != null } + res.results?.first { + it.metadata.series.lastUpdated?.timestamp != null + && (it.metadata.series.latestChapter != null + || (it.record.volume.isNullOrBlank() && it.record.chapter != null)) + } + } + } + + companion object { + fun getLatestChapter(results: MangaUpdatesResponse.Results): Int { + return results.metadata.series.latestChapter + ?: results.record.chapter!!.substringAfterLast("-").trim().toInt() } }