replace most toasts with in-app snackbars

This commit is contained in:
pato05 2021-11-01 17:54:56 +01:00
parent c792daea19
commit b908c0c6cd
No known key found for this signature in database
GPG key ID: C7C6C9EDFCBB6681
8 changed files with 118 additions and 160 deletions

View file

@ -1175,3 +1175,17 @@ enum NavigatorRouteType {
/// Standard cupertino route look /// Standard cupertino route look
cupertino, cupertino,
} }
extension ScaffoldMessengerSnack on ScaffoldMessengerState {
ScaffoldFeatureController<SnackBar, SnackBarClosedReason> snack(
String content, {
SnackBarBehavior behavior = SnackBarBehavior.floating,
SnackBarAction? action,
Duration? duration,
}) =>
showSnackBar(SnackBar(
content: Text(content),
behavior: behavior,
duration: duration ?? const Duration(seconds: 4),
action: action));
}

View file

@ -202,16 +202,15 @@ class _AlbumDetailsState extends State<AlbumDetails> {
//Add to library //Add to library
if (!album!.library!) { if (!album!.library!) {
await deezerAPI.addFavoriteAlbum(album!.id); await deezerAPI.addFavoriteAlbum(album!.id);
ScaffoldMessenger.of(context).snack ScaffoldMessenger.of(context)
.snack('Added to library'.i18n);
setState(() => album!.library = true); setState(() => album!.library = true);
return; return;
} }
//Remove //Remove
await deezerAPI.removeAlbum(album!.id); await deezerAPI.removeAlbum(album!.id);
Fluttertoast.showToast( ScaffoldMessenger.of(context)
msg: 'Album removed from library!'.i18n, .snack('Album removed from library!'.i18n);
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM);
setState(() => album!.library = false); setState(() => album!.library = false);
}, },
), ),
@ -311,10 +310,8 @@ class _MakeAlbumOfflineState extends State<MakeAlbumOffline> {
return; return;
} }
downloadManager.removeOfflineAlbum(widget.album!.id); downloadManager.removeOfflineAlbum(widget.album!.id);
Fluttertoast.showToast( ScaffoldMessenger.of(context)
msg: "Removed album from offline!".i18n, .snack("Removed album from offline!".i18n);
gravity: ToastGravity.BOTTOM,
toastLength: Toast.LENGTH_SHORT);
setState(() { setState(() {
_offline = false; _offline = false;
}); });
@ -444,10 +441,8 @@ class ArtistDetails extends StatelessWidget {
), ),
onPressed: () async { onPressed: () async {
await deezerAPI.addFavoriteArtist(artist.id); await deezerAPI.addFavoriteArtist(artist.id);
Fluttertoast.showToast( ScaffoldMessenger.of(context)
msg: 'Added to library'.i18n, .snack('Added to library'.i18n);
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM);
}, },
), ),
if ((artist.radio ?? false)) if ((artist.radio ?? false))
@ -1000,19 +995,15 @@ class _PlaylistDetailsState extends State<PlaylistDetails> {
//Add to library //Add to library
if (!playlist!.library!) { if (!playlist!.library!) {
await deezerAPI.addPlaylist(playlist!.id!); await deezerAPI.addPlaylist(playlist!.id!);
Fluttertoast.showToast( ScaffoldMessenger.of(context)
msg: 'Added to library'.i18n, .snack('Added to library'.i18n);
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM);
setState(() => playlist!.library = true); setState(() => playlist!.library = true);
return; return;
} }
//Remove //Remove
await deezerAPI.removePlaylist(playlist!.id!); await deezerAPI.removePlaylist(playlist!.id!);
Fluttertoast.showToast( ScaffoldMessenger.of(context)
msg: 'Playlist removed from library!'.i18n, .snack('Playlist removed from library!'.i18n);
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM);
setState(() => playlist!.library = false); setState(() => playlist!.library = false);
}, },
), ),
@ -1164,10 +1155,8 @@ class _MakePlaylistOfflineState extends State<MakePlaylistOffline> {
return; return;
} }
downloadManager.removeOfflinePlaylist(widget.playlist!.id); downloadManager.removeOfflinePlaylist(widget.playlist!.id);
Fluttertoast.showToast( ScaffoldMessenger.of(context)
msg: "Playlist removed from offline!".i18n, .snack("Playlist removed from offline!".i18n);
gravity: ToastGravity.BOTTOM,
toastLength: Toast.LENGTH_SHORT);
setState(() { setState(() {
_offline = false; _offline = false;
}); });

View file

@ -1,6 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:fluttertoast/fluttertoast.dart'; import 'package:fluttertoast/fluttertoast.dart';
import 'package:freezer/api/definitions.dart';
import 'package:freezer/settings.dart'; import 'package:freezer/settings.dart';
import 'package:freezer/ui/menu.dart'; import 'package:freezer/ui/menu.dart';
import 'package:freezer/api/importer.dart'; import 'package:freezer/api/importer.dart';
@ -418,11 +419,8 @@ class _SpotifyImporterV2State extends State<SpotifyImporterV2> {
child: Text("Copy the Redirect URL".i18n), child: Text("Copy the Redirect URL".i18n),
onPressed: () async { onPressed: () async {
await Clipboard.setData( await Clipboard.setData(
new ClipboardData(text: "http://localhost:42069")); ClipboardData(text: "http://localhost:42069"));
Fluttertoast.showToast( ScaffoldMessenger.of(context).snack("Copied".i18n);
msg: "Copied".i18n,
gravity: ToastGravity.BOTTOM,
toastLength: Toast.LENGTH_SHORT);
}, },
), ),
), ),
@ -438,7 +436,7 @@ class _SpotifyImporterV2State extends State<SpotifyImporterV2> {
onChanged: (v) => setState(() => _clientId = v), onChanged: (v) => setState(() => _clientId = v),
), ),
), ),
Container(width: 16.0), const SizedBox(width: 16.0),
Flexible( Flexible(
child: TextField( child: TextField(
controller: TextEditingController(text: _clientSecret), controller: TextEditingController(text: _clientSecret),
@ -520,10 +518,7 @@ class _SpotifyImporterV2MainState extends State<SpotifyImporterV2Main> {
_urlPlaylist = playlist; _urlPlaylist = playlist;
}); });
} catch (e) { } catch (e) {
Fluttertoast.showToast( ScaffoldMessenger.of(context).snack("Invalid/Unsupported URL".i18n);
msg: "Invalid/Unsupported URL".i18n,
gravity: ToastGravity.BOTTOM,
toastLength: Toast.LENGTH_SHORT);
setState(() => _urlLoading = false); setState(() => _urlLoading = false);
return; return;
} }
@ -559,10 +554,7 @@ class _SpotifyImporterV2MainState extends State<SpotifyImporterV2Main> {
Navigator.of(context).pushReplacement( Navigator.of(context).pushReplacement(
MaterialPageRoute(builder: (context) => ImporterStatusScreen())); MaterialPageRoute(builder: (context) => ImporterStatusScreen()));
} catch (e) { } catch (e) {
Fluttertoast.showToast( ScaffoldMessenger.of(context).snack(e.toString());
msg: e.toString(),
gravity: ToastGravity.BOTTOM,
toastLength: Toast.LENGTH_SHORT);
Navigator.of(context).pop(); Navigator.of(context).pop();
return; return;
} }

View file

@ -1093,9 +1093,8 @@ class _LibraryPlaylistsState extends State<LibraryPlaylists> {
LeadingIcon(Icons.playlist_add, color: Color(0xff009a85)), LeadingIcon(Icons.playlist_add, color: Color(0xff009a85)),
onTap: () async { onTap: () async {
if (settings.offlineMode) { if (settings.offlineMode) {
Fluttertoast.showToast( ScaffoldMessenger.of(context)
msg: 'Cannot create playlists in offline mode'.i18n, .snack('Cannot create playlists in offline mode'.i18n);
gravity: ToastGravity.BOTTOM);
return; return;
} }
MenuSheet m = MenuSheet(context); MenuSheet m = MenuSheet(context);

View file

@ -419,10 +419,8 @@ class _EmailLoginState extends State<EmailLogin> {
if (_email != null && _password != null) if (_email != null && _password != null)
await _login(); await _login();
else else
Fluttertoast.showToast( ScaffoldMessenger.of(context)
msg: "Missing email or password!".i18n, .snack("Missing email or password!".i18n);
gravity: ToastGravity.BOTTOM,
toastLength: Toast.LENGTH_SHORT);
}, },
) )
], ],

View file

@ -180,10 +180,7 @@ class MenuSheet {
if (await downloadManager.checkOffline(playlist: p)) { if (await downloadManager.checkOffline(playlist: p)) {
downloadManager.addOfflinePlaylist(p); downloadManager.addOfflinePlaylist(p);
} }
Fluttertoast.showToast( ScaffoldMessenger.of(context).snack('Added to library'.i18n);
msg: 'Added to library'.i18n,
gravity: ToastGravity.BOTTOM,
toastLength: Toast.LENGTH_SHORT);
//Add to cache //Add to cache
if (cache.libraryTracks == null) cache.libraryTracks = []; if (cache.libraryTracks == null) cache.libraryTracks = [];
cache.libraryTracks!.add(t.id); cache.libraryTracks!.add(t.id);
@ -218,11 +215,8 @@ class MenuSheet {
if (await downloadManager.checkOffline(playlist: p)) { if (await downloadManager.checkOffline(playlist: p)) {
downloadManager.addOfflinePlaylist(p); downloadManager.addOfflinePlaylist(p);
} }
Fluttertoast.showToast( ScaffoldMessenger.of(context)
msg: "Track added to".i18n + " ${p.title}", .snack("Track added to".i18n + " ${p.title}");
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
);
}); });
}); });
_close(); _close();
@ -234,11 +228,8 @@ class MenuSheet {
leading: Icon(Icons.delete), leading: Icon(Icons.delete),
onTap: () async { onTap: () async {
await deezerAPI.removeFromPlaylist(t.id, p!.id); await deezerAPI.removeFromPlaylist(t.id, p!.id);
Fluttertoast.showToast( ScaffoldMessenger.of(context)
msg: 'Track removed from'.i18n + ' ${p.title}', .snack('Track removed from'.i18n + ' ${p.title}');
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
);
_close(); _close();
}, },
); );
@ -256,10 +247,8 @@ class MenuSheet {
//Remove from cache //Remove from cache
if (cache.libraryTracks != null) if (cache.libraryTracks != null)
cache.libraryTracks!.removeWhere((i) => i == t.id); cache.libraryTracks!.removeWhere((i) => i == t.id);
Fluttertoast.showToast( ScaffoldMessenger.of(context)
msg: 'Track removed from library'.i18n, .snack('Track removed from library'.i18n);
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM);
if (onUpdate != null) onUpdate(); if (onUpdate != null) onUpdate();
_close(); _close();
}, },
@ -321,10 +310,8 @@ class MenuSheet {
onTap: () async { onTap: () async {
if (isOffline) { if (isOffline) {
await downloadManager.removeOfflineTracks([track]); await downloadManager.removeOfflineTracks([track]);
Fluttertoast.showToast( ScaffoldMessenger.of(context)
msg: "Track removed from offline!".i18n, .snack("Track removed from offline!".i18n);
gravity: ToastGravity.BOTTOM,
toastLength: Toast.LENGTH_SHORT);
} else { } else {
await downloadManager.addOfflineTrack(track, await downloadManager.addOfflineTrack(track,
private: true, context: context); private: true, context: context);
@ -383,8 +370,7 @@ class MenuSheet {
leading: Icon(Icons.library_music), leading: Icon(Icons.library_music),
onTap: () async { onTap: () async {
await deezerAPI.addFavoriteAlbum(a.id); await deezerAPI.addFavoriteAlbum(a.id);
Fluttertoast.showToast( ScaffoldMessenger.of(context).snack('Added to library'.i18n);
msg: 'Added to library'.i18n, gravity: ToastGravity.BOTTOM);
_close(); _close();
}, },
); );
@ -396,11 +382,7 @@ class MenuSheet {
onTap: () async { onTap: () async {
await deezerAPI.removeAlbum(a.id); await deezerAPI.removeAlbum(a.id);
await downloadManager.removeOfflineAlbum(a.id); await downloadManager.removeOfflineAlbum(a.id);
Fluttertoast.showToast( ScaffoldMessenger.of(context).snack('Album removed'.i18n);
msg: 'Album removed'.i18n,
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
);
if (onRemove != null) onRemove(); if (onRemove != null) onRemove();
_close(); _close();
}, },
@ -430,10 +412,8 @@ class MenuSheet {
leading: Icon(Icons.delete), leading: Icon(Icons.delete),
onTap: () async { onTap: () async {
await deezerAPI.removeArtist(a.id); await deezerAPI.removeArtist(a.id);
Fluttertoast.showToast( ScaffoldMessenger.of(context)
msg: 'Artist removed from library'.i18n, .snack('Artist removed from library'.i18n);
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM);
if (onRemove != null) onRemove(); if (onRemove != null) onRemove();
_close(); _close();
}, },
@ -444,10 +424,7 @@ class MenuSheet {
leading: Icon(Icons.favorite), leading: Icon(Icons.favorite),
onTap: () async { onTap: () async {
await deezerAPI.addFavoriteArtist(a.id); await deezerAPI.addFavoriteArtist(a.id);
Fluttertoast.showToast( ScaffoldMessenger.of(context).snack('Added to library'.i18n);
msg: 'Added to library'.i18n,
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM);
_close(); _close();
}, },
); );
@ -499,9 +476,7 @@ class MenuSheet {
leading: Icon(Icons.favorite), leading: Icon(Icons.favorite),
onTap: () async { onTap: () async {
await deezerAPI.addPlaylist(p.id!); await deezerAPI.addPlaylist(p.id!);
Fluttertoast.showToast( ScaffoldMessenger.of(context).snack('Added playlist to library'.i18n);
msg: 'Added playlist to library'.i18n,
gravity: ToastGravity.BOTTOM);
_close(); _close();
}, },
); );
@ -577,10 +552,7 @@ class MenuSheet {
//=================== //===================
showDownloadStartedToast() { showDownloadStartedToast() {
Fluttertoast.showToast( ScaffoldMessenger.of(context).snack('Downloads added!'.i18n);
msg: 'Downloads added!'.i18n,
gravity: ToastGravity.BOTTOM,
toastLength: Toast.LENGTH_SHORT);
} }
//Create playlist //Create playlist
@ -620,15 +592,13 @@ class MenuSheet {
//Enable //Enable
if (!cache.wakelock) { if (!cache.wakelock) {
Wakelock.enable(); Wakelock.enable();
Fluttertoast.showToast( ScaffoldMessenger.of(context).snack('Wakelock enabled!'.i18n);
msg: 'Wakelock enabled!'.i18n, gravity: ToastGravity.BOTTOM);
cache.wakelock = true; cache.wakelock = true;
return; return;
} }
//Disable //Disable
Wakelock.disable(); Wakelock.disable();
Fluttertoast.showToast( ScaffoldMessenger.of(context).snack('Wakelock disabled!'.i18n);
msg: 'Wakelock disabled!'.i18n, gravity: ToastGravity.BOTTOM);
cache.wakelock = false; cache.wakelock = false;
}, },
); );
@ -892,8 +862,7 @@ class _CreatePlaylistDialogState extends State<CreatePlaylistDialog> {
await deezerAPI.updatePlaylist(widget.playlist!.id!, await deezerAPI.updatePlaylist(widget.playlist!.id!,
_titleController!.value.text, _descController!.value.text, _titleController!.value.text, _descController!.value.text,
status: _playlistType); status: _playlistType);
Fluttertoast.showToast( ScaffoldMessenger.of(context).snack('Playlist updated!'.i18n);
msg: 'Playlist updated!'.i18n, gravity: ToastGravity.BOTTOM);
} else { } else {
List<String> tracks = []; List<String> tracks = [];
if (widget.tracks != null) { if (widget.tracks != null) {
@ -903,8 +872,7 @@ class _CreatePlaylistDialogState extends State<CreatePlaylistDialog> {
status: _playlistType, status: _playlistType,
description: _description, description: _description,
trackIds: tracks); trackIds: tracks);
Fluttertoast.showToast( ScaffoldMessenger.of(context).snack('Playlist created!'.i18n);
msg: 'Playlist created!'.i18n, gravity: ToastGravity.BOTTOM);
} }
Navigator.of(context).pop(); Navigator.of(context).pop();
}, },

View file

@ -1313,9 +1313,7 @@ class _GeneralSettingsState extends State<GeneralSettings> {
leading: Icon(Icons.lock), leading: Icon(Icons.lock),
onTap: () async { onTap: () async {
Clipboard.setData(ClipboardData(text: settings.arl)); Clipboard.setData(ClipboardData(text: settings.arl));
await Fluttertoast.showToast( await ScaffoldMessenger.of(context).snack('Copied'.i18n);
msg: 'Copied'.i18n,
);
}, },
), ),
], ],

View file

@ -7,21 +7,21 @@ packages:
name: _fe_analyzer_shared name: _fe_analyzer_shared
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "24.0.0" version: "30.0.0"
analyzer: analyzer:
dependency: "direct overridden" dependency: "direct overridden"
description: description:
name: analyzer name: analyzer
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.0" version: "2.7.0"
args: args:
dependency: transitive dependency: transitive
description: description:
name: args name: args
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.0" version: "2.3.0"
async: async:
dependency: "direct main" dependency: "direct main"
description: description:
@ -35,7 +35,7 @@ packages:
name: audio_service name: audio_service
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.18.0-beta.0" version: "0.18.1"
audio_service_platform_interface: audio_service_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -49,14 +49,14 @@ packages:
name: audio_service_web name: audio_service_web
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.0" version: "0.1.1"
audio_session: audio_session:
dependency: "direct main" dependency: "direct main"
description: description:
name: audio_session name: audio_session
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.6" version: "0.1.6+1"
boolean_selector: boolean_selector:
dependency: transitive dependency: transitive
description: description:
@ -70,7 +70,7 @@ packages:
name: build name: build
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.0" version: "2.1.1"
build_config: build_config:
dependency: transitive dependency: transitive
description: description:
@ -84,7 +84,7 @@ packages:
name: build_daemon name: build_daemon
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.0" version: "3.0.1"
build_resolvers: build_resolvers:
dependency: transitive dependency: transitive
description: description:
@ -98,28 +98,28 @@ packages:
name: build_runner name: build_runner
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.4"
build_runner_core: build_runner_core:
dependency: transitive dependency: transitive
description: description:
name: build_runner_core name: build_runner_core
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "7.1.0" version: "7.2.2"
built_collection: built_collection:
dependency: transitive dependency: transitive
description: description:
name: built_collection name: built_collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "5.1.0" version: "5.1.1"
built_value: built_value:
dependency: transitive dependency: transitive
description: description:
name: built_value name: built_value
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "8.1.2" version: "8.1.3"
cached_network_image: cached_network_image:
dependency: "direct main" dependency: "direct main"
description: description:
@ -168,7 +168,7 @@ packages:
name: cli_util name: cli_util
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.3.3" version: "0.3.5"
clock: clock:
dependency: transitive dependency: transitive
description: description:
@ -252,21 +252,21 @@ packages:
name: csslib name: csslib
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.17.0" version: "0.17.1"
dart_style: dart_style:
dependency: transitive dependency: transitive
description: description:
name: dart_style name: dart_style
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.3" version: "2.2.0"
dio: dio:
dependency: transitive dependency: transitive
description: description:
name: dio name: dio
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.0.0" version: "4.0.1"
disk_space: disk_space:
dependency: "direct main" dependency: "direct main"
description: description:
@ -305,7 +305,7 @@ packages:
name: fading_edge_scrollview name: fading_edge_scrollview
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.1"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
@ -380,7 +380,7 @@ packages:
name: flutter_local_notifications name: flutter_local_notifications
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "8.1.1+2" version: "8.2.0"
flutter_local_notifications_platform_interface: flutter_local_notifications_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -451,7 +451,7 @@ packages:
name: glob name: glob
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.1" version: "2.0.2"
google_fonts: google_fonts:
dependency: "direct main" dependency: "direct main"
description: description:
@ -465,7 +465,7 @@ packages:
name: graphs name: graphs
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.1.0"
html: html:
dependency: "direct main" dependency: "direct main"
description: description:
@ -479,7 +479,7 @@ packages:
name: http name: http
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.13.3" version: "0.13.4"
http_multi_server: http_multi_server:
dependency: transitive dependency: transitive
description: description:
@ -500,7 +500,7 @@ packages:
name: i18n_extension name: i18n_extension
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.1.1" version: "4.1.3"
infinite_listview: infinite_listview:
dependency: transitive dependency: transitive
description: description:
@ -542,16 +542,16 @@ packages:
name: json_serializable name: json_serializable
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "5.0.0" version: "5.0.2"
just_audio: just_audio:
dependency: "direct main" dependency: "direct main"
description: description:
path: just_audio path: just_audio
ref: dev ref: dev
resolved-ref: "27a777fbb5e0fca2c9db6bdf1cdc9672b3fe9971" resolved-ref: feb12085f1b055959d2cef70b7fb232454b77bf1
url: "https://github.com/ryanheise/just_audio.git" url: "https://github.com/ryanheise/just_audio.git"
source: git source: git
version: "0.9.8" version: "0.9.15"
just_audio_platform_interface: just_audio_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -565,14 +565,14 @@ packages:
name: just_audio_web name: just_audio_web
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.1" version: "0.4.2"
logging: logging:
dependency: transitive dependency: transitive
description: description:
name: logging name: logging
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "1.0.2"
marquee: marquee:
dependency: "direct main" dependency: "direct main"
description: description:
@ -600,7 +600,7 @@ packages:
name: mime name: mime
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.0" version: "1.0.1"
move_to_background: move_to_background:
dependency: "direct main" dependency: "direct main"
description: description:
@ -649,7 +649,7 @@ packages:
name: package_config name: package_config
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.2"
package_info: package_info:
dependency: "direct main" dependency: "direct main"
description: description:
@ -663,7 +663,7 @@ packages:
name: palette_generator name: palette_generator
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.3.0" version: "0.3.2"
path: path:
dependency: "direct main" dependency: "direct main"
description: description:
@ -677,14 +677,14 @@ packages:
name: path_provider name: path_provider
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.2" version: "2.0.6"
path_provider_linux: path_provider_linux:
dependency: transitive dependency: transitive
description: description:
name: path_provider_linux name: path_provider_linux
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.2" version: "2.1.0"
path_provider_macos: path_provider_macos:
dependency: transitive dependency: transitive
description: description:
@ -719,21 +719,21 @@ packages:
name: permission_handler name: permission_handler
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "8.1.4+2" version: "8.2.5"
permission_handler_platform_interface: permission_handler_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_platform_interface name: permission_handler_platform_interface
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.6.1" version: "3.7.0"
petitparser: petitparser:
dependency: transitive dependency: transitive
description: description:
name: petitparser name: petitparser
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.2.0" version: "4.4.0"
photo_view: photo_view:
dependency: "direct main" dependency: "direct main"
description: description:
@ -754,7 +754,7 @@ packages:
name: plugin_platform_interface name: plugin_platform_interface
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.1" version: "2.0.2"
pool: pool:
dependency: transitive dependency: transitive
description: description:
@ -768,35 +768,35 @@ packages:
name: process name: process
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.2.3" version: "4.2.4"
provider: provider:
dependency: "direct main" dependency: "direct main"
description: description:
name: provider name: provider
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.0.0" version: "6.0.1"
pub_semver: pub_semver:
dependency: transitive dependency: transitive
description: description:
name: pub_semver name: pub_semver
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.1.0"
pubspec_parse: pubspec_parse:
dependency: transitive dependency: transitive
description: description:
name: pubspec_parse name: pubspec_parse
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.0" version: "1.1.0"
quick_actions: quick_actions:
dependency: "direct main" dependency: "direct main"
description: description:
name: quick_actions name: quick_actions
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.0+6" version: "0.6.0+7"
quick_actions_platform_interface: quick_actions_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -817,7 +817,7 @@ packages:
name: rxdart name: rxdart
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.27.1" version: "0.27.2"
scrobblenaut: scrobblenaut:
dependency: "direct main" dependency: "direct main"
description: description:
@ -859,14 +859,14 @@ packages:
name: source_gen name: source_gen
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.0" version: "1.1.1"
source_helper: source_helper:
dependency: transitive dependency: transitive
description: description:
name: source_helper name: source_helper
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.1" version: "1.3.0"
source_span: source_span:
dependency: transitive dependency: transitive
description: description:
@ -901,7 +901,7 @@ packages:
name: sqflite_common name: sqflite_common
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.1" version: "2.0.1+1"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -999,21 +999,21 @@ packages:
name: url_launcher name: url_launcher
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.0.9" version: "6.0.12"
url_launcher_linux: url_launcher_linux:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_linux name: url_launcher_linux
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.1" version: "2.0.2"
url_launcher_macos: url_launcher_macos:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_macos name: url_launcher_macos
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.1" version: "2.0.2"
url_launcher_platform_interface: url_launcher_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -1041,7 +1041,7 @@ packages:
name: uuid name: uuid
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.4" version: "3.0.5"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
@ -1062,42 +1062,42 @@ packages:
name: wakelock name: wakelock
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.5.3+3" version: "0.5.6"
wakelock_macos: wakelock_macos:
dependency: transitive dependency: transitive
description: description:
name: wakelock_macos name: wakelock_macos
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.0+2" version: "0.4.0"
wakelock_platform_interface: wakelock_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: wakelock_platform_interface name: wakelock_platform_interface
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.2.1+2" version: "0.3.0"
wakelock_web: wakelock_web:
dependency: transitive dependency: transitive
description: description:
name: wakelock_web name: wakelock_web
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.2.0+2" version: "0.4.0"
wakelock_windows: wakelock_windows:
dependency: transitive dependency: transitive
description: description:
name: wakelock_windows name: wakelock_windows
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.0+1" version: "0.2.0"
watcher: watcher:
dependency: transitive dependency: transitive
description: description:
name: watcher name: watcher
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.0" version: "1.0.1"
web_socket_channel: web_socket_channel:
dependency: transitive dependency: transitive
description: description:
@ -1111,7 +1111,7 @@ packages:
name: win32 name: win32
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.8" version: "2.2.10"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
@ -1125,7 +1125,7 @@ packages:
name: xml name: xml
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "5.2.0" version: "5.3.1"
yaml: yaml:
dependency: transitive dependency: transitive
description: description:
@ -1134,5 +1134,5 @@ packages:
source: hosted source: hosted
version: "3.1.0" version: "3.1.0"
sdks: sdks:
dart: ">=2.13.0 <3.0.0" dart: ">=2.14.0 <3.0.0"
flutter: ">=2.2.0" flutter: ">=2.5.0"