lazily creating the voice directory references, avoid eagerly reading the file on the main thread

This commit is contained in:
Adam Brown 2021-10-27 17:58:48 +01:00
parent c2ce10f89c
commit 8525925732
2 changed files with 12 additions and 12 deletions

View file

@ -26,17 +26,17 @@ abstract class AbstractVoiceRecorder(
context: Context, context: Context,
private val filenameExt: String private val filenameExt: String
) : VoiceRecorder { ) : VoiceRecorder {
private val outputDirectory = File(context.cacheDir, "voice_records") private val outputDirectory: File by lazy {
File(context.cacheDir, "voice_records").also {
if (!it.exists()) {
it.mkdirs()
}
}
}
private var mediaRecorder: MediaRecorder? = null private var mediaRecorder: MediaRecorder? = null
private var outputFile: File? = null private var outputFile: File? = null
init {
if (!outputDirectory.exists()) {
outputDirectory.mkdirs()
}
}
abstract fun setOutputFormat(mediaRecorder: MediaRecorder) abstract fun setOutputFormat(mediaRecorder: MediaRecorder)
abstract fun convertFile(recordedFile: File?): File? abstract fun convertFile(recordedFile: File?): File?

View file

@ -27,11 +27,11 @@ import javax.inject.Inject
class VoicePlayerHelper @Inject constructor( class VoicePlayerHelper @Inject constructor(
context: Context context: Context
) { ) {
private val outputDirectory = File(context.cacheDir, "voice_records") private val outputDirectory: File by lazy {
File(context.cacheDir, "voice_records").also {
init { if (!it.exists()) {
if (!outputDirectory.exists()) { it.mkdirs()
outputDirectory.mkdirs() }
} }
} }