PlayerState.fromJson constructor
Create PlayerState from JSON
Implementation
factory PlayerState.fromJson(Map<String, dynamic> json) {
// Parse allPlayersMedia map
final allPlayersMediaJson =
json['allPlayersMedia'] as Map<String, dynamic>? ?? {};
final allPlayersMedia = <String, MediaInfo>{};
allPlayersMediaJson.forEach((key, value) {
allPlayersMedia[key] = MediaInfo.fromJson(value as Map<String, dynamic>);
});
return PlayerState(
currentMedia: MediaInfo.fromJson(
json['currentMedia'] as Map<String, dynamic>? ?? {},
),
allPlayersMedia: allPlayersMedia,
isPlayerctlInstalled: json['isPlayerctlInstalled'] as bool? ?? false,
hasActivePlayer: json['hasActivePlayer'] as bool? ?? false,
availablePlayers:
(json['availablePlayers'] as List<dynamic>?)
?.map((e) => e as String)
.toList() ??
[],
selectedPlayer: json['selectedPlayer'] as String? ?? '',
isLoading: json['isLoading'] as bool? ?? false,
errorMessage: json['errorMessage'] as String? ?? '',
volume: json['volume'] as int? ?? 50,
shuffleStatus: json['shuffleStatus'] as String? ?? 'Unknown',
loopStatus: json['loopStatus'] as String? ?? 'Unknown',
);
}