2022-07-04 17:31:58 +02:00
|
|
|
/*
|
|
|
|
* ArtistOrIndex.kt
|
|
|
|
* Copyright (C) 2009-2022 Ultrasonic developers
|
|
|
|
*
|
|
|
|
* Distributed under terms of the GNU GPLv3 license.
|
|
|
|
*/
|
|
|
|
|
2021-06-20 16:31:08 +02:00
|
|
|
package org.moire.ultrasonic.domain
|
|
|
|
|
|
|
|
import androidx.room.Ignore
|
|
|
|
|
2022-07-05 15:30:41 +02:00
|
|
|
@Suppress("LongParameterList")
|
2021-10-14 19:25:25 +02:00
|
|
|
abstract class ArtistOrIndex(
|
2021-06-20 16:31:08 +02:00
|
|
|
@Ignore
|
|
|
|
override var id: String,
|
|
|
|
@Ignore
|
2022-07-04 17:31:58 +02:00
|
|
|
open var serverId: Int,
|
|
|
|
@Ignore
|
2021-06-20 16:31:08 +02:00
|
|
|
override var name: String? = null,
|
|
|
|
@Ignore
|
|
|
|
open var index: String? = null,
|
|
|
|
@Ignore
|
|
|
|
open var coverArt: String? = null,
|
|
|
|
@Ignore
|
|
|
|
open var albumCount: Long? = null,
|
|
|
|
@Ignore
|
|
|
|
open var closeness: Int = 0
|
2021-11-30 20:53:10 +01:00
|
|
|
) : GenericEntry() {
|
|
|
|
|
|
|
|
fun compareTo(other: ArtistOrIndex): Int {
|
2022-07-04 17:31:58 +02:00
|
|
|
return when {
|
2021-11-30 20:53:10 +01:00
|
|
|
this.closeness == other.closeness -> {
|
2022-07-04 17:31:58 +02:00
|
|
|
0
|
2021-11-30 20:53:10 +01:00
|
|
|
}
|
|
|
|
this.closeness > other.closeness -> {
|
2022-07-04 17:31:58 +02:00
|
|
|
-1
|
2021-11-30 20:53:10 +01:00
|
|
|
}
|
|
|
|
else -> {
|
2022-07-04 17:31:58 +02:00
|
|
|
1
|
2021-11-30 20:53:10 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun compareTo(other: Identifiable) = compareTo(other as ArtistOrIndex)
|
|
|
|
}
|