Open
Description
Android framework version
net9.0-android
Affected platform version
.NET 9
Description
ProcessCameraProvider must implement ICameraProvider: https://developer.android.com/reference/androidx/camera/lifecycle/ProcessCameraProvider
Steps to Reproduce
async Task<CameraSelector> EnableModes(CameraInfo selectedCamera)
{
var cameraFutureCts = new TaskCompletionSource();
var cameraSelector = selectedCamera.CameraSelector ?? throw new CameraException($"Unable to retrieve {nameof(CameraSelector)}");
var cameraProviderFuture = ProcessCameraProvider.GetInstance(context) ?? throw new CameraException($"Unable to retrieve {nameof(ProcessCameraProvider)}");
cameraProviderFuture.AddListener(new Runnable(() =>
{
var cameraProviderInstance = cameraProviderFuture.Get();
if (cameraProviderInstance is not AndroidX.Camera.Core.ICameraProvider androidCameraProvider) // this is true, but must be false
{
cameraFutureCts.SetResult();
return;
}
var extensionsManagerFuture = ExtensionsManager.GetInstanceAsync(context, androidCameraProvider);
extensionsManagerFuture.AddListener(new Runnable(() =>
{
var extensionsManager = (ExtensionsManager)extensionsManagerFuture.Get()!;
if (extensionsManager.IsExtensionAvailable(cameraSelector, extensionMode))
{
cameraSelector = extensionsManager.GetExtensionEnabledCameraSelector(cameraSelector, extensionMode);
}
cameraFutureCts.SetResult();
}), ContextCompat.GetMainExecutor(context));
}), ContextCompat.GetMainExecutor(context));
await cameraFutureCts.Task;
return cameraSelector;
}
Did you find any workaround?
No response
Relevant log output
Metadata
Metadata
Assignees
Labels
No labels