From bda9664cb9c88f042816197beb9e47ffe435c584 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 6 Feb 2026 13:55:06 -0500 Subject: [PATCH] Check audio permission before enabling audio in video recording. --- .../org/signal/camera/CameraScreenViewModel.kt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/feature/camera/src/main/java/org/signal/camera/CameraScreenViewModel.kt b/feature/camera/src/main/java/org/signal/camera/CameraScreenViewModel.kt index e270ef9782..44eca2aff3 100644 --- a/feature/camera/src/main/java/org/signal/camera/CameraScreenViewModel.kt +++ b/feature/camera/src/main/java/org/signal/camera/CameraScreenViewModel.kt @@ -1,7 +1,9 @@ package org.signal.camera +import android.Manifest import android.app.Activity import android.content.Context +import android.content.pm.PackageManager import android.content.ContextWrapper import android.graphics.Bitmap import android.graphics.Matrix @@ -248,8 +250,16 @@ class CameraScreenViewModel : ViewModel() { } } - val activeRecording = pendingRecording - .withAudioEnabled() + val hasAudioPermission = context.checkSelfPermission(Manifest.permission.RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED + + val configuredRecording = if (hasAudioPermission) { + pendingRecording.withAudioEnabled() + } else { + Log.w(TAG, "RECORD_AUDIO permission not granted, recording without audio") + pendingRecording + } + + val activeRecording = configuredRecording .start(ContextCompat.getMainExecutor(context)) { recordEvent -> when (recordEvent) { is VideoRecordEvent.Start -> {