getCameraCapabilities method

  1. @override
Future<List<CameraCapability>> getCameraCapabilities()
override

Returns native Android Camera2 capabilities reported by the device.

Implementation

@override
Future<List<CameraCapability>> getCameraCapabilities() async {
  final List<Object?>? cameraList = await methodChannel
      .invokeListMethod<Object?>('getCameraCapabilities');

  if (cameraList == null) {
    throw PlatformException(
      code: 'native_lens_empty_camera_capabilities',
      message: 'Android returned an empty camera capability list.',
    );
  }

  final List<CameraCapability> cameras = <CameraCapability>[];

  for (final Object? cameraItem in cameraList) {
    if (cameraItem is Map<Object?, Object?>) {
      cameras.add(CameraCapability.fromMap(cameraItem));
    }
  }

  return cameras;
}