interCommunication method

  1. @override
Map<String, dynamic> interCommunication(
  1. bool isStart,
  2. bool isSingleChannel
)
override

Implementation

@override
Map<String, dynamic> interCommunication(bool isStart, bool isSingleChannel) {
  // if (isRequestPending) {
  //   return {
  //     "isError": true,
  //     "message": "PENDING_PREVIOUS_REQUEST",
  //     "details": "Called interCommunication()"
  //   };
  // }
  if (initializedCamera.isEmpty) {
    return {"isError": true, "message": "Invalid camera operation!"};
  }

  if (isSingleChannel) {
    if (isDualInterComStarted) {
      methodChannel.invokeMethod(
          'DUAL_INTERCOM_STOP', {"cameraId": initializedCamera});
    }

    if (isStart) {
      isSingleInterComStarted = true;
      methodChannel.invokeMethod(
          'SINGLE_INTERCOM_START', {"cameraId": initializedCamera});
    } else {
      isSingleInterComStarted = false;
      methodChannel.invokeMethod(
          'SINGLE_INTERCOM_STOP', {"cameraId": initializedCamera});
    }
  } else {
    if (isDualInterComStarted) {
      methodChannel.invokeMethod(
          'SINGLE_INTERCOM_STOP', {"cameraId": initializedCamera});
    }

    if (isStart) {
      isDualInterComStarted = true;
      methodChannel.invokeMethod(
          'DUAL_INTERCOM_START', {"cameraId": initializedCamera});
    } else {
      isDualInterComStarted = false;
      methodChannel.invokeMethod(
          'DUAL_INTERCOM_STOP', {"cameraId": initializedCamera});
    }
  }

  return {
    "isError": false,
    "message": isStart
        ? "Enabled InterCommunication!"
        : "Disabled InterCommunication!"
  };
}