diff --git a/app/src/main/java/org/thoughtcrime/securesms/audio/AudioRecorder.java b/app/src/main/java/org/thoughtcrime/securesms/audio/AudioRecorder.java index 790176c8bf..f5f0f803aa 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/audio/AudioRecorder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/audio/AudioRecorder.java @@ -113,6 +113,23 @@ public class AudioRecorder { }); } + public void discardRecording() { + Log.i(TAG, "cancelRecording()"); + executor.execute(() -> { + if (recorder == null) { + Log.e(TAG, "MediaRecorder was never initialized successfully!"); + return; + } + audioFocusManager.abandonAudioFocus(); + recorder.stop(); + recordingUriFuture.cancel(true); + + recordingSubject = null; + recorder = null; + recordingUriFuture = null; + }); + } + public void stopRecording() { Log.i(TAG, "stopRecording()"); diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/VoiceMessageRecordingDelegate.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/VoiceMessageRecordingDelegate.kt index f199253f93..9c25359be5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/VoiceMessageRecordingDelegate.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/VoiceMessageRecordingDelegate.kt @@ -152,7 +152,7 @@ class VoiceMessageRecordingDelegate( fun discardRecording() { saveDraft = false shouldSend = false - audioRecorder.stopRecording() + audioRecorder.discardRecording() } fun saveDraft() {