From e443aed99da33ca74cd8b7679d4eabf10a230eb8 Mon Sep 17 00:00:00 2001 From: agra Date: Fri, 14 Nov 2025 11:34:22 +0200 Subject: [PATCH] fix RECORD_AUDIO permission on Android when there is no permission --- .../plugins/camerax/PendingRecordingProxyApi.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/PendingRecordingProxyApi.java b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/PendingRecordingProxyApi.java index 8cf28799b91..8fda17d4454 100644 --- a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/PendingRecordingProxyApi.java +++ b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/PendingRecordingProxyApi.java @@ -37,15 +37,16 @@ public PendingRecording asPersistentRecording(PendingRecording pigeonInstance) { @NonNull @Override - public PendingRecording withAudioEnabled(PendingRecording pigeonInstance, boolean initialMuted) { - if (!initialMuted - && ContextCompat.checkSelfPermission( - getPigeonRegistrar().getContext(), Manifest.permission.RECORD_AUDIO) - == PackageManager.PERMISSION_GRANTED) { - return pigeonInstance.withAudioEnabled(false); + public PendingRecording withAudioEnabled(PendingRecording pigeonInstance, boolean initialMuted) { + boolean hasPermission = ContextCompat.checkSelfPermission( + getPigeonRegistrar().getContext(), Manifest.permission.RECORD_AUDIO) + == PackageManager.PERMISSION_GRANTED; + + if (hasPermission) { + return pigeonInstance.withAudioEnabled(initialMuted); } - return pigeonInstance.withAudioEnabled(true); + return pigeonInstance; } @NonNull