From 88f50da4fbcbaee8afb25bd559e745ded0bda2b5 Mon Sep 17 00:00:00 2001 From: Nicholas Tinsley Date: Thu, 22 Jun 2023 13:32:27 -0400 Subject: [PATCH] Discard voice note recording on error. --- .../java/org/thoughtcrime/securesms/audio/AudioRecorder.java | 4 ++-- .../securesms/conversation/ConversationParentFragment.java | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) 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 c3b712eb8f..cf776e7df0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/audio/AudioRecorder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/audio/AudioRecorder.java @@ -48,14 +48,14 @@ public class AudioRecorder { if (this.uiHandler != null) { onAudioFocusChangeListener = focusChange -> { if (focusChange == AudioManager.AUDIOFOCUS_LOSS) { - Log.i(TAG, "Audio focus change " + focusChange + " stopping recording"); + Log.i(TAG, "Audio focus change " + focusChange + " stopping recording via UI handler."); this.uiHandler.onRecordCanceled(false); } }; } else { onAudioFocusChangeListener = focusChange -> { if (focusChange == AudioManager.AUDIOFOCUS_LOSS) { - Log.i(TAG, "Audio focus change " + focusChange + " stopping recording"); + Log.i(TAG, "Audio focus change " + focusChange + " stopping recording."); stopRecording(); } }; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java index 87e467de0f..19a0e7ebe2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java @@ -3730,6 +3730,7 @@ public class ConversationParentFragment extends Fragment public void onError(Throwable t) { Toast.makeText(requireContext(), R.string.ConversationActivity_unable_to_record_audio, Toast.LENGTH_LONG).show(); Log.e(TAG, "Error in RecordingSession.", t); + recordingSession.discardRecording(); recordingSession.dispose(); recordingSession = null; }