close method

  1. @override
Future<void> close()
override

Implementation

@override
Future<void> close() async {
  if (_closed) return;
  _closed = true;
  final viewId = _viewId;
  final error = AndroidMapException(
    operation: 'close',
    code: 'transport_closed',
    viewId: viewId,
  );
  final cancellations = _pendingInvocations.values.toList(growable: false);
  _pendingInvocations.clear();
  for (final cancel in cancellations) {
    cancel(error);
  }
  _channel?.setMethodCallHandler(null);
  _channel = null;
  _viewId = null;
  await _events.close();
}