ExpandedControls: integrate getMediaInfo

This commit is contained in:
gianlucaparadise 2021-11-29 20:08:53 +01:00
parent 3cb3dbfaf7
commit a5530e7441

View file

@ -42,13 +42,17 @@ class ExpandedControls extends StatelessWidget {
}); });
Widget _getDecoratedToolbar(MediaInfo? mediaInfo) { Widget _getDecoratedToolbar(MediaInfo? mediaInfo) {
// Title and subtitle can't be retrieved at the moment
// final title = mediaInfo?.mediaMetadata?.strings[MediaMetadataKey.title]
// final subtitle = mediaInfo?.mediaMetadata?.strings[MediaMetadataKey.subtitle]
final title = "";
final subtitle = "";
return Container( return Container(
decoration: _topDownBlackGradient, decoration: _topDownBlackGradient,
child: ExpandedControlsToolbar( child: ExpandedControlsToolbar(
castFramework: castFramework, title: title,
title: "Title", subtitle: subtitle,
subtitle: "Subtitle",
onBackTapped: onBackTapped,
), ),
); );
} }
@ -108,8 +112,33 @@ class ExpandedControls extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
var remoteMediaClient =
this.widget.castFramework.castContext.sessionManager.remoteMediaClient;
return SafeArea( return SafeArea(
child: _getFullControls(context, null), child: FutureBuilder(
future: remoteMediaClient.getMediaInfo(),
builder: (BuildContext context, AsyncSnapshot<MediaInfo> snapshot) {
if (snapshot.hasData) {
var mediaInfo = snapshot.data;
return _getFullControls(context, mediaInfo);
} else if (snapshot.hasError) {
return _getFullControls(context, null);
} else {
final controls = _getFullControls(context, null);
return Stack(
children: [
controls,
Center(
child: CircularProgressIndicator(
color: Colors.white,
),
),
],
);
}
},
),
); );
} }
} }