From b7e9b3167d794afdab4cb0163b46c5697708a6d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hanno=20J=2E=20G=C3=B6decke?= Date: Mon, 14 Jul 2025 12:12:21 +0200 Subject: [PATCH] fix(android): no camera devices on app start --- .../com/mrousavy/camera/react/CameraDevicesManager.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/package/android/src/main/java/com/mrousavy/camera/react/CameraDevicesManager.kt b/package/android/src/main/java/com/mrousavy/camera/react/CameraDevicesManager.kt index dccff1899c..21ac2b2842 100644 --- a/package/android/src/main/java/com/mrousavy/camera/react/CameraDevicesManager.kt +++ b/package/android/src/main/java/com/mrousavy/camera/react/CameraDevicesManager.kt @@ -59,9 +59,8 @@ class CameraDevicesManager(private val reactContext: ReactApplicationContext) : override fun getName(): String = TAG - override fun initialize() { - super.initialize() - cameraManager.registerAvailabilityCallback(callback, null) + // Init cameraProvider + manager as early as possible + init { coroutineScope.launch { try { Log.i(TAG, "Initializing ProcessCameraProvider...") @@ -76,6 +75,12 @@ class CameraDevicesManager(private val reactContext: ReactApplicationContext) : } } + // Note: initialize() will be called after getConstants on new arch! + override fun initialize() { + super.initialize() + cameraManager.registerAvailabilityCallback(callback, null) + } + override fun invalidate() { cameraManager.unregisterAvailabilityCallback(callback) super.invalidate()