diff --git a/ios/Podfile.lock b/ios/Podfile.lock index f04ac83..519626f 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -2,27 +2,20 @@ PODS: - Flutter (1.0.0) - flutter_blue_plus (0.0.1): - Flutter - - shared_preferences_foundation (0.0.1): - - Flutter - - FlutterMacOS DEPENDENCIES: - Flutter (from `Flutter`) - flutter_blue_plus (from `.symlinks/plugins/flutter_blue_plus/ios`) - - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) EXTERNAL SOURCES: Flutter: :path: Flutter flutter_blue_plus: :path: ".symlinks/plugins/flutter_blue_plus/ios" - shared_preferences_foundation: - :path: ".symlinks/plugins/shared_preferences_foundation/darwin" SPEC CHECKSUMS: Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_blue_plus: 4837da7d00cf5d441fdd6635b3a57f936778ea96 - shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796 diff --git a/lib/data/providers/settings_repo_impl_provider.dart b/lib/data/providers/settings_repo_impl_provider.dart deleted file mode 100644 index cf90943..0000000 --- a/lib/data/providers/settings_repo_impl_provider.dart +++ /dev/null @@ -1,12 +0,0 @@ -import 'package:eeg_app/data/repositories/settings_repo_impl.dart'; -import 'package:eeg_app/domain/repositories/settings_repo.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:riverpod_annotation/riverpod_annotation.dart'; - -part 'settings_repo_impl_provider.g.dart'; - -/// A provider that creates a [SettingsRepo]. -@Riverpod(keepAlive: true) -SettingsRepo settingsRepo(Ref ref) { - return SettingsRepoImpl(); -} diff --git a/lib/data/providers/settings_repo_impl_provider.g.dart b/lib/data/providers/settings_repo_impl_provider.g.dart deleted file mode 100644 index fc9ffa0..0000000 --- a/lib/data/providers/settings_repo_impl_provider.g.dart +++ /dev/null @@ -1,28 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'settings_repo_impl_provider.dart'; - -// ************************************************************************** -// RiverpodGenerator -// ************************************************************************** - -String _$settingsRepoHash() => r'f49caaf5239aee4643cb4377d2aa31952e3a6039'; - -/// A provider that creates a [SettingsRepo]. -/// -/// Copied from [settingsRepo]. -@ProviderFor(settingsRepo) -final settingsRepoProvider = Provider.internal( - settingsRepo, - name: r'settingsRepoProvider', - debugGetCreateSourceHash: - const bool.fromEnvironment('dart.vm.product') ? null : _$settingsRepoHash, - dependencies: null, - allTransitiveDependencies: null, -); - -@Deprecated('Will be removed in 3.0. Use Ref instead') -// ignore: unused_element -typedef SettingsRepoRef = ProviderRef; -// ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/data/repositories/settings_repo_impl.dart b/lib/data/repositories/settings_repo_impl.dart deleted file mode 100644 index 9b30b48..0000000 --- a/lib/data/repositories/settings_repo_impl.dart +++ /dev/null @@ -1,70 +0,0 @@ -import 'dart:developer'; - -import 'package:dartz/dartz.dart'; -import 'package:eeg_app/domain/entities/settings.dart'; -import 'package:eeg_app/domain/failures/settings_failures.dart'; -import 'package:eeg_app/domain/repositories/settings_repo.dart'; -import 'package:shared_preferences/shared_preferences.dart'; - -/// Implementation of the settings repository -class SettingsRepoImpl implements SettingsRepo { - /// Constructor for [SettingsRepoImpl] - SettingsRepoImpl() : _asyncPrefs = SharedPreferencesAsync(); - final SharedPreferencesAsync _asyncPrefs; - - @override - Future> getSettings() async { - try { - final bandPassHighCutOff = await _asyncPrefs.getDouble( - SettingsList.bandPassHighCutOff.name, - ) ?? - 30.0; - final bandPassLowCutOff = await _asyncPrefs.getDouble( - SettingsList.bandPassLowCutOff.name, - ) ?? - 0.0; - return right( - Settings( - bandPassHighCutOff: bandPassHighCutOff, - bandPassLowCutOff: bandPassLowCutOff, - ), - ); - } catch (e, s) { - log('Failed to get settings', error: e, stackTrace: s); - return left(SettingsFailures.unknown(s)); - } - } - - @override - Future> saveSettings(Settings settings) async { - try { - if (settings.bandPassLowCutOff < 0 || - settings.bandPassHighCutOff < settings.bandPassLowCutOff) { - return left( - SettingsFailures.incorrectBandPassCutOffs(StackTrace.current), - ); - } - await _asyncPrefs.setDouble( - SettingsList.bandPassHighCutOff.name, - settings.bandPassHighCutOff, - ); - await _asyncPrefs.setDouble( - SettingsList.bandPassLowCutOff.name, - settings.bandPassLowCutOff, - ); - return right(unit); - } catch (e, s) { - log('Failed to save settings', error: e, stackTrace: s); - return left(SettingsFailures.unknown(s)); - } - } -} - -/// List of settings that can be saved -enum SettingsList { - /// The low cut off frequency for the band pass filter - bandPassHighCutOff, - - /// The high cut off frequency for the band pass filter - bandPassLowCutOff, -} diff --git a/lib/domain/entities/settings.dart b/lib/domain/entities/settings.dart deleted file mode 100644 index 5e8f466..0000000 --- a/lib/domain/entities/settings.dart +++ /dev/null @@ -1,24 +0,0 @@ -/// Settings entity, contains all the settings -class Settings { - /// Settings constructor - Settings({ - required this.bandPassHighCutOff, - required this.bandPassLowCutOff, - }); - - /// Band pass high cut - final double bandPassHighCutOff; - - /// Band pass low cut - final double bandPassLowCutOff; - - Settings copyWith({ - double? bandPassHighCutOff, - double? bandPassLowCutOff, - }) { - return Settings( - bandPassHighCutOff: bandPassHighCutOff ?? this.bandPassHighCutOff, - bandPassLowCutOff: bandPassLowCutOff ?? this.bandPassLowCutOff, - ); - } -} diff --git a/lib/domain/failures/settings_failures.dart b/lib/domain/failures/settings_failures.dart deleted file mode 100644 index 94bfa21..0000000 --- a/lib/domain/failures/settings_failures.dart +++ /dev/null @@ -1,36 +0,0 @@ -import 'package:eeg_app/core/failure.dart'; - -/// Failures for the settings repository -/// -/// This is an abstract class that extends [Failure]. -/// It contains a message describing the failure. -/// It contains a stack trace to help with debugging. -sealed class SettingsFailures extends Failure { - /// Constructs a [SettingsFailures] with the given [message] and [stackTrace]. - const SettingsFailures(super.message, super.stackTrace); - - /// Factory constructor for creating - /// an `IncorrectBandPassCutOffsFailure` instance. - factory SettingsFailures.incorrectBandPassCutOffs(StackTrace stackTrace) => - IncorrectBandPassCutOffsFailure._(stackTrace); - - /// Factory constructor for creating an `UnknownSettingsFailure` instance. - factory SettingsFailures.unknown(StackTrace stackTrace) => - UnknownSettingsFailure._(stackTrace); -} - -/// Represents a failure when the band pass cut off values are incorrect. -/// -/// This class extends [SettingsFailures] with a predefined message. -class IncorrectBandPassCutOffsFailure extends SettingsFailures { - const IncorrectBandPassCutOffsFailure._(StackTrace stackTrace) - : super('Incorrect band pass cut off values', stackTrace); -} - -/// Represents an unknown settings failure. -/// -/// This class extends [SettingsFailures] with a predefined message. -class UnknownSettingsFailure extends SettingsFailures { - const UnknownSettingsFailure._(StackTrace stackTrace) - : super('Unknown settings failure', stackTrace); -} diff --git a/lib/domain/providers/get_settings_use_case.dart b/lib/domain/providers/get_settings_use_case.dart deleted file mode 100644 index a1d011e..0000000 --- a/lib/domain/providers/get_settings_use_case.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:eeg_app/data/providers/settings_repo_impl_provider.dart'; -import 'package:eeg_app/domain/use_cases/get_settings_use_case.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:riverpod_annotation/riverpod_annotation.dart'; - -part 'get_settings_use_case.g.dart'; - -/// Get settings provider for the use case [GetSettings] -@riverpod -GetSettings getSettingsUseCase(Ref ref) { - final settindsRepo = ref.read(settingsRepoProvider); - return GetSettings(settindsRepo); -} diff --git a/lib/domain/providers/get_settings_use_case.g.dart b/lib/domain/providers/get_settings_use_case.g.dart deleted file mode 100644 index 669eb2d..0000000 --- a/lib/domain/providers/get_settings_use_case.g.dart +++ /dev/null @@ -1,30 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'get_settings_use_case.dart'; - -// ************************************************************************** -// RiverpodGenerator -// ************************************************************************** - -String _$getSettingsUseCaseHash() => - r'0934ff77ad8d412a9e5cbc884591b7b7f4f3efc9'; - -/// Get settings provider for the use case [GetSettings] -/// -/// Copied from [getSettingsUseCase]. -@ProviderFor(getSettingsUseCase) -final getSettingsUseCaseProvider = AutoDisposeProvider.internal( - getSettingsUseCase, - name: r'getSettingsUseCaseProvider', - debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product') - ? null - : _$getSettingsUseCaseHash, - dependencies: null, - allTransitiveDependencies: null, -); - -@Deprecated('Will be removed in 3.0. Use Ref instead') -// ignore: unused_element -typedef GetSettingsUseCaseRef = AutoDisposeProviderRef; -// ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/domain/providers/save_settings_use_case.dart b/lib/domain/providers/save_settings_use_case.dart deleted file mode 100644 index ec89e96..0000000 --- a/lib/domain/providers/save_settings_use_case.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:eeg_app/data/providers/settings_repo_impl_provider.dart'; -import 'package:eeg_app/domain/use_cases/save_settings_use_case.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:riverpod_annotation/riverpod_annotation.dart'; - -part 'save_settings_use_case.g.dart'; - -/// Save settings provider for the use case [SaveSettings] -@riverpod -SaveSettings saveSettingsUseCase(Ref ref) { - final settindsRepo = ref.read(settingsRepoProvider); - return SaveSettings(settindsRepo); -} diff --git a/lib/domain/providers/save_settings_use_case.g.dart b/lib/domain/providers/save_settings_use_case.g.dart deleted file mode 100644 index d361ecf..0000000 --- a/lib/domain/providers/save_settings_use_case.g.dart +++ /dev/null @@ -1,30 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'save_settings_use_case.dart'; - -// ************************************************************************** -// RiverpodGenerator -// ************************************************************************** - -String _$saveSettingsUseCaseHash() => - r'62d33514a71fcfeaa656e897bae5ac66c4a2e13f'; - -/// Save settings provider for the use case [SaveSettings] -/// -/// Copied from [saveSettingsUseCase]. -@ProviderFor(saveSettingsUseCase) -final saveSettingsUseCaseProvider = AutoDisposeProvider.internal( - saveSettingsUseCase, - name: r'saveSettingsUseCaseProvider', - debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product') - ? null - : _$saveSettingsUseCaseHash, - dependencies: null, - allTransitiveDependencies: null, -); - -@Deprecated('Will be removed in 3.0. Use Ref instead') -// ignore: unused_element -typedef SaveSettingsUseCaseRef = AutoDisposeProviderRef; -// ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/domain/repositories/settings_repo.dart b/lib/domain/repositories/settings_repo.dart deleted file mode 100644 index 02a1026..0000000 --- a/lib/domain/repositories/settings_repo.dart +++ /dev/null @@ -1,12 +0,0 @@ -import 'package:dartz/dartz.dart'; -import 'package:eeg_app/domain/entities/settings.dart'; -import 'package:eeg_app/domain/failures/settings_failures.dart'; - -/// Abstract class for the settings repository -abstract class SettingsRepo { - /// Save the settings locally - Future> saveSettings(Settings settings); - - /// Get the settings - Future> getSettings(); -} diff --git a/lib/domain/use_cases/get_settings_use_case.dart b/lib/domain/use_cases/get_settings_use_case.dart deleted file mode 100644 index 92e7d00..0000000 --- a/lib/domain/use_cases/get_settings_use_case.dart +++ /dev/null @@ -1,18 +0,0 @@ -import 'package:dartz/dartz.dart'; -import 'package:eeg_app/core/failure.dart'; -import 'package:eeg_app/core/use_case.dart'; -import 'package:eeg_app/domain/entities/settings.dart'; -import 'package:eeg_app/domain/repositories/settings_repo.dart'; - -/// A use case that gets the settings. -class GetSettings implements UseCase { - /// Constructs a [GetSettings] with the given [SettingsRepo]. - const GetSettings(this._settingsRepo); - - final SettingsRepo _settingsRepo; - - @override - Future> call(NoParams params) { - return _settingsRepo.getSettings(); - } -} diff --git a/lib/domain/use_cases/save_settings_use_case.dart b/lib/domain/use_cases/save_settings_use_case.dart deleted file mode 100644 index af2a5d4..0000000 --- a/lib/domain/use_cases/save_settings_use_case.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:dartz/dartz.dart'; -import 'package:eeg_app/core/failure.dart'; -import 'package:eeg_app/core/use_case.dart'; -import 'package:eeg_app/domain/entities/settings.dart'; -import 'package:eeg_app/domain/repositories/settings_repo.dart'; - -/// A use case that saves the settings. -class SaveSettings implements UseCase { - /// Constructs a [SaveSettings] with the given [SettingsRepo]. - const SaveSettings(this._settingsRepo); - - final SettingsRepo _settingsRepo; - - @override - Future> call(Params params) { - return _settingsRepo.saveSettings(params.settings); - } -} - -/// Parameters for the [SaveSettings] use case. -class Params { - /// Constructs a [Params] with the given [Settings]. - Params(this.settings); - - /// The settings to save. - final Settings settings; -} diff --git a/lib/presentation/notifiers/settings.dart b/lib/presentation/notifiers/settings.dart deleted file mode 100644 index b64cfef..0000000 --- a/lib/presentation/notifiers/settings.dart +++ /dev/null @@ -1,37 +0,0 @@ -import 'package:dartz/dartz.dart'; -import 'package:eeg_app/core/failure.dart'; -import 'package:eeg_app/core/use_case.dart'; -import 'package:eeg_app/domain/entities/settings.dart'; -import 'package:eeg_app/domain/providers/get_settings_use_case.dart'; -import 'package:eeg_app/domain/providers/save_settings_use_case.dart'; -import 'package:eeg_app/domain/use_cases/save_settings_use_case.dart'; -import 'package:riverpod_annotation/riverpod_annotation.dart'; - -part 'settings.g.dart'; - -/// Notifier for settings -@riverpod -class SettingsNotifier extends _$SettingsNotifier { - @override - Future build() async { - final getSettingsUseCase = ref.read(getSettingsUseCaseProvider); - final settings = await getSettingsUseCase(NoParams()); - return settings.fold( - (failure) { - throw Exception(failure.message); - }, - (data) { - return data; - }, - ); - } - - /// Save the settings - /// - /// [settings] The settings to save - Future> saveSettings(Settings settings) { - final saveSettingsUseCase = ref.read(saveSettingsUseCaseProvider); - final params = Params(settings); - return saveSettingsUseCase(params); - } -} diff --git a/lib/presentation/notifiers/settings.g.dart b/lib/presentation/notifiers/settings.g.dart deleted file mode 100644 index 5c33e31..0000000 --- a/lib/presentation/notifiers/settings.g.dart +++ /dev/null @@ -1,28 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'settings.dart'; - -// ************************************************************************** -// RiverpodGenerator -// ************************************************************************** - -String _$settingsNotifierHash() => r'03a45bf795e34395e1ac723f45fdfa6e4ae0fa83'; - -/// Notifier for settings -/// -/// Copied from [SettingsNotifier]. -@ProviderFor(SettingsNotifier) -final settingsNotifierProvider = - AutoDisposeAsyncNotifierProvider.internal( - SettingsNotifier.new, - name: r'settingsNotifierProvider', - debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product') - ? null - : _$settingsNotifierHash, - dependencies: null, - allTransitiveDependencies: null, -); - -typedef _$SettingsNotifier = AutoDisposeAsyncNotifier; -// ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/presentation/pages/main_page.dart b/lib/presentation/pages/main_page.dart index db6d883..56ce58e 100644 --- a/lib/presentation/pages/main_page.dart +++ b/lib/presentation/pages/main_page.dart @@ -2,7 +2,6 @@ import 'package:eeg_app/core/use_case.dart'; import 'package:eeg_app/domain/providers/connect_use_case.dart'; import 'package:eeg_app/domain/providers/disconnect_use_case.dart'; import 'package:eeg_app/presentation/notifiers/processed_data.dart'; -import 'package:eeg_app/presentation/widgets/settings_dialog.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -78,19 +77,6 @@ class MainPage extends ConsumerWidget { }, child: const Text('Disconnect'), ), - const SizedBox(height: 20), - ElevatedButton( - onPressed: () { - showDialog( - context: context, - builder: (context) { - return SettingsDialog(); - }, - ); - }, - child: const Text('Settings'), - ), - const SizedBox(height: 20), processedData.when( data: (data) { return Column( diff --git a/lib/presentation/widgets/settings_dialog.dart b/lib/presentation/widgets/settings_dialog.dart deleted file mode 100644 index 66b273d..0000000 --- a/lib/presentation/widgets/settings_dialog.dart +++ /dev/null @@ -1,86 +0,0 @@ -import 'package:eeg_app/presentation/notifiers/settings.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; - -/// Dialog for settings -class SettingsDialog extends ConsumerWidget { - /// Default constructor - SettingsDialog({super.key}); - - final _bandPassHighCutOffController = TextEditingController(); - final _bandPassLowCutOffController = TextEditingController(); - - @override - Widget build(BuildContext context, WidgetRef ref) { - final settings = ref.watch(settingsNotifierProvider); - final settingsNotifier = ref.read(settingsNotifierProvider.notifier); - return settings.when(data: (data) { - _bandPassHighCutOffController.text = data.bandPassHighCutOff.toString(); - _bandPassLowCutOffController.text = data.bandPassLowCutOff.toString(); - return AlertDialog( - title: const Text('Settings'), - content: Column( - mainAxisSize: MainAxisSize.min, - children: [ - TextField( - controller: _bandPassHighCutOffController, - decoration: const InputDecoration( - labelText: 'Band Pass High Cut Off', - ), - keyboardType: TextInputType.number, - ), - TextField( - controller: _bandPassLowCutOffController, - decoration: const InputDecoration( - labelText: 'Band Pass Low Cut Off', - ), - keyboardType: TextInputType.number, - ), - ], - ), - actions: [ - TextButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: const Text('Cancel'), - ), - TextButton( - onPressed: () async { - final newSettings = data.copyWith( - bandPassHighCutOff: - double.tryParse(_bandPassHighCutOffController.text), - bandPassLowCutOff: - double.tryParse(_bandPassLowCutOffController.text), - ); - final result = await settingsNotifier.saveSettings(newSettings); - result.fold( - (failure) { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text(failure.message), - ), - ); - }, - (_) { - Navigator.of(context).pop(); - }, - ); - }, - child: const Text('Confirm'), - ), - ], - ); - }, error: (e, s) { - return AlertDialog( - title: const Text('Error'), - content: Text(e.toString()), - ); - }, loading: () { - return const AlertDialog( - title: Text('Loading'), - content: Center(child: CircularProgressIndicator()), - ); - }); - } -} diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 194ebba..e56ee82 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -6,9 +6,7 @@ import FlutterMacOS import Foundation import flutter_blue_plus -import shared_preferences_foundation func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FlutterBluePlusPlugin.register(with: registry.registrar(forPlugin: "FlutterBluePlusPlugin")) - SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) } diff --git a/pubspec.lock b/pubspec.lock index a0fd428..ceddb97 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -262,14 +262,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.1" - ffi: - dependency: transitive - description: - name: ffi - sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" - url: "https://pub.dev" - source: hosted - version: "2.1.3" file: dependency: transitive description: @@ -333,11 +325,6 @@ packages: description: flutter source: sdk version: "0.0.0" - flutter_web_plugins: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" freezed_annotation: dependency: transitive description: @@ -522,46 +509,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.0" - path_provider_linux: - dependency: transitive - description: - name: path_provider_linux - sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 - url: "https://pub.dev" - source: hosted - version: "2.2.1" - path_provider_platform_interface: - dependency: transitive - description: - name: path_provider_platform_interface - sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - path_provider_windows: - dependency: transitive - description: - name: path_provider_windows - sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 - url: "https://pub.dev" - source: hosted - version: "2.3.0" - platform: - dependency: transitive - description: - name: platform - sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" - url: "https://pub.dev" - source: hosted - version: "3.1.6" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.dev" - source: hosted - version: "2.1.8" pool: dependency: transitive description: @@ -634,62 +581,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.28.0" - shared_preferences: - dependency: "direct main" - description: - name: shared_preferences - sha256: "95f9997ca1fb9799d494d0cb2a780fd7be075818d59f00c43832ed112b158a82" - url: "https://pub.dev" - source: hosted - version: "2.3.3" - shared_preferences_android: - dependency: transitive - description: - name: shared_preferences_android - sha256: "3b9febd815c9ca29c9e3520d50ec32f49157711e143b7a4ca039eb87e8ade5ab" - url: "https://pub.dev" - source: hosted - version: "2.3.3" - shared_preferences_foundation: - dependency: transitive - description: - name: shared_preferences_foundation - sha256: "07e050c7cd39bad516f8d64c455f04508d09df104be326d8c02551590a0d513d" - url: "https://pub.dev" - source: hosted - version: "2.5.3" - shared_preferences_linux: - dependency: transitive - description: - name: shared_preferences_linux - sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - shared_preferences_platform_interface: - dependency: transitive - description: - name: shared_preferences_platform_interface - sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - shared_preferences_web: - dependency: transitive - description: - name: shared_preferences_web - sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e - url: "https://pub.dev" - source: hosted - version: "2.4.2" - shared_preferences_windows: - dependency: transitive - description: - name: shared_preferences_windows - sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1" - url: "https://pub.dev" - source: hosted - version: "2.4.1" shelf: dependency: transitive description: @@ -871,14 +762,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.1" - xdg_directories: - dependency: transitive - description: - name: xdg_directories - sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" - url: "https://pub.dev" - source: hosted - version: "1.1.0" yaml: dependency: transitive description: @@ -889,4 +772,4 @@ packages: version: "3.1.2" sdks: dart: ">=3.5.4 <4.0.0" - flutter: ">=3.24.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/pubspec.yaml b/pubspec.yaml index 83b23d5..a7192dc 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -42,7 +42,6 @@ dependencies: flutter_riverpod: ^2.6.1 intl: any riverpod_annotation: ^2.6.1 - shared_preferences: ^2.3.3 dev_dependencies: build_runner: ^2.4.13