invoke static method

void invoke(
  1. String command,
  2. Object? parameter,
  3. Object? success, {
  4. Object? progress,
  5. Object? fail,
})

Implementation

static void invoke(String command, Object? parameter, Object? success,
    {Object? progress, Object? fail}) {
  if (!isListenEvent) {
    isListenEvent = true;
    _listenChannel
        .receiveBroadcastStream("TTLockListen")
        .listen(_onEvent, onError: _onError);
  }

  //开始、停止扫描的时候  清空之前所有的扫描回调
  scanCommandList.forEach((scanCommand) {
    if (command.compareTo(scanCommand) == 0) {
      List removeMapList = [];
      _commandQueue.forEach((map) {
        String key = map.keys.first;
        if (key.compareTo(COMMAND_START_SCAN_LOCK) == 0 ||
            key.compareTo(TTGateway.COMMAND_START_SCAN_GATEWAY) == 0 ||
            key.compareTo(TTRemoteKey.COMMAND_START_SCAN_REMOTE_KEY) == 0 ||
            key.compareTo(TTRemoteKeypad.COMMAND_START_SCAN_REMOTE_KEYPAD) ==
                0 ||
            key.compareTo(TTDoorSensor.COMMAND_START_SCAN_DOOR_SENSOR) == 0) {
          removeMapList.add(map);
        }
      });
      removeMapList.forEach((map) {
        _commandQueue.remove(map);
      });
    }
  });

  if (command == COMMAND_STOP_SCAN_LOCK ||
      command == TTGateway.COMMAND_STOP_SCAN_GATEWAY ||
      command == TTRemoteKey.COMMAND_STOP_SCAN_REMOTE_KEY ||
      command == TTRemoteKeypad.COMMAND_STOP_SCAN_REMOTE_KEYPAD ||
      command == TTDoorSensor.COMMAND_STOP_SCAN_DOOR_SENSOR) {
  } else {
    Map commandMap = new Map();
    Map callbackMap = new Map();
    callbackMap[CALLBACK_SUCCESS] = success;
    callbackMap[CALLBACK_PROGRESS] = progress;
    callbackMap[CALLBACK_FAIL] = fail;
    commandMap[command] = callbackMap;
    _commandQueue.add(commandMap);
  }

  _commandChannel.invokeMethod(command, parameter);

  // if (printLog) {
  //   print(
  //       '----------------------------------------------------------------------------------------------------------');
  //   print('TTLock command: $command  parameter:$parameter');
  //   print(
  //       '----------------------------------------------------------------------------------------------------------');
  // }
}