From d47f1e19da7436ff743916215eb3d51cc35a2de6 Mon Sep 17 00:00:00 2001 From: PartyDonut <42371342+PartyDonut@users.noreply.github.com> Date: Sat, 5 Apr 2025 17:11:20 +0200 Subject: [PATCH] chore: Updated flutter to 3.29.2 + bugfixes (#296) Co-authored-by: PartyDonut --- .fvmrc | 2 +- .gitignore | 10 +++ .vscode/settings.json | 2 +- lib/l10n/app_cs.arb | 1 - .../photo_viewer/photo_viewer_controls.dart | 12 +-- .../photo_viewer/photo_viewer_screen.dart | 2 +- .../photo_viewer/simple_video_player.dart | 9 +-- .../client_settings_visual.dart | 14 +++- lib/screens/shared/default_title_bar.dart | 11 --- lib/screens/shared/media/chapter_row.dart | 6 +- .../shared/media/components/poster_image.dart | 9 +-- lib/screens/shared/media/episode_posters.dart | 8 +- lib/screens/shared/media/media_banner.dart | 5 -- lib/screens/shared/media/season_row.dart | 21 ++---- .../components/video_subtitle_controls.dart | 2 +- .../video_player/video_player_controls.dart | 9 +-- lib/widgets/shared/elevated_icon.dart | 12 +-- pubspec.lock | 74 +++++++++---------- 18 files changed, 79 insertions(+), 130 deletions(-) delete mode 100644 lib/l10n/app_cs.arb diff --git a/.fvmrc b/.fvmrc index d7891c2..4cac08f 100644 --- a/.fvmrc +++ b/.fvmrc @@ -1,3 +1,3 @@ { - "flutter": "3.27.3" + "flutter": "3.29.2" } \ No newline at end of file diff --git a/.gitignore b/.gitignore index 36cc792..34c98af 100644 --- a/.gitignore +++ b/.gitignore @@ -42,6 +42,16 @@ app.*.map.json /android/app/debug /android/app/profile /android/app/release +**/android/**/gradle-wrapper.jar +.gradle/ +**/android/captures/ +**/android/gradlew +**/android/gradlew.bat +**/android/**/GeneratedPluginRegistrant.java +**/android/key.properties +*.jks +local.properties +**/.cxx/ # FVM Version Cache .fvm/ diff --git a/.vscode/settings.json b/.vscode/settings.json index a8f7bd4..fca954e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -7,7 +7,7 @@ "LTWH", "outro" ], - "dart.flutterSdkPath": ".fvm/versions/3.27.3", + "dart.flutterSdkPath": ".fvm/versions/3.29.2", "search.exclude": { "**/.fvm": true }, diff --git a/lib/l10n/app_cs.arb b/lib/l10n/app_cs.arb deleted file mode 100644 index 0967ef4..0000000 --- a/lib/l10n/app_cs.arb +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/lib/screens/photo_viewer/photo_viewer_controls.dart b/lib/screens/photo_viewer/photo_viewer_controls.dart index 5b3db22..ef90be2 100644 --- a/lib/screens/photo_viewer/photo_viewer_controls.dart +++ b/lib/screens/photo_viewer/photo_viewer_controls.dart @@ -184,17 +184,7 @@ class _PhotoViewerControllsState extends ConsumerState with child: Text( widget.photo.name, maxLines: 2, - style: Theme.of(context) - .textTheme - .titleMedium - ?.copyWith(fontWeight: FontWeight.bold, shadows: [ - BoxShadow( - blurRadius: 1, spreadRadius: 1, color: Colors.black.withValues(alpha: 0.7)), - BoxShadow( - blurRadius: 4, spreadRadius: 4, color: Colors.black.withValues(alpha: 0.4)), - BoxShadow( - blurRadius: 20, spreadRadius: 6, color: Colors.black.withValues(alpha: 0.2)), - ]), + style: Theme.of(context).textTheme.titleMedium?.copyWith(fontWeight: FontWeight.bold), ), ), ), diff --git a/lib/screens/photo_viewer/photo_viewer_screen.dart b/lib/screens/photo_viewer/photo_viewer_screen.dart index 34b330a..326d8fd 100644 --- a/lib/screens/photo_viewer/photo_viewer_screen.dart +++ b/lib/screens/photo_viewer/photo_viewer_screen.dart @@ -471,7 +471,7 @@ class _PhotoViewerScreenState extends ConsumerState with Widg ? IconsaxOutline.filter_remove : IconsaxOutline.filter, ), - ].addInBetween(const SizedBox(width: 18)), + ].addInBetween(const SizedBox(width: 16)), ); }), ), diff --git a/lib/screens/photo_viewer/simple_video_player.dart b/lib/screens/photo_viewer/simple_video_player.dart index f31ccda..7d03982 100644 --- a/lib/screens/photo_viewer/simple_video_player.dart +++ b/lib/screens/photo_viewer/simple_video_player.dart @@ -122,10 +122,7 @@ class _SimpleVideoPlayerState extends ConsumerState with Wind @override Widget build(BuildContext context) { - final textStyle = Theme.of(context) - .textTheme - .titleMedium - ?.copyWith(fontWeight: FontWeight.bold, shadows: [const Shadow(blurRadius: 2)]); + final textStyle = Theme.of(context).textTheme.titleMedium?.copyWith(fontWeight: FontWeight.bold); ref.listen( photoViewSettingsProvider.select((value) => value.repeat), (previous, next) => player.loop(next), @@ -226,10 +223,6 @@ class _SimpleVideoPlayerState extends ConsumerState with Wind }, icon: Icon( player.lastState.playing ? IconsaxBold.pause_circle : IconsaxBold.play_circle, - shadows: [ - BoxShadow( - blurRadius: 16, spreadRadius: 2, color: Colors.black.withValues(alpha: 0.15)) - ], ), ) ], diff --git a/lib/screens/settings/client_sections/client_settings_visual.dart b/lib/screens/settings/client_sections/client_settings_visual.dart index 868946a..bf59541 100644 --- a/lib/screens/settings/client_sections/client_settings_visual.dart +++ b/lib/screens/settings/client_sections/client_settings_visual.dart @@ -1,3 +1,5 @@ +import 'dart:developer'; + import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; @@ -27,13 +29,17 @@ List buildClientSettingsVisual( trailing: Localizations.override( context: context, locale: ref.watch( - clientSettingsProvider.select( - (value) => (value.selectedLocale ?? currentLocale), - ), + clientSettingsProvider.select((value) => (value.selectedLocale ?? currentLocale)), ), child: Builder(builder: (context) { + String language = "Unknown"; + try { + language = context.localized.nativeName; + } catch (e) { + log(e.toString()); + } return EnumBox( - current: context.localized.nativeName, + current: language, itemBuilder: (context) { return [ ...AppLocalizations.supportedLocales.map( diff --git a/lib/screens/shared/default_title_bar.dart b/lib/screens/shared/default_title_bar.dart index 6d5ecd9..4fa1f2c 100644 --- a/lib/screens/shared/default_title_bar.dart +++ b/lib/screens/shared/default_title_bar.dart @@ -34,14 +34,6 @@ class _DefaultTitleBarState extends ConsumerState with WindowLi @override Widget build(BuildContext context) { final brightness = widget.brightness ?? Theme.of(context).brightness; - final shadows = brightness == Brightness.dark - ? [ - BoxShadow( - blurRadius: 1, spreadRadius: 1, color: Theme.of(context).colorScheme.surface.withValues(alpha: 1)), - BoxShadow(blurRadius: 8, spreadRadius: 2, color: Colors.black.withValues(alpha: 0.2)), - BoxShadow(blurRadius: 3, spreadRadius: 2, color: Colors.black.withValues(alpha: 0.3)), - ] - : []; final iconColor = Theme.of(context).colorScheme.onSurface.withValues(alpha: 0.65); return MouseRegion( onEnter: (event) => setState(() => hovering = true), @@ -112,7 +104,6 @@ class _DefaultTitleBarState extends ConsumerState with WindowLi Icons.minimize_rounded, color: iconColor, size: 20, - shadows: shadows, ), ), ); @@ -154,7 +145,6 @@ class _DefaultTitleBarState extends ConsumerState with WindowLi maximized ? Icons.maximize_rounded : Icons.crop_square_rounded, color: iconColor, size: 19, - shadows: shadows, ), ), ); @@ -176,7 +166,6 @@ class _DefaultTitleBarState extends ConsumerState with WindowLi Icons.close_rounded, color: iconColor, size: 23, - shadows: shadows, ), ), ), diff --git a/lib/screens/shared/media/chapter_row.dart b/lib/screens/shared/media/chapter_row.dart index 83d0e48..e92d7ad 100644 --- a/lib/screens/shared/media/chapter_row.dart +++ b/lib/screens/shared/media/chapter_row.dart @@ -58,11 +58,7 @@ class ChapterRow extends ConsumerWidget { child: Text( "${chapter.name} \n${chapter.startPosition.humanize ?? context.localized.start}", textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontWeight: FontWeight.bold, - shadows: [ - BoxShadow(color: Theme.of(context).cardColor, blurRadius: 6, spreadRadius: 2.0) - ]), + style: Theme.of(context).textTheme.bodyMedium?.copyWith(fontWeight: FontWeight.bold), ), ), ), diff --git a/lib/screens/shared/media/components/poster_image.dart b/lib/screens/shared/media/components/poster_image.dart index 9cf1f22..8fd0877 100644 --- a/lib/screens/shared/media/components/poster_image.dart +++ b/lib/screens/shared/media/components/poster_image.dart @@ -341,13 +341,8 @@ class _PosterImageState extends ConsumerState { padding: const EdgeInsets.all(8), child: Text( widget.poster.title.maxLength(limitTo: 25), - style: Theme.of(context) - .textTheme - .labelLarge - ?.copyWith(fontSize: 20, fontWeight: FontWeight.bold, shadows: [ - const BoxShadow(blurRadius: 8, spreadRadius: 16), - const BoxShadow(blurRadius: 2, spreadRadius: 16), - ]), + style: + Theme.of(context).textTheme.labelLarge?.copyWith(fontSize: 20, fontWeight: FontWeight.bold), ), ), ), diff --git a/lib/screens/shared/media/episode_posters.dart b/lib/screens/shared/media/episode_posters.dart index 5699e0f..33d8df1 100644 --- a/lib/screens/shared/media/episode_posters.dart +++ b/lib/screens/shared/media/episode_posters.dart @@ -259,15 +259,9 @@ class EpisodePoster extends ConsumerWidget { alignment: Alignment.bottomRight, child: PopupMenuButton( tooltip: "Options", - icon: Icon( + icon: const Icon( Icons.more_vert, color: Colors.white, - shadows: [ - Shadow(color: Colors.black.withValues(alpha: 0.45), blurRadius: 8.0), - const Shadow(color: Colors.black, blurRadius: 16.0), - const Shadow(color: Colors.black, blurRadius: 32.0), - const Shadow(color: Colors.black, blurRadius: 64.0), - ], ), itemBuilder: (context) => actions.popupMenuItems(useIcons: true), ), diff --git a/lib/screens/shared/media/media_banner.dart b/lib/screens/shared/media/media_banner.dart index f8f2c3d..c15be73 100644 --- a/lib/screens/shared/media/media_banner.dart +++ b/lib/screens/shared/media/media_banner.dart @@ -83,9 +83,6 @@ class _MediaBannerState extends ConsumerState { @override Widget build(BuildContext context) { final overlayColor = ThemesData.of(context).dark.colorScheme.primaryContainer; - final shadows = [ - BoxShadow(blurRadius: 12, spreadRadius: 8, color: overlayColor), - ]; final currentItem = widget.items[currentPage.clamp(0, widget.items.length - 1)]; final double dragOpacity = (1 - dragOffset.abs()).clamp(0, 1); @@ -224,7 +221,6 @@ class _MediaBannerState extends ConsumerState { currentItem.title, maxLines: 2, style: Theme.of(context).textTheme.headlineMedium?.copyWith( - shadows: shadows, color: Colors.white, ), ), @@ -235,7 +231,6 @@ class _MediaBannerState extends ConsumerState { currentItem.label(context) ?? currentItem.subText ?? "", maxLines: 2, style: Theme.of(context).textTheme.titleMedium?.copyWith( - shadows: shadows, color: Colors.white.withValues(alpha: 0.75), ), ), diff --git a/lib/screens/shared/media/season_row.dart b/lib/screens/shared/media/season_row.dart index 6e344c2..d9e84bc 100644 --- a/lib/screens/shared/media/season_row.dart +++ b/lib/screens/shared/media/season_row.dart @@ -1,18 +1,19 @@ +import 'package:flutter/material.dart'; + +import 'package:flutter_riverpod/flutter_riverpod.dart'; + +import 'package:fladder/models/items/season_model.dart'; +import 'package:fladder/screens/shared/flat_button.dart'; import 'package:fladder/util/adaptive_layout.dart'; import 'package:fladder/util/disable_keypad_focus.dart'; import 'package:fladder/util/fladder_image.dart'; import 'package:fladder/util/item_base_model/item_base_model_extensions.dart'; import 'package:fladder/util/localization_helper.dart'; +import 'package:fladder/widgets/shared/clickable_text.dart'; +import 'package:fladder/widgets/shared/horizontal_list.dart'; import 'package:fladder/widgets/shared/item_actions.dart'; import 'package:fladder/widgets/shared/modal_bottom_sheet.dart'; import 'package:fladder/widgets/shared/status_card.dart'; -import 'package:flutter/material.dart'; - -import 'package:fladder/models/items/season_model.dart'; -import 'package:fladder/screens/shared/flat_button.dart'; -import 'package:fladder/widgets/shared/clickable_text.dart'; -import 'package:fladder/widgets/shared/horizontal_list.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; class SeasonsRow extends ConsumerWidget { final EdgeInsets contentPadding; @@ -158,12 +159,6 @@ class SeasonPoster extends ConsumerWidget { icon: Icon( Icons.more_vert, color: Colors.white, - shadows: [ - Shadow(color: Colors.black.withValues(alpha: 0.45), blurRadius: 8.0), - const Shadow(color: Colors.black, blurRadius: 16.0), - const Shadow(color: Colors.black, blurRadius: 32.0), - const Shadow(color: Colors.black, blurRadius: 64.0), - ], ), itemBuilder: (context) => season.generateActions(context, ref).popupMenuItems(useIcons: true), ), diff --git a/lib/screens/video_player/components/video_subtitle_controls.dart b/lib/screens/video_player/components/video_subtitle_controls.dart index c881cf4..de66028 100644 --- a/lib/screens/video_player/components/video_subtitle_controls.dart +++ b/lib/screens/video_player/components/video_subtitle_controls.dart @@ -60,7 +60,7 @@ class _VideoSubtitleControlsState extends ConsumerState { duration: const Duration(milliseconds: 250), decoration: BoxDecoration( borderRadius: BorderRadius.circular(16), - color: controlsHidden ? Theme.of(context).dialogBackgroundColor.withValues(alpha: 0.75) : Colors.transparent, + color: controlsHidden ? DialogTheme.of(context).backgroundColor?.withValues(alpha: 0.75) : Colors.transparent, ), child: Padding( padding: const EdgeInsets.all(16), diff --git a/lib/screens/video_player/video_player_controls.dart b/lib/screens/video_player/video_player_controls.dart index 1883bc1..c36787a 100644 --- a/lib/screens/video_player/video_player_controls.dart +++ b/lib/screens/video_player/video_player_controls.dart @@ -132,7 +132,7 @@ class _DesktopControlsState extends ConsumerState { child: Stack( children: [ Positioned.fill( - child: GestureDetector( + child: InkWell( onTap: AdaptiveLayout.of(context).inputDevice == InputDevice.pointer ? () => player.playOrPause() : () => toggleOverlay(), @@ -453,12 +453,7 @@ class _DesktopControlsState extends ConsumerState { Expanded( child: Text( details.nonNulls.join(' - '), - style: Theme.of(context).textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.bold, - shadows: [ - const Shadow(blurRadius: 16), - ], - ), + style: Theme.of(context).textTheme.titleMedium?.copyWith(fontWeight: FontWeight.bold), maxLines: 2, ), ), diff --git a/lib/widgets/shared/elevated_icon.dart b/lib/widgets/shared/elevated_icon.dart index e5c0703..89e74a5 100644 --- a/lib/widgets/shared/elevated_icon.dart +++ b/lib/widgets/shared/elevated_icon.dart @@ -1,5 +1,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + import 'package:flutter_riverpod/flutter_riverpod.dart'; IconData getBackIcon(BuildContext context) { @@ -19,12 +20,6 @@ IconData getBackIcon(BuildContext context) { } } -final _shadows = [ - BoxShadow(blurRadius: 1, spreadRadius: 1, color: Colors.black.withValues(alpha: 0.2)), - BoxShadow(blurRadius: 4, spreadRadius: 4, color: Colors.black.withValues(alpha: 0.1)), - BoxShadow(blurRadius: 16, spreadRadius: 6, color: Colors.black.withValues(alpha: 0.2)), -]; - class ElevatedIconButton extends ConsumerWidget { final Function() onPressed; final IconData icon; @@ -39,10 +34,7 @@ class ElevatedIconButton extends ConsumerWidget { backgroundColor: WidgetStatePropertyAll(color?.withValues(alpha: 0.15)), ), color: color, - icon: Icon( - icon, - shadows: _shadows, - ), + icon: Icon(icon), ); } } diff --git a/pubspec.lock b/pubspec.lock index 206509e..479eb3a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -66,10 +66,10 @@ packages: dependency: "direct main" description: name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 url: "https://pub.dev" source: hosted - version: "2.11.0" + version: "2.12.0" audio_service: dependency: "direct main" description: @@ -138,10 +138,10 @@ packages: dependency: transitive description: name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" build: dependency: transitive description: @@ -242,10 +242,10 @@ packages: dependency: transitive description: name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" charcode: dependency: transitive description: @@ -306,10 +306,10 @@ packages: dependency: transitive description: name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" code_builder: dependency: transitive description: @@ -322,10 +322,10 @@ packages: dependency: "direct main" description: name: collection - sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.19.0" + version: "1.19.1" connectivity_plus: dependency: "direct main" description: @@ -490,10 +490,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.2" ffi: dependency: transitive description: @@ -982,18 +982,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" + sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec url: "https://pub.dev" source: hosted - version: "10.0.7" + version: "10.0.8" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" + sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 url: "https://pub.dev" source: hosted - version: "3.0.8" + version: "3.0.9" leak_tracker_testing: dependency: transitive description: @@ -1078,10 +1078,10 @@ packages: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" material_color_utilities: dependency: transitive description: @@ -1161,10 +1161,10 @@ packages: dependency: transitive description: name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "1.16.0" mime: dependency: transitive description: @@ -1233,10 +1233,10 @@ packages: dependency: "direct main" description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" path_parsing: dependency: transitive description: @@ -1694,10 +1694,10 @@ packages: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" sprintf: dependency: transitive description: @@ -1758,10 +1758,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.12.1" state_notifier: dependency: transitive description: @@ -1782,10 +1782,10 @@ packages: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" stream_transform: dependency: transitive description: @@ -1798,10 +1798,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.1" swagger_dart_code_generator: dependency: "direct dev" description: @@ -1822,18 +1822,18 @@ packages: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test_api: dependency: transitive description: name: test_api - sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd url: "https://pub.dev" source: hosted - version: "0.7.3" + version: "0.7.4" timing: dependency: transitive description: @@ -2046,10 +2046,10 @@ packages: dependency: transitive description: name: vm_service - sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b + sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" url: "https://pub.dev" source: hosted - version: "14.3.0" + version: "14.3.1" volume_controller: dependency: transitive description: @@ -2195,5 +2195,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.6.0 <4.0.0" + dart: ">=3.7.0-0 <4.0.0" flutter: ">=3.27.0"