withCamera<T> static method

Future<T?> withCamera<T>(
  1. CameraPosition position,
  2. CameraOwner owner,
  3. Future<T> operation(
    1. Camera camera
    )
)

Safely execute camera operations (only works if you own the camera)

Implementation

static Future<T?> withCamera<T>(
  CameraPosition position,
  CameraOwner owner,
  Future<T> Function(Camera camera) operation,
) async {
  final camera = getCamera(position, owner);
  if (camera == null) {
    return null;
  }

  try {
    final result = await operation(camera);
    return result;
  } catch (error) {
    SdkLogger.info('CameraOwnershipHelper', 'withCamera', 'Camera operation failed for ${owner.id}: $error');
    rethrow;
  }
}