invoke static method
void
invoke(})
Implementation
static void invoke(
String command, Object? parameter, Object? success_callback,
{Object? progress_callback,
Object? fail_callback,
Object? other_fail_callback}) {
if (!isListenEvent) {
isListenEvent = true;
_listenChannel
.receiveBroadcastStream("TTLockListen")
.listen(_onEvent, onError: _onError);
}
//开始、停止扫描的时候 清空之前所有的扫描回调
if (command.contains("Scan")) {
List<String> removeKeyList = [];
_commandMap.keys.forEach((key) {
if (key.contains("Scan")) {
removeKeyList.add(key);
}
});
removeKeyList.forEach((key) {
_commandMap.remove(key);
});
}
//只要有回调就加入队列,等待清除
if (success_callback != null) {
Map callbackMap = new Map();
callbackMap[CALLBACK_SUCCESS] = success_callback;
callbackMap[CALLBACK_PROGRESS] = progress_callback;
callbackMap[CALLBACK_FAIL] = fail_callback;
callbackMap[CALLBACK_OTHER_FAIL] = other_fail_callback;
List<Map> commandList = _commandMap[command] ?? [];
commandList.add(callbackMap);
_commandMap[command] = commandList;
}
_commandChannel.invokeMethod(command, parameter);
// if (printLog) {
// print(
// '----------------------------------------------------------------------------------------------------------');
// print('TTLock command: $command parameter:$parameter');
// print(
// '----------------------------------------------------------------------------------------------------------');
// }
}