feat: Implement next-up screen for native player (#533)

Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
PartyDonut 2025-10-15 18:05:51 +02:00 committed by GitHub
parent 311b647286
commit 29b1c2e633
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
25 changed files with 782 additions and 203 deletions

View file

@ -18,6 +18,7 @@ class PlayerSettings {
final int? themeColor;
final int skipForward;
final int skipBackward;
final AutoNextType autoNextType;
const PlayerSettings({
required this.enableTunneling,
@ -25,9 +26,16 @@ class PlayerSettings {
required this.themeColor,
required this.skipForward,
required this.skipBackward,
required this.autoNextType,
});
}
enum AutoNextType {
off,
static,
smart,
}
enum SegmentType {
commercial,
preview,

View file

@ -9,11 +9,26 @@ import 'package:pigeon/pigeon.dart';
dartPackageName: 'nl_jknaapen_fladder.video',
),
)
class PlayableData {
class SimpleItemModel {
final String id;
final String title;
final String? subTitle;
final String? overview;
final String? logoUrl;
final String primaryPoster;
const SimpleItemModel({
required this.id,
required this.title,
this.subTitle,
this.overview,
this.logoUrl,
required this.primaryPoster,
});
}
class PlayableData {
final SimpleItemModel currentItem;
final String description;
final int startPosition;
final int defaultAudioTrack;
@ -23,15 +38,12 @@ class PlayableData {
final TrickPlayModel? trickPlayModel;
final List<Chapter> chapters;
final List<MediaSegment> segments;
final String? previousVideo;
final String? nextVideo;
final SimpleItemModel? previousVideo;
final SimpleItemModel? nextVideo;
final String url;
PlayableData({
required this.id,
required this.title,
this.subTitle,
this.logoUrl,
required this.currentItem,
required this.description,
required this.startPosition,
required this.defaultAudioTrack,