NotificationSettingsEntity.fromMap constructor

NotificationSettingsEntity.fromMap(
  1. Map<String, dynamic> map
)

Creates notification settings from a map.

Implementation

factory NotificationSettingsEntity.fromMap(Map<String, dynamic> map) {
  return NotificationSettingsEntity(
    isEnabled: map.parseDefault<bool>('isEnabled', true),
    allowSound: map.parseDefault<bool>('allowSound', true),
    allowVibration: map.parseDefault<bool>('allowVibration', true),
    allowLights: map.parseDefault<bool>('allowLights', true),
    allowBadge: map.parseDefault<bool>('allowBadge', true),
    soundPath: map.parse<String>('soundPath'),
    vibrationPattern: map.parse<List<int>>('vibrationPattern'),
    quietHoursEnabled: map.parseDefault<bool>('quietHoursEnabled', false),
    quietHoursStart: map.parse<String>('quietHoursStart') != null
        ? TimeOfDay.fromMap(
            map.parseDefault<Map<String, dynamic>>(
              'quietHoursStart',
              const TimeOfDay(hour: 0, minute: 0).toMap(),
            ),
          )
        : null,
    quietHoursEnd: map.parse<String>('quietHoursEnd') != null
        ? TimeOfDay.fromMap(
            map.parseDefault<Map<String, dynamic>>(
              'quietHoursEnd',
              const TimeOfDay(hour: 0, minute: 0).toMap(),
            ),
          )
        : null,
    channels: _parseChannelSettings(
      map.parse<Map<String, dynamic>>('channels'),
    ),
    groupSettings: _parseGroupSettings(
      map.parse<Map<String, dynamic>>('groupSettings'),
    ),
  );
}