read method
Is called when a value has to be decoded.
Implementation
@override
Presence read(BinaryReader reader) {
final numOfFields = reader.readByte();
final fields = <int, dynamic>{
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
};
return Presence(
title: fields[100] == null ? '' : fields[100] as String,
author: fields[101] == null ? '' : fields[101] as String,
date: fields[102] as DateTime?,
position: fields[103] == null ? 0 : fields[103] as double,
value: fields[1] == null ? '' : fields[1] as String,
emptyIs: fields[3] == null ? '' : fields[3] as String?,
color:
fields[4] == null ? PresenceColor.unset : fields[4] as PresenceColor,
visibilityDate: fields[5] as DateTime?,
visible: fields[6] as bool?,
);
}