From 5362b1c21c7a755af1dbaf537ba42cab37b5d24c Mon Sep 17 00:00:00 2001 From: Nicholas Tinsley Date: Tue, 23 May 2023 09:26:42 -0400 Subject: [PATCH] Prevent NPE when finishing voice memo recording. --- .../ConversationParentFragment.java | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 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 3293502ac9..8128b416f7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java @@ -3334,11 +3334,16 @@ public class ConversationParentFragment extends Fragment bluetoothVoiceNoteUtil.disconnectBluetoothScoConnection(); voiceRecorderWakeLock.release(); updateToggleButtonState(); - Vibrator vibrator = ServiceUtil.getVibrator(requireContext()); - vibrator.vibrate(20); - requireActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - requireActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); + Activity activity = getActivity(); + if (activity != null) { + Vibrator vibrator = ServiceUtil.getVibrator(activity); + vibrator.vibrate(20); + + activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); + } + if (recordingSession != null) { recordingSession.completeRecording(); } @@ -3348,11 +3353,15 @@ public class ConversationParentFragment extends Fragment public void onRecorderCanceled(boolean byUser) { voiceRecorderWakeLock.release(); updateToggleButtonState(); - Vibrator vibrator = ServiceUtil.getVibrator(requireContext()); - vibrator.vibrate(50); - requireActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - requireActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); + Activity activity = getActivity(); + if (activity != null) { + Vibrator vibrator = ServiceUtil.getVibrator(activity); + vibrator.vibrate(50); + + activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); + } if (recordingSession != null) { if (byUser) {