resolveWith method

  1. @override
AudioMessage resolveWith(
  1. Map changes
)
override

Implementation

@override
AudioMessage resolveWith(Map changes) {
  final keys = MessageKeys.i;
  final msg = super.resolveWith(changes);
  final duration = changes[keys.durationInSec];
  final url = changes[keys.url];
  final waveform = changes[keys.waveform];
  final mWaveform = Message._tryDecodeJson(waveform);
  return AudioMessage.from(
    msg,
    duration is num && duration > 0 ? duration.toInt() : durationInSec,
    url is String && url.isNotEmpty ? url : this.url,
    mWaveform is Iterable && mWaveform.isNotEmpty
        ? mWaveform.parsedDoubles.toList()
        : this.waveform,
  );
}