PlayQueue was a freezed union whose Plex variant was never constructed (server queues flow through PlayQueueResponse), whose pattern getters had zero call sites, and whose backendId was written but never read — it is now a plain four-field LocalPlayQueue. The MediaItem compatibility factory re-listed the entire ~65-field union surface twice while every caller passes at most 22 fields; it now declares exactly that union. fetchLibraryContent had zero production callers (the UI pages through fetchLibraryPagedContent), so the interface method and both implementations are gone, with Jellyfin's drain folded into its paged entry point.
18 lines
683 B
Dart
18 lines
683 B
Dart
import 'media_item.dart';
|
|
|
|
/// Client-only play queue used by Jellyfin and any backend without a
|
|
/// server-side queue concept. Each [LocalPlayQueue] is anchored by a
|
|
/// client-generated UUID so callers can address it like a Plex queue.
|
|
///
|
|
/// Plex server-side queues (`/playQueues`) flow through the Plex
|
|
/// `PlayQueueResponse` model instead and never materialize as this type.
|
|
class LocalPlayQueue {
|
|
/// Client-generated UUID identifying this queue for the session.
|
|
final String id;
|
|
final List<MediaItem> items;
|
|
final int? currentIndex;
|
|
final bool shuffled;
|
|
|
|
const LocalPlayQueue({required this.id, required this.items, this.currentIndex, this.shuffled = false});
|
|
}
|