removeSimpleMsgListener method

  1. @override
Future<void> removeSimpleMsgListener({
  1. V2TimSimpleMsgListener? listener,
  2. String? uuid,
})
override

移除基本消息(文本消息和自定义消息)的事件监听器

Implementation

@override
Future<void> removeSimpleMsgListener({
  V2TimSimpleMsgListener? listener,
  String? uuid,
}) async {
  if (uuid != null) {
    simpleMessageListenerList.remove(uuid);
    return _channel.invokeMethod(
      "removeSimpleMsgListener",
      buildTimManagerParam(
        {
          "listenerUuid": uuid,
        },
      ),
    );
  }
  if (listener == null && uuid == null) {
    simpleMessageListenerList.clear();
    return _channel.invokeMethod(
      "removeSimpleMsgListener",
      buildTimManagerParam(
        {
          "listenerUuid": "",
        },
      ),
    );
  }

  if (listener != null) {
    var listenerUuid = "";
    listenerUuid = simpleMessageListenerList.keys.firstWhere((k) => simpleMessageListenerList[k] == listener, orElse: () => "");
    if (listenerUuid.isNotEmpty) {
      simpleMessageListenerList.remove(listenerUuid);
      return _channel.invokeMethod(
        "removeSimpleMsgListener",
        buildTimManagerParam(
          {
            "listenerUuid": listenerUuid,
          },
        ),
      );
    } else {
      return;
    }
  }
}