init static method

Future<void> init({
  1. required CallStateChangeHandler callStateChangeHandler,
  2. required CallActionHandler callActionHandler,
})

Implementation

static Future<void> init(
    {required CallStateChangeHandler callStateChangeHandler,
    required CallActionHandler callActionHandler}) async {
  FlutterVoipKit.callStateChangeHandler = callStateChangeHandler;
  FlutterVoipKit.callActionHandler = callActionHandler;

  ///listen to event channel for device updates on call states
  _callEventChannel.receiveBroadcastStream().listen((eventDataRaw) async {
    try {
      final eventData = Map<String, dynamic>.from(eventDataRaw);
      final event = eventData["event"] as String?;
      log("Received broadcast: $eventData");
      switch (event) {
        case event_answerCall:
          _answerCall(eventData);
          break;
        case event_endCall:
          _endCall(eventData);
          break;
        case event_startCall:
          _startCall(eventData);
          break;
        case event_setHeld:
          _setHeld(eventData);
          break;
        case event_setMuted:
          _setMuted(eventData);
          break;
        case event_reset:
          _callManager.endAll();
          break;
        case "test":
          log("TEST");
          break;
        default:
          throw Exception("Unrecognized event");
      }
    } catch (er) {
      log("Error in callEventChannel: $er $eventDataRaw");
    }
  });
}