Coverage Summary for Class: PrimitiveAudioProvider (com.vsevolodganin.clicktrack.primitiveaudio)

Class Method, % Branch, % Line, % Instruction, %
PrimitiveAudioProvider 0% (0/2) 0% (0/2) 0% (0/4) 0% (0/25)
PrimitiveAudioProvider$Const
PrimitiveAudioProvider$MetroFactory 0% (0/1) 0% (0/1) 0% (0/11)
PrimitiveAudioProvider$MetroFactory$Companion 0% (0/1) 0% (0/1) 0% (0/12)
Total 0% (0/4) 0% (0/2) 0% (0/6) 0% (0/48)


 package com.vsevolodganin.clicktrack.primitiveaudio
 
 import com.vsevolodganin.clicktrack.di.component.ApplicationScope
 import com.vsevolodganin.clicktrack.model.ClickSoundSource
 import dev.zacsweers.metro.Inject
 import dev.zacsweers.metro.SingleIn
 
 @SingleIn(ApplicationScope::class)
 @Inject
 class PrimitiveAudioProvider(
     private val primitiveAudioExtractor: PrimitiveAudioExtractor,
 ) {
     fun get(sound: ClickSoundSource): PrimitiveFloatAudioData? {
         return primitiveAudioExtractor.extract(sound.uri, MAX_SECONDS)
             ?.let(PrimitiveFloatAudioData::from)
     }
 
     private companion object Const {
         const val MAX_SECONDS = 2
     }
 }