Fladder/lib/models/media_playback_model.dart
PartyDonut 1babf05834
fix: Keyboard controls and translations (#79)
Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
2024-10-26 14:00:15 +02:00

56 lines
1.4 KiB
Dart

enum VideoPlayerState {
minimized,
fullScreen,
disposed,
}
class MediaPlaybackModel {
final VideoPlayerState state;
final bool playing;
final Duration position;
final Duration lastPosition;
final Duration duration;
final Duration buffer;
final bool completed;
final bool errorPlaying;
final bool buffering;
final bool fullScreen;
MediaPlaybackModel({
this.state = VideoPlayerState.disposed,
this.playing = false,
this.position = Duration.zero,
this.lastPosition = Duration.zero,
this.duration = Duration.zero,
this.buffer = Duration.zero,
this.completed = false,
this.errorPlaying = false,
this.buffering = false,
this.fullScreen = false,
});
MediaPlaybackModel copyWith({
VideoPlayerState? state,
bool? playing,
Duration? position,
Duration? lastPosition,
Duration? duration,
Duration? buffer,
bool? completed,
bool? errorPlaying,
bool? buffering,
bool? fullScreen,
}) {
return MediaPlaybackModel(
state: state ?? this.state,
playing: playing ?? this.playing,
position: position ?? this.position,
lastPosition: lastPosition ?? this.lastPosition,
duration: duration ?? this.duration,
buffer: buffer ?? this.buffer,
completed: completed ?? this.completed,
errorPlaying: errorPlaying ?? this.errorPlaying,
buffering: buffering ?? this.buffering,
fullScreen: fullScreen ?? this.fullScreen,
);
}
}