Line data Source code
1 : import 'package:flutter_chrome_cast/common/image.dart';
2 : import 'package:flutter_chrome_cast/entities/media_metadata/music_track_media_metadata.dart';
3 :
4 : /// iOS-specific implementation of music media metadata.
5 : class GoogleCastMusicMediaMetadataIOS extends GoogleCastMusicMediaMetadata {
6 : /// Creates an iOS music media metadata instance.
7 0 : GoogleCastMusicMediaMetadataIOS({
8 : super.albumArtist,
9 : super.albumName,
10 : super.artist,
11 : super.composer,
12 : super.discNumber,
13 : super.images,
14 : super.releaseDate,
15 : super.title,
16 : super.trackNumber,
17 : });
18 :
19 : /// Creates a music media metadata instance from a map.
20 0 : factory GoogleCastMusicMediaMetadataIOS.fromMap(Map<String, dynamic> map) {
21 0 : return GoogleCastMusicMediaMetadataIOS(
22 0 : albumName: map['albumTitle'],
23 0 : title: map['title'],
24 0 : albumArtist: map['albumArtist'],
25 0 : artist: map['artist'],
26 0 : composer: map['composer'],
27 0 : trackNumber: map['trackNumber']?.toInt(),
28 0 : discNumber: map['discNumber']?.toInt(),
29 0 : images: map['images'] != null
30 0 : ? List<GoogleCastImage>.from(map['images']?.map(
31 0 : (x) => GoogleCastImage.fromMap(Map<String, dynamic>.from(x))))
32 : : null,
33 0 : releaseDate: map['releaseDate'] != null
34 0 : ? DateTime.fromMillisecondsSinceEpoch(map['releaseDate'] ?? 0)
35 : : null,
36 : );
37 : }
38 : }
|