Coverage Summary for Class: GenericClickSounds (com.vsevolodganin.clicktrack.model)
Class |
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
GenericClickSounds |
0%
(0/4)
|
0%
(0/4)
|
0%
(0/8)
|
4.2%
(4/95)
|
GenericClickSounds$Companion |
0%
(0/1)
|
|
0%
(0/1)
|
0%
(0/5)
|
GenericClickSounds$WhenMappings |
|
Total |
0%
(0/5)
|
0%
(0/4)
|
0%
(0/9)
|
4%
(4/100)
|
package com.vsevolodganin.clicktrack.model
import kotlinx.serialization.Serializable
@Serializable
data class GenericClickSounds<T : ClickSoundSource>(
val strongBeat: T?,
val weakBeat: T?,
) {
val asIterable: Iterable<T> get() = listOfNotNull(strongBeat, weakBeat)
fun beatByType(type: ClickSoundType) = when (type) {
ClickSoundType.STRONG -> strongBeat
ClickSoundType.WEAK -> weakBeat
}
}
typealias ClickSounds = GenericClickSounds<*>
typealias UriClickSounds = GenericClickSounds<ClickSoundSource.Uri>