From a515d2b36c5a1cb8ae444cbad94b3af54f9cd88a Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Sat, 21 Oct 2023 19:15:15 +0200 Subject: [PATCH] refactor: Improve selectedDevice; Use own rememberState; Reset selectedDevice on stop --- .../myzel394/alibi/services/AudioRecorderService.kt | 11 ++++++----- .../AudioRecorder/organisms/RecordingStatus.kt | 7 +++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/app/myzel394/alibi/services/AudioRecorderService.kt b/app/src/main/java/app/myzel394/alibi/services/AudioRecorderService.kt index 1cc73fd..07d9fc2 100644 --- a/app/src/main/java/app/myzel394/alibi/services/AudioRecorderService.kt +++ b/app/src/main/java/app/myzel394/alibi/services/AudioRecorderService.kt @@ -12,7 +12,7 @@ import android.os.Build import app.myzel394.alibi.ui.utils.MicrophoneInfo import java.lang.IllegalStateException -class AudioRecorderService: IntervalRecorderService() { +class AudioRecorderService : IntervalRecorderService() { var amplitudesAmount = 1000 var selectedDevice: MicrophoneInfo? = null @@ -27,11 +27,11 @@ class AudioRecorderService: IntervalRecorderService() { val audioManger = getSystemService(AUDIO_SERVICE)!! as AudioManager if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { - if (selectedDevice == null) { + if (selectedDevice == null) { audioManger.clearCommunicationDevice() - } else { - audioManger.setCommunicationDevice(selectedDevice!!.deviceInfo) - } + } else { + audioManger.setCommunicationDevice(selectedDevice!!.deviceInfo) + } } else { if (selectedDevice == null) { audioManger.stopBluetoothSco() @@ -104,6 +104,7 @@ class AudioRecorderService: IntervalRecorderService() { super.stop() resetRecorder() + selectedDevice = null } override fun getAmplitudeAmount(): Int = amplitudesAmount diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/AudioRecorder/organisms/RecordingStatus.kt b/app/src/main/java/app/myzel394/alibi/ui/components/AudioRecorder/organisms/RecordingStatus.kt index 9cc6a4c..e8a550c 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/components/AudioRecorder/organisms/RecordingStatus.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/components/AudioRecorder/organisms/RecordingStatus.kt @@ -168,10 +168,13 @@ fun RecordingStatus( if (microphones.isNotEmpty()) { MicrophoneSelection( microphones = microphones, - selectedMicrophone = audioRecorder.recorderService!!.selectedDevice, + selectedMicrophone = audioRecorder.selectedDevice, onSelect = { audioRecorder.changeMicrophone(it) - audioRecorder.recorderService!!.startNewCycle() + + if (!audioRecorder.isPaused) { + audioRecorder.recorderService!!.startNewCycle() + } } ) }