davidliu
Committed by GitHub

Only use camerax provider if lifecycle is not destroyed (#424)

@@ -19,6 +19,7 @@ package livekit.org.webrtc @@ -19,6 +19,7 @@ package livekit.org.webrtc
19 import android.content.Context 19 import android.content.Context
20 import android.hardware.camera2.CameraManager 20 import android.hardware.camera2.CameraManager
21 import androidx.camera.camera2.interop.ExperimentalCamera2Interop 21 import androidx.camera.camera2.interop.ExperimentalCamera2Interop
  22 +import androidx.lifecycle.Lifecycle
22 import androidx.lifecycle.LifecycleOwner 23 import androidx.lifecycle.LifecycleOwner
23 import io.livekit.android.room.track.LocalVideoTrackOptions 24 import io.livekit.android.room.track.LocalVideoTrackOptions
24 import io.livekit.android.room.track.video.CameraCapturerUtils 25 import io.livekit.android.room.track.video.CameraCapturerUtils
@@ -66,7 +67,9 @@ class CameraXHelper { @@ -66,7 +67,9 @@ class CameraXHelper {
66 ) 67 )
67 } 68 }
68 69
69 - override fun isSupported(context: Context) = Camera2Enumerator.isSupported(context) 70 + override fun isSupported(context: Context): Boolean {
  71 + return Camera2Enumerator.isSupported(context) && lifecycleOwner.lifecycle.currentState.isAtLeast(Lifecycle.State.INITIALIZED)
  72 + }
70 } 73 }
71 74
72 private fun getSupportedFormats( 75 private fun getSupportedFormats(