initialize method

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

Starts monitoring. Reference counted: each call must be balanced by a dispose call.

Implementation

@override
Future<void> initialize() => _serialized(() async {
      _refCount++;
      if (_refCount > 1) return;
      // Subscribe before starting native monitoring so no event is missed.
      final subscription = eventChannel.receiveBroadcastStream().listen(
        _handleCallStateEvent,
        onError: (Object error) {
          debugPrint('call_state_handler: event channel error: $error');
        },
      );
      _eventSubscription = subscription;
      try {
        await methodChannel.invokeMethod<void>('initialize');
      } catch (_) {
        _refCount--;
        _eventSubscription = null;
        await subscription.cancel();
        rethrow;
      }
    });