Skip to content
Snippets Groups Projects
Commit 9313f55c authored by Erik Hinkelmanns's avatar Erik Hinkelmanns
Browse files

- added snackbar feedback on connect

parent 45f81063
No related branches found
No related tags found
No related merge requests found
......@@ -26,7 +26,6 @@ class HomePage extends StatelessWidget {
return StreamBuilder<ConnectionStatus>(
stream: SpotifySdk.subscribeConnectionStatus(),
builder: (context, snapshot) {
//_connected = false
var data = snapshot.data;
if (data != null) {
MusicPlayerState.of(context).connected = data.connected;
......@@ -39,36 +38,7 @@ class HomePage extends StatelessWidget {
);
}
Widget utilityBar(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
IconButton(
icon: const Icon(Icons.queue_music),
iconSize: 50,
onPressed: queue,
),
IconButton(
icon: const Icon(Icons.playlist_play),
iconSize: 50,
onPressed: play,
),
IconButton(
icon: const Icon(Icons.info),
iconSize: 50,
color: primaryColor,
onPressed: () => checkIfAppIsActive(context),
),
MusicPlayerState.of(context).connected
? IconButton(
onPressed: MusicPlayerState.of(context).disconnect,
icon: const Icon(Icons.exit_to_app),
)
: Container()
],
);
}
//Todo rename method
Widget _sampleFlowWidget(BuildContext context) {
return Stack(
children: [
......@@ -79,8 +49,12 @@ class HomePage extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
TextButton(
onPressed:
MusicPlayerState.of(context).connectToSpotifyRemote,
onPressed: () async {
MusicPlayerState.of(context).connected =
await MusicPlayerState.of(context)
.connectToSpotifyRemote();
buildSnackbar(context);
},
child: const Icon(Icons.settings_remote),
),
IconButton(
......@@ -131,7 +105,7 @@ class HomePage extends StatelessWidget {
var playerState = snapshot.data;
if (playerState == null || track == null) {
return Center(
return const Center(
child: Text('Not connected'),
);
}
......@@ -146,7 +120,7 @@ class HomePage extends StatelessWidget {
${track.album.name}
''',
maxLines: 20,
style: TextStyle(
style: const TextStyle(
fontSize: 16.0,
fontWeight: FontWeight.bold,
color: Colors.black)),
......@@ -329,10 +303,20 @@ class HomePage extends StatelessWidget {
}
}
//todo usage?
void setStatus(String code, {String? message}) {
var text = message ?? '';
printErr(text);
}
void buildSnackbar(BuildContext context) {
final snackBar = SnackBar(
content: Text(MusicPlayerState.of(context).connected
? 'connect to spotify successful'
: 'connect to spotify failed'));
ScaffoldMessenger.of(context).showSnackBar(snackBar);
}
}
Color darken(Color color, [double amount = .1]) {
......
......@@ -45,7 +45,8 @@ class MusicPlayerState extends InheritedWidget {
}
}
Future<void> connectToSpotifyRemote() async {
Future<bool> connectToSpotifyRemote() async {
bool isConnected = false;
try {
setLoading(true);
var result = await SpotifySdk.connectToSpotifyRemote(
......@@ -55,6 +56,7 @@ class MusicPlayerState extends InheritedWidget {
? 'connect to spotify successful'
: 'connect to spotify failed');
setLoading(false);
isConnected = result;
} on PlatformException catch (e) {
setLoading(false);
setStatus(e.code, message: e.message);
......@@ -62,6 +64,7 @@ class MusicPlayerState extends InheritedWidget {
setLoading(false);
setStatus('not implemented');
}
return isConnected;
}
void setStatus(String code, {String? message}) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment