From 49317b67d32f8d1180c464e7eb48b0fefaccf4eb Mon Sep 17 00:00:00 2001 From: Xerus <27jf@web.de> Date: Sat, 27 Jul 2019 15:49:03 +0200 Subject: [PATCH] fix: update Track to API change - add version field fixes #68 --- src/main/xerus/monstercat/api/Cache.kt | 2 +- src/main/xerus/monstercat/api/response/Track.kt | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/xerus/monstercat/api/Cache.kt b/src/main/xerus/monstercat/api/Cache.kt index e31d4f3..8892d23 100644 --- a/src/main/xerus/monstercat/api/Cache.kt +++ b/src/main/xerus/monstercat/api/Cache.kt @@ -18,7 +18,7 @@ import xerus.monstercat.downloader.CONNECTSID import xerus.monstercat.globalDispatcher import java.io.File -private const val cacheVersion = 4 +private const val cacheVersion = 5 object Cache: Refresher() { private val logger = KotlinLogging.logger { } diff --git a/src/main/xerus/monstercat/api/response/Track.kt b/src/main/xerus/monstercat/api/response/Track.kt index 6288c97..caa11fb 100644 --- a/src/main/xerus/monstercat/api/response/Track.kt +++ b/src/main/xerus/monstercat/api/response/Track.kt @@ -16,6 +16,8 @@ open class Track: MusicItem() { @Key override var title: String = "" @Key + var version: String = "" + @Key var albums: List = emptyList() @Key("artistRelationships") var artists: List = emptyList() @@ -55,7 +57,7 @@ open class Track: MusicItem() { artistsTitle = formatArtists(artistsTitle) artistsSplit = artistsTitle.splitArtists() - splitTitle = "$artistsTitle $title".splitTitleTrimmed() + splitTitle = "$artistsTitle $title $version".splitTitleTrimmed() title.splitTitle().forEachIndexed { index, s -> when { @@ -74,7 +76,11 @@ open class Track: MusicItem() { return super.toString(template, *additionalFields) } - override fun toString(): String = artistsTitle.isEmpty().to("%2\$s", "%s - %s").format(artistsTitle, title) + override fun toString(): String = when { + artistsTitle.isEmpty() -> "%2\$s" + version.isEmpty() -> "%s - %s" + else -> "%s - %s (%s)" + }.format(artistsTitle, title, version) override fun equals(other: Any?): Boolean = this === other || (other is Track && id == other.id)