Files
muza/app/src/main/kotlin/it/vfsfitvnm/vimusic/models/Song.kt
2022-07-23 16:57:38 +02:00

36 lines
855 B
Kotlin

package it.vfsfitvnm.vimusic.models
import androidx.room.Entity
import androidx.room.PrimaryKey
@Entity
data class Song(
@PrimaryKey val id: String,
val title: String,
val artistsText: String? = null,
val durationText: String,
val thumbnailUrl: String?,
val lyrics: String? = null,
val likedAt: Long? = null,
val totalPlayTimeMs: Long = 0
) {
val formattedTotalPlayTime: String
get() {
val seconds = totalPlayTimeMs / 1000
val hours = seconds / 3600
return when {
hours == 0L -> "${seconds / 60}m"
hours < 24L -> "${hours}h"
else -> "${hours / 24}d"
}
}
fun toggleLike(): Song {
return copy(
likedAt = if (likedAt == null) System.currentTimeMillis() else null
)
}
}