feat: implement per book settings with player configuration and update methods

This commit is contained in:
Dr-Blank 2024-09-17 23:19:05 -04:00
parent fd42ee2343
commit e7dd4de515
No known key found for this signature in database
GPG key ID: 7452CC63F210A266
19 changed files with 1030 additions and 20 deletions

View file

@ -0,0 +1,21 @@
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:vaani/settings/models/app_settings.dart';
part 'nullable_player_settings.freezed.dart';
part 'nullable_player_settings.g.dart';
@freezed
class NullablePlayerSettings with _$NullablePlayerSettings {
const factory NullablePlayerSettings({
MinimizedPlayerSettings? miniPlayerSettings,
ExpandedPlayerSettings? expandedPlayerSettings,
double? preferredDefaultVolume,
double? preferredDefaultSpeed,
List<double>? speedOptions,
SleepTimerSettings? sleepTimerSettings,
Duration? playbackReportInterval,
}) = _NullablePlayerSettings;
factory NullablePlayerSettings.fromJson(Map<String, dynamic> json) =>
_$NullablePlayerSettingsFromJson(json);
}