saveMessage method

ChannelInfo? saveMessage(
  1. String name,
  2. ByteData? data,
  3. bool send
)

Implementation

ChannelInfo? saveMessage(String name, ByteData? data, bool send) {
  final kit =
      ApmKitManager.instance.getKit<MethodChannelKit>(ApmKitName.kitChannel);
  if (kit == null) {
    return null;
  }
  if (blackList.contains(name)) {
    return null;
  }
  ChannelInfo? info;
  try {
    info = filterSystemChannel(name, data, send) as ChannelInfo?;
    if (info == null) {
      final call = codec.decodeMethodCall(data);
      info = ChannelInfo(name, call.method, call.arguments,
          send ? ChannelInfo.typeUserSend : ChannelInfo.typeUserReceive);
      info.methodCodec = codec;
    }
  } catch (e) {
    info = ChannelInfo.error(
        name, send ? ChannelInfo.typeUserSend : ChannelInfo.typeUserReceive);
  }
  kit.save(info);
  return info;
}