From 6c6d4e801f10aaf05a759621b0b045ef832fce3d Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Tue, 14 Mar 2023 14:35:48 -0400 Subject: [PATCH] Fix crash when starting multiple audio records. --- .../org/thoughtcrime/securesms/audio/AudioRecorder.java | 3 ++- .../conversation/ConversationParentFragment.java | 9 ++------- 2 files changed, 4 insertions(+), 8 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 acc41141c7..c4c3ca8132 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/audio/AudioRecorder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/audio/AudioRecorder.java @@ -68,7 +68,8 @@ public class AudioRecorder { Log.i(TAG, "Running startRecording() + " + Thread.currentThread().getId()); try { if (recorder != null) { - throw new AssertionError("We can only record once at a time."); + recordingSingle.onError(new IllegalStateException("We can only do one recording at a time!")); + return; } ParcelFileDescriptor fds[] = ParcelFileDescriptor.createPipe(); 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 5e4112e67f..5aef726a1d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java @@ -3381,13 +3381,8 @@ public class ConversationParentFragment extends Fragment requireActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED); voiceNoteMediaController.pausePlayback(); - try { - recordingSession = new RecordingSession(audioRecorder.startRecording()); - disposables.add(recordingSession); - } catch (AssertionError err) { - Log.e(TAG, "Could not start audio recording.", err); - Toast.makeText(requireContext(), R.string.ConversationActivity_unable_to_record_audio, Toast.LENGTH_SHORT).show(); - } + recordingSession = new RecordingSession(audioRecorder.startRecording()); + disposables.add(recordingSession); } @Override