From 10f376e402186f6a592f88e2307214ac1e41b024 Mon Sep 17 00:00:00 2001 From: Nicholas Tinsley Date: Fri, 3 Feb 2023 13:04:15 -0500 Subject: [PATCH] Catch new audio recording error states. --- .../conversation/ConversationParentFragment.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) 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 f2cbfb6339..a5fadeae74 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java @@ -3377,9 +3377,13 @@ public class ConversationParentFragment extends Fragment requireActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED); voiceNoteMediaController.pausePlayback(); - recordingSession = new RecordingSession(audioRecorder.startRecording()); - - disposables.add(recordingSession); + 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(); + } } @Override @@ -3398,8 +3402,9 @@ public class ConversationParentFragment extends Fragment requireActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); requireActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); - - recordingSession.completeRecording(); + if (recordingSession != null) { + recordingSession.completeRecording(); + } } @Override