ThemeSettings.deserialize constructor
ThemeSettings.deserialize(
- BinaryReader reader
Deserialize.
Implementation
factory ThemeSettings.deserialize(BinaryReader reader) {
// Read [ThemeSettings] fields.
final flags = reader.readInt32();
final messageColorsAnimated = (flags & 4) != 0;
final baseTheme = reader.readObject() as BaseThemeBase;
final accentColor = reader.readInt32();
final hasOutboxAccentColorField = (flags & 8) != 0;
final outboxAccentColor =
hasOutboxAccentColorField ? reader.readInt32() : null;
final hasMessageColorsField = (flags & 1) != 0;
final messageColors =
hasMessageColorsField ? reader.readVectorInt32() : null;
final hasWallpaperField = (flags & 2) != 0;
final wallpaper =
hasWallpaperField ? reader.readObject() as WallPaperBase : null;
// Construct [ThemeSettings] object.
final returnValue = ThemeSettings(
messageColorsAnimated: messageColorsAnimated,
baseTheme: baseTheme,
accentColor: accentColor,
outboxAccentColor: outboxAccentColor,
messageColors: messageColors,
wallpaper: wallpaper,
);
// Now return the deserialized [ThemeSettings].
return returnValue;
}