resolveWith method
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,
);
}