From 3804d0d2dd1cdb2dca2f5195ad785b48b7568f17 Mon Sep 17 00:00:00 2001 From: Dennis Moschina <45356478+DennisMoschina@users.noreply.github.com> Date: Fri, 21 Nov 2025 15:06:58 +0100 Subject: [PATCH 1/3] upgraded dependencies to support newest versions, fixed problems resulting from these upgrades --- lib/open_earable_flutter.dart | 2 +- lib/src/fota/bloc/update_state.dart | 3 +-- lib/src/managers/ble_manager.dart | 11 ++++------- .../managers/open_earable_sensor_manager.dart | 2 +- lib/src/managers/v2_sensor_handler.dart | 2 +- lib/src/models/capabilities/sensor.dart | 6 ++---- .../sensor_configuration_open_earable_v2.dart | 17 ++++++----------- .../sensor_frequency_configuration.dart | 9 +++------ .../heart_rate_sensor.dart | 3 +-- .../heart_rate_variability_sensor.dart | 3 +-- lib/src/models/devices/cosinuss_one.dart | 13 ++++--------- .../models/devices/open_earable_factory.dart | 12 ++++-------- lib/src/models/devices/open_earable_v1.dart | 16 +++++----------- pubspec.yaml | 16 ++++++++-------- 14 files changed, 42 insertions(+), 73 deletions(-) diff --git a/lib/open_earable_flutter.dart b/lib/open_earable_flutter.dart index b945cc3f..4f5471c9 100644 --- a/lib/open_earable_flutter.dart +++ b/lib/open_earable_flutter.dart @@ -1,4 +1,4 @@ -library open_earable_flutter; +library; import 'dart:async'; diff --git a/lib/src/fota/bloc/update_state.dart b/lib/src/fota/bloc/update_state.dart index ba193239..b3b74704 100644 --- a/lib/src/fota/bloc/update_state.dart +++ b/lib/src/fota/bloc/update_state.dart @@ -21,8 +21,7 @@ final class UpdateProgressFirmware extends UpdateFirmware { final int progress; final int imageNumber; - UpdateProgressFirmware(String state, this.progress, this.imageNumber) - : super(state); + UpdateProgressFirmware(super.state, this.progress, this.imageNumber); @override List get props => [stage, progress]; diff --git a/lib/src/managers/ble_manager.dart b/lib/src/managers/ble_manager.dart index a48a886c..f7443f20 100644 --- a/lib/src/managers/ble_manager.dart +++ b/lib/src/managers/ble_manager.dart @@ -248,12 +248,11 @@ class BleManager extends BleGattManager { if (!isConnected(deviceId)) { throw Exception("Write failed because no Earable is connected"); } - await UniversalBle.writeValue( + await UniversalBle.write( deviceId, serviceId, characteristicId, Uint8List.fromList(byteData), - BleOutputProperty.withResponse, ); } @@ -267,11 +266,10 @@ class BleManager extends BleGattManager { final streamController = StreamController>(); String streamIdentifier = _getCharacteristicKey(deviceId, characteristicId); if (!_streamControllers.containsKey(streamIdentifier)) { - UniversalBle.setNotifiable( + UniversalBle.subscribeNotifications( deviceId, serviceId, characteristicId, - BleInputProperty.notification, ); _streamControllers[streamIdentifier] = [streamController]; } else { @@ -282,11 +280,10 @@ class BleManager extends BleGattManager { if (_streamControllers.containsKey(streamIdentifier)) { _streamControllers[streamIdentifier]!.remove(streamController); if (_streamControllers[streamIdentifier]!.isEmpty) { - UniversalBle.setNotifiable( + UniversalBle.unsubscribe( deviceId, serviceId, characteristicId, - BleInputProperty.disabled, ); _streamControllers.remove(streamIdentifier); } @@ -307,7 +304,7 @@ class BleManager extends BleGattManager { throw Exception("Read failed because no Earable is connected"); } - final response = await UniversalBle.readValue( + final response = await UniversalBle.read( deviceId, serviceId, characteristicId, diff --git a/lib/src/managers/open_earable_sensor_manager.dart b/lib/src/managers/open_earable_sensor_manager.dart index 5f6bc852..81944bfc 100644 --- a/lib/src/managers/open_earable_sensor_manager.dart +++ b/lib/src/managers/open_earable_sensor_manager.dart @@ -138,7 +138,7 @@ class OpenEarableSensorHandler extends SensorHandler { } /// Parses raw sensor data bytes into a [Map] of sensor values. - Future>> _parseData(data) async { + Future>> _parseData(List data) async { ByteData byteData = ByteData.sublistView(Uint8List.fromList(data)); return _sensorValueParser.parse(byteData, _sensorSchemes!); diff --git a/lib/src/managers/v2_sensor_handler.dart b/lib/src/managers/v2_sensor_handler.dart index 58ac7a1c..e8ffa4f1 100644 --- a/lib/src/managers/v2_sensor_handler.dart +++ b/lib/src/managers/v2_sensor_handler.dart @@ -80,7 +80,7 @@ class V2SensorHandler extends SensorHandler { } /// Parses raw sensor data bytes into a [Map] of sensor values. - Future>> _parseData(data) async { + Future>> _parseData(List data) async { ByteData byteData = ByteData.sublistView(Uint8List.fromList(data)); if (_sensorSchemes == null) { diff --git a/lib/src/models/capabilities/sensor.dart b/lib/src/models/capabilities/sensor.dart index 92b18167..f31ac619 100644 --- a/lib/src/models/capabilities/sensor.dart +++ b/lib/src/models/capabilities/sensor.dart @@ -72,10 +72,9 @@ class SensorDoubleValue extends SensorValue { const SensorDoubleValue({ required this.values, - required int timestamp, + required super.timestamp, }) : super( valueStrings: const [], - timestamp: timestamp, ); @override @@ -91,10 +90,9 @@ class SensorIntValue extends SensorValue { const SensorIntValue({ required this.values, - required int timestamp, + required super.timestamp, }) : super( valueStrings: const [], - timestamp: timestamp, ); @override diff --git a/lib/src/models/capabilities/sensor_configuration_specializations/sensor_configuration_open_earable_v2.dart b/lib/src/models/capabilities/sensor_configuration_specializations/sensor_configuration_open_earable_v2.dart index f3fb6639..b7dac9ad 100644 --- a/lib/src/models/capabilities/sensor_configuration_specializations/sensor_configuration_open_earable_v2.dart +++ b/lib/src/models/capabilities/sensor_configuration_specializations/sensor_configuration_open_earable_v2.dart @@ -18,20 +18,15 @@ class SensorConfigurationOpenEarableV2 extends SensorFrequencyConfiguration get availableOptions => _availableOptions; SensorConfigurationOpenEarableV2({ - required String name, + required super.name, required this.sensorId, - required List values, + required super.values, required this.maxStreamingFreqIndex, required V2SensorHandler sensorHandler, Set availableOptions = const {}, - SensorConfigurationOpenEarableV2Value? offValue, + super.offValue, }) : _sensorHandler = sensorHandler, - _availableOptions = availableOptions, - super( - name: name, - values: values, - offValue: offValue, - ); + _availableOptions = availableOptions; @override String toString() { @@ -159,10 +154,10 @@ class SensorConfigurationOpenEarableV2Value final Set options; SensorConfigurationOpenEarableV2Value({ - required double frequencyHz, + required super.frequencyHz, required this.frequencyIndex, this.options = const {}, - }) : super(frequencyHz: frequencyHz, key: "${frequencyHz.toString()} ${_optionsToString(options)}"); + }) : super(key: "${frequencyHz.toString()} ${_optionsToString(options)}"); @override String toString() { diff --git a/lib/src/models/capabilities/sensor_configuration_specializations/sensor_frequency_configuration.dart b/lib/src/models/capabilities/sensor_configuration_specializations/sensor_frequency_configuration.dart index 31d59f6b..3e26f49b 100644 --- a/lib/src/models/capabilities/sensor_configuration_specializations/sensor_frequency_configuration.dart +++ b/lib/src/models/capabilities/sensor_configuration_specializations/sensor_frequency_configuration.dart @@ -4,14 +4,11 @@ abstract class SensorFrequencyConfiguration< SFC extends SensorFrequencyConfigurationValue> extends SensorConfiguration { const SensorFrequencyConfiguration({ - required String name, - required List values, - SFC? offValue, + required super.name, + required super.values, + super.offValue, }) : super( - name: name, - values: values, unit: "Hz", - offValue: offValue, ); @override diff --git a/lib/src/models/capabilities/sensor_specializations/heart_rate_sensor.dart b/lib/src/models/capabilities/sensor_specializations/heart_rate_sensor.dart index 7ee20cf6..cdd542b7 100644 --- a/lib/src/models/capabilities/sensor_specializations/heart_rate_sensor.dart +++ b/lib/src/models/capabilities/sensor_specializations/heart_rate_sensor.dart @@ -25,10 +25,9 @@ abstract class HeartRateSensor extends Sensor { class HeartRateSensorValue extends SensorIntValue { HeartRateSensorValue({ required int heartRateBpm, - required int timestamp, + required super.timestamp, }) : super( values: [heartRateBpm], - timestamp: timestamp, ); int get heartRateBpm => values.first; diff --git a/lib/src/models/capabilities/sensor_specializations/heart_rate_variability_sensor.dart b/lib/src/models/capabilities/sensor_specializations/heart_rate_variability_sensor.dart index b44b7980..67d06f4f 100644 --- a/lib/src/models/capabilities/sensor_specializations/heart_rate_variability_sensor.dart +++ b/lib/src/models/capabilities/sensor_specializations/heart_rate_variability_sensor.dart @@ -127,11 +127,10 @@ class HeartRateVariabilitySensorValue extends SensorDoubleValue { required List rrIntervalsMs, required this.rmssd, required this.sdnn, - required int timestamp, + required super.timestamp, }) : _rrIntervalsMs = rrIntervalsMs, super( values: [rmssd, sdnn], - timestamp: timestamp, ); /// Get the latest new rr intervals in milliseconds diff --git a/lib/src/models/devices/cosinuss_one.dart b/lib/src/models/devices/cosinuss_one.dart index f9c21dac..310d4d5e 100644 --- a/lib/src/models/devices/cosinuss_one.dart +++ b/lib/src/models/devices/cosinuss_one.dart @@ -170,9 +170,9 @@ class _CosinussOneSensor extends Sensor { final DiscoveredDevice _discoveredDevice; _CosinussOneSensor({ - required String sensorName, - required String chartTitle, - required String shortChartTitle, + required super.sensorName, + required super.chartTitle, + required super.shortChartTitle, required List axisNames, required List axisUnits, required BleGattManager bleManager, @@ -180,12 +180,7 @@ class _CosinussOneSensor extends Sensor { }) : _axisNames = axisNames, _axisUnits = axisUnits, _bleManager = bleManager, - _discoveredDevice = discoveredDevice, - super( - sensorName: sensorName, - chartTitle: chartTitle, - shortChartTitle: shortChartTitle, - ); + _discoveredDevice = discoveredDevice; @override List get axisNames => _axisNames; diff --git a/lib/src/models/devices/open_earable_factory.dart b/lib/src/models/devices/open_earable_factory.dart index 93f66e7b..74a16539 100644 --- a/lib/src/models/devices/open_earable_factory.dart +++ b/lib/src/models/devices/open_earable_factory.dart @@ -244,23 +244,19 @@ class _OpenEarableSensorV2 extends Sensor { _OpenEarableSensorV2({ required int sensorId, - required String sensorName, - required String chartTitle, - required String shortChartTitle, + required super.sensorName, + required super.chartTitle, + required super.shortChartTitle, required List axisNames, required List axisUnits, required SensorHandler sensorManager, - List relatedConfigurations = const [], + super.relatedConfigurations, }) : _sensorId = sensorId, _axisNames = axisNames, _axisUnits = axisUnits, _sensorManager = sensorManager, super( - sensorName: sensorName, - chartTitle: chartTitle, - shortChartTitle: shortChartTitle, timestampExponent: -6, - relatedConfigurations: relatedConfigurations, ); @override diff --git a/lib/src/models/devices/open_earable_v1.dart b/lib/src/models/devices/open_earable_v1.dart index 43ebac59..29c27b6c 100644 --- a/lib/src/models/devices/open_earable_v1.dart +++ b/lib/src/models/devices/open_earable_v1.dart @@ -434,22 +434,16 @@ class _OpenEarableSensor extends Sensor { final OpenEarableSensorHandler _sensorManager; _OpenEarableSensor({ - required String sensorName, - required String chartTitle, - required String shortChartTitle, + required super.sensorName, + required super.chartTitle, + required super.shortChartTitle, required List axisNames, required List axisUnits, required OpenEarableSensorHandler sensorManager, - required List relatedConfigurations, + required super.relatedConfigurations, }) : _axisNames = axisNames, _axisUnits = axisUnits, - _sensorManager = sensorManager, - super( - sensorName: sensorName, - chartTitle: chartTitle, - shortChartTitle: shortChartTitle, - relatedConfigurations: relatedConfigurations, - ); + _sensorManager = sensorManager; @override List get axisNames => _axisNames; diff --git a/pubspec.yaml b/pubspec.yaml index 38365682..dd00906e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -20,30 +20,30 @@ dependencies: sdk: flutter typed_data: ^1.3.2 convert: ^3.1.1 - permission_handler: ^11.4.0 - universal_ble: ^0.17.0 + permission_handler: ^12.0.1 + universal_ble: ^0.21.1 logger: ^2.5.0 # for fota: equatable: ^2.0.5 - file_picker: ^8.1.7 + file_picker: ^10.3.7 flutter_archive: ^6.0.0 - flutter_bloc: ^8.1.3 + flutter_bloc: ^9.1.1 http: ^1.1.2 json_annotation: ^4.8.1 - mcumgr_flutter: ^0.4.2 + mcumgr_flutter: ^0.6.1 path_provider: ^2.1.1 provider: ^6.1.1 - rxdart: ^0.27.7 + rxdart: ^0.28.0 tuple: ^2.0.2 uuid: ^4.2.1 - bloc: ^8.1.4 + bloc: ^9.1.0 meta: ^1.16.0 pub_semver: ^2.2.0 dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^2.0.0 + flutter_lints: ^6.0.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec From d94550a1cc6b92e4dfac3f1654a24ee1d8cc313e Mon Sep 17 00:00:00 2001 From: Dennis Moschina <45356478+DennisMoschina@users.noreply.github.com> Date: Fri, 21 Nov 2025 15:07:27 +0100 Subject: [PATCH 2/3] example: upgraded dependencies to support newest versions, fixed problems resulting from these upgrades --- .../widgets/audio_player_control_widget.dart | 3 +- .../fota/stepper_view/firmware_select.dart | 2 +- .../lib/widgets/frequency_player_widget.dart | 3 +- example/lib/widgets/grouped_box.dart | 4 +- example/lib/widgets/jingle_player_widget.dart | 3 +- .../lib/widgets/rgb_led_control_widget.dart | 2 +- .../widgets/sensor_configuration_view.dart | 3 +- example/lib/widgets/sensor_view.dart | 2 +- .../storage_path_audio_player_widget.dart | 3 +- .../Flutter/GeneratedPluginRegistrant.swift | 2 - example/pubspec.lock | 142 +++++++++--------- example/pubspec.yaml | 12 +- 12 files changed, 87 insertions(+), 94 deletions(-) diff --git a/example/lib/widgets/audio_player_control_widget.dart b/example/lib/widgets/audio_player_control_widget.dart index 12f7e3da..3bf7eadb 100644 --- a/example/lib/widgets/audio_player_control_widget.dart +++ b/example/lib/widgets/audio_player_control_widget.dart @@ -4,8 +4,7 @@ import 'package:open_earable_flutter/open_earable_flutter.dart'; class AudioPlayerControlWidget extends StatelessWidget { final AudioPlayerControls audioPlayerControls; - const AudioPlayerControlWidget({Key? key, required this.audioPlayerControls}) - : super(key:key); + const AudioPlayerControlWidget({super.key, required this.audioPlayerControls}); @override Widget build(BuildContext context) { diff --git a/example/lib/widgets/fota/stepper_view/firmware_select.dart b/example/lib/widgets/fota/stepper_view/firmware_select.dart index a91f834a..855b073e 100644 --- a/example/lib/widgets/fota/stepper_view/firmware_select.dart +++ b/example/lib/widgets/fota/stepper_view/firmware_select.dart @@ -5,7 +5,7 @@ import '../firmware_select/firmware_list.dart'; import 'package:open_earable_flutter/open_earable_flutter.dart'; class FirmwareSelect extends StatelessWidget { - const FirmwareSelect({Key? key}) : super(key: key); + const FirmwareSelect({super.key}); @override Widget build(BuildContext context) { diff --git a/example/lib/widgets/frequency_player_widget.dart b/example/lib/widgets/frequency_player_widget.dart index a4818ee9..6f14c6b6 100644 --- a/example/lib/widgets/frequency_player_widget.dart +++ b/example/lib/widgets/frequency_player_widget.dart @@ -4,8 +4,7 @@ import 'package:open_earable_flutter/open_earable_flutter.dart'; class FrequencyPlayerWidget extends StatefulWidget { final FrequencyPlayer frequencyPlayer; - const FrequencyPlayerWidget({Key? key, required this.frequencyPlayer}) - : super(key:key); + const FrequencyPlayerWidget({super.key, required this.frequencyPlayer}); @override State createState() => _FrequencyPlayerWidgetState(); diff --git a/example/lib/widgets/grouped_box.dart b/example/lib/widgets/grouped_box.dart index 4be04ddd..f0e90e07 100644 --- a/example/lib/widgets/grouped_box.dart +++ b/example/lib/widgets/grouped_box.dart @@ -5,10 +5,10 @@ class GroupedBox extends StatelessWidget { final Widget child; const GroupedBox({ - Key? key, + super.key, required this.title, required this.child, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/example/lib/widgets/jingle_player_widget.dart b/example/lib/widgets/jingle_player_widget.dart index 7ad817f0..01cd49a3 100644 --- a/example/lib/widgets/jingle_player_widget.dart +++ b/example/lib/widgets/jingle_player_widget.dart @@ -4,8 +4,7 @@ import 'package:open_earable_flutter/open_earable_flutter.dart'; class JinglePlayerWidget extends StatefulWidget { final JinglePlayer jinglePlayer; - const JinglePlayerWidget({Key? key, required this.jinglePlayer}) - : super(key:key); + const JinglePlayerWidget({super.key, required this.jinglePlayer}); @override State createState() => _JinglePlayerWidgetState(); diff --git a/example/lib/widgets/rgb_led_control_widget.dart b/example/lib/widgets/rgb_led_control_widget.dart index f7212743..60a48a1e 100644 --- a/example/lib/widgets/rgb_led_control_widget.dart +++ b/example/lib/widgets/rgb_led_control_widget.dart @@ -6,7 +6,7 @@ class RgbLedControlWidget extends StatefulWidget { final RgbLed rgbLed; final StatusLed? statusLed; - const RgbLedControlWidget({Key? key, required this.rgbLed, this.statusLed}) : super(key: key); + const RgbLedControlWidget({super.key, required this.rgbLed, this.statusLed}); @override State createState() => _RgbLedControlWidgetState(); diff --git a/example/lib/widgets/sensor_configuration_view.dart b/example/lib/widgets/sensor_configuration_view.dart index af1cdce5..d8e7afed 100644 --- a/example/lib/widgets/sensor_configuration_view.dart +++ b/example/lib/widgets/sensor_configuration_view.dart @@ -4,8 +4,7 @@ import 'package:open_earable_flutter/open_earable_flutter.dart'; class SensorConfigurationView extends StatefulWidget { final SensorConfiguration configuration; - const SensorConfigurationView({Key? key, required this.configuration}) - : super(key: key); + const SensorConfigurationView({super.key, required this.configuration}); static List? createSensorConfigurationViews( Wearable wearable) { diff --git a/example/lib/widgets/sensor_view.dart b/example/lib/widgets/sensor_view.dart index dcec3de3..83a49268 100644 --- a/example/lib/widgets/sensor_view.dart +++ b/example/lib/widgets/sensor_view.dart @@ -4,7 +4,7 @@ import 'package:open_earable_flutter/open_earable_flutter.dart'; class SensorView extends StatelessWidget { final Sensor sensor; - const SensorView({Key? key, required this.sensor}) : super(key: key); + const SensorView({super.key, required this.sensor}); static List? createSensorViews(Wearable wearable) { if (wearable is SensorManager) { diff --git a/example/lib/widgets/storage_path_audio_player_widget.dart b/example/lib/widgets/storage_path_audio_player_widget.dart index 8f924e00..0cb526bf 100644 --- a/example/lib/widgets/storage_path_audio_player_widget.dart +++ b/example/lib/widgets/storage_path_audio_player_widget.dart @@ -4,8 +4,7 @@ import 'package:open_earable_flutter/open_earable_flutter.dart'; class StoragePathAudioPlayerWidget extends StatefulWidget { final StoragePathAudioPlayer audioPlayer; - const StoragePathAudioPlayerWidget({Key? key, required this.audioPlayer}) - : super(key: key); + const StoragePathAudioPlayerWidget({super.key, required this.audioPlayer}); @override State createState() => diff --git a/example/macos/Flutter/GeneratedPluginRegistrant.swift b/example/macos/Flutter/GeneratedPluginRegistrant.swift index 354253a6..317a6682 100644 --- a/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -7,12 +7,10 @@ import Foundation import file_picker import flutter_archive -import path_provider_foundation import universal_ble func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin")) FlutterArchivePlugin.register(with: registry.registrar(forPlugin: "FlutterArchivePlugin")) - PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) UniversalBlePlugin.register(with: registry.registrar(forPlugin: "UniversalBlePlugin")) } diff --git a/example/pubspec.lock b/example/pubspec.lock index bd691b33..b84e32eb 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -21,10 +21,10 @@ packages: dependency: "direct main" description: name: bloc - sha256: "106842ad6569f0b60297619e9e0b1885c2fb9bf84812935490e6c5275777804e" + sha256: a2cebb899f91d36eeeaa55c7b20b5915db5a9df1b8fd4a3c9c825e22e474537d url: "https://pub.dev" source: hosted - version: "8.1.4" + version: "9.1.0" bluez: dependency: transitive description: @@ -77,18 +77,18 @@ packages: dependency: transitive description: name: cross_file - sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" + sha256: "701dcfc06da0882883a2657c445103380e53e647060ad8d9dfb710c100996608" url: "https://pub.dev" source: hosted - version: "0.3.4+2" + version: "0.3.5+1" crypto: dependency: transitive description: name: crypto - sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" + sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf url: "https://pub.dev" source: hosted - version: "3.0.6" + version: "3.0.7" cupertino_icons: dependency: "direct main" description: @@ -133,10 +133,10 @@ packages: dependency: "direct main" description: name: file_picker - sha256: ab13ae8ef5580a411c458d6207b6774a6c237d77ac37011b13994879f68a8810 + sha256: "7872545770c277236fd32b022767576c562ba28366204ff1a5628853cf8f2200" url: "https://pub.dev" source: hosted - version: "8.3.7" + version: "10.3.7" fixnum: dependency: transitive description: @@ -162,10 +162,10 @@ packages: dependency: "direct main" description: name: flutter_bloc - sha256: b594505eac31a0518bdcb4b5b79573b8d9117b193cc80cc12e17d639b10aa27a + sha256: cf51747952201a455a1c840f8171d273be009b932c75093020f9af64f2123e38 url: "https://pub.dev" source: hosted - version: "8.1.6" + version: "9.1.1" flutter_colorpicker: dependency: "direct main" description: @@ -178,26 +178,26 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 + sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1" url: "https://pub.dev" source: hosted - version: "2.0.3" + version: "6.0.0" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e + sha256: "306f0596590e077338312f38837f595c04f28d6cdeeac392d3d74df2f0003687" url: "https://pub.dev" source: hosted - version: "2.0.28" + version: "2.0.32" flutter_svg: dependency: "direct main" description: name: flutter_svg - sha256: d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1 + sha256: "87fbd7c534435b6c5d9d98b01e1fd527812b82e68ddd8bd35fc45ed0fa8f0a95" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.2.3" flutter_test: dependency: "direct dev" description: flutter @@ -220,10 +220,10 @@ packages: dependency: transitive description: name: http - sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b" + sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412" url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.6.0" http_parser: dependency: transitive description: @@ -244,10 +244,10 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0" + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "11.0.1" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: @@ -268,18 +268,18 @@ packages: dependency: transitive description: name: lints - sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" + sha256: a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "6.0.0" logger: dependency: transitive description: name: logger - sha256: be4b23575aac7ebf01f225a241eb7f6b5641eeaf43c6a8613510fc2f8cf187d1 + sha256: a7967e31b703831a893bbc3c3dd11db08126fe5f369b5c648a36f821979f5be3 url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.6.2" logging: dependency: transitive description: @@ -308,18 +308,18 @@ packages: dependency: "direct main" description: name: mcumgr_flutter - sha256: e19a5c420bdc20c831ffc4673a01b8fb1825fb3f42524cfc454a9862b20453f2 + sha256: fbf2f621dea23dd5dc70494e700c5d4706010841b9e68739ba563cbd88c7e8ba url: "https://pub.dev" source: hosted - version: "0.4.2" + version: "0.6.1" meta: dependency: "direct main" description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" nested: dependency: transitive description: @@ -328,13 +328,21 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" + objective_c: + dependency: transitive + description: + name: objective_c + sha256: "1f81ed9e41909d44162d7ec8663b2c647c202317cc0b56d3d56f6a13146a0b64" + url: "https://pub.dev" + source: hosted + version: "9.1.0" open_earable_flutter: dependency: "direct main" description: path: ".." relative: true source: path - version: "0.1.0" + version: "2.2.1" path: dependency: transitive description: @@ -363,18 +371,18 @@ packages: dependency: transitive description: name: path_provider_android - sha256: d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9 + sha256: "95c68a74d3cab950fd0ed8073d9fab15c1c06eb1f3eec68676e87aabc9ecee5a" url: "https://pub.dev" source: hosted - version: "2.2.17" + version: "2.2.21" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942" + sha256: "6192e477f34018ef1ea790c56fffc7302e3bc3efede9e798b934c252c8c105ba" url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.5.0" path_provider_linux: dependency: transitive description: @@ -403,18 +411,18 @@ packages: dependency: "direct main" description: name: permission_handler - sha256: "59adad729136f01ea9e35a48f5d1395e25cba6cea552249ddbe9cf950f5d7849" + sha256: bc917da36261b00137bbc8896bf1482169cd76f866282368948f032c8c1caae1 url: "https://pub.dev" source: hosted - version: "11.4.0" + version: "12.0.1" permission_handler_android: dependency: transitive description: name: permission_handler_android - sha256: d3971dcdd76182a0c198c096b5db2f0884b0d4196723d21a866fc4cdea057ebc + sha256: "1e3bc410ca1bf84662104b100eb126e066cb55791b7451307f9708d4007350e6" url: "https://pub.dev" source: hosted - version: "12.1.0" + version: "13.0.1" permission_handler_apple: dependency: transitive description: @@ -451,10 +459,10 @@ packages: dependency: transitive description: name: petitparser - sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646" + sha256: "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1" url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "7.0.1" platform: dependency: transitive description: @@ -475,18 +483,18 @@ packages: dependency: transitive description: name: protobuf - sha256: "68645b24e0716782e58948f8467fd42a880f255096a821f9e7d0ec625b00c84d" + sha256: de9c9eb2c33f8e933a42932fe1dc504800ca45ebc3d673e6ed7f39754ee4053e url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "4.2.0" provider: dependency: "direct main" description: name: provider - sha256: "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84" + sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272" url: "https://pub.dev" source: hosted - version: "6.1.5" + version: "6.1.5+1" pub_semver: dependency: transitive description: @@ -499,10 +507,10 @@ packages: dependency: transitive description: name: rxdart - sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb" + sha256: "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962" url: "https://pub.dev" source: hosted - version: "0.27.7" + version: "0.28.0" sky_engine: dependency: transitive description: flutter @@ -516,14 +524,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.10.1" - sprintf: - dependency: transitive - description: - name: sprintf - sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" - url: "https://pub.dev" - source: hosted - version: "7.0.0" stack_trace: dependency: transitive description: @@ -560,10 +560,10 @@ packages: dependency: transitive description: name: test_api - sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" + sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 url: "https://pub.dev" source: hosted - version: "0.7.6" + version: "0.7.7" tuple: dependency: transitive description: @@ -584,26 +584,26 @@ packages: dependency: transitive description: name: universal_ble - sha256: "35d210e93a5938c6a6d1fd3c710cf4ac90b1bdd1b11c8eb2beeb32600672e6e6" + sha256: "6a5c6c1fb295015934a5aef3dc751ae7e00721535275f8478bfe74db77b238c5" url: "https://pub.dev" source: hosted - version: "0.17.0" + version: "0.21.1" uuid: dependency: transitive description: name: uuid - sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff + sha256: a11b666489b1954e01d992f3d601b1804a33937b5a8fe677bd26b8a9f96f96e8 url: "https://pub.dev" source: hosted - version: "4.5.1" + version: "4.5.2" vector_graphics: dependency: transitive description: name: vector_graphics - sha256: "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de" + sha256: a4f059dc26fc8295b5921376600a194c4ec7d55e72f2fe4c7d2831e103d461e6 url: "https://pub.dev" source: hosted - version: "1.1.18" + version: "1.1.19" vector_graphics_codec: dependency: transitive description: @@ -616,10 +616,10 @@ packages: dependency: transitive description: name: vector_graphics_compiler - sha256: "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331" + sha256: d354a7ec6931e6047785f4db12a1f61ec3d43b207fc0790f863818543f8ff0dc url: "https://pub.dev" source: hosted - version: "1.1.17" + version: "1.1.19" vector_math: dependency: transitive description: @@ -632,10 +632,10 @@ packages: dependency: transitive description: name: vm_service - sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 + sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60" url: "https://pub.dev" source: hosted - version: "15.0.0" + version: "15.0.2" web: dependency: transitive description: @@ -648,10 +648,10 @@ packages: dependency: transitive description: name: win32 - sha256: "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba" + sha256: d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e url: "https://pub.dev" source: hosted - version: "5.13.0" + version: "5.15.0" xdg_directories: dependency: transitive description: @@ -664,10 +664,10 @@ packages: dependency: transitive description: name: xml - sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025" url: "https://pub.dev" source: hosted - version: "6.5.0" + version: "6.6.1" sdks: - dart: ">=3.8.0-0 <4.0.0" - flutter: ">=3.27.0" + dart: ">=3.9.0 <4.0.0" + flutter: ">=3.35.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 79183c00..a3e57735 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -35,7 +35,7 @@ dependencies: open_earable_flutter: path: ../ - permission_handler: ^11.3.1 + permission_handler: ^12.0.1 # The following adds the Cupertino Icons font to your application. @@ -43,12 +43,12 @@ dependencies: cupertino_icons: ^1.0.2 flutter_colorpicker: ^1.1.0 meta: ^1.16.0 - bloc: ^8.1.4 + bloc: ^9.1.0 flutter_svg: ^2.0.17 provider: ^6.1.5 - file_picker: ^8.3.7 - mcumgr_flutter: ^0.4.2 - flutter_bloc: ^8.1.6 + file_picker: ^10.3.7 + mcumgr_flutter: ^0.6.1 + flutter_bloc: ^9.1.1 dev_dependencies: flutter_test: @@ -59,7 +59,7 @@ dev_dependencies: # activated in the `analysis_options.yaml` file located at the root of your # package. See that file for information about deactivating specific lint # rules and activating additional ones. - flutter_lints: ^2.0.0 + flutter_lints: ^6.0.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec From b0a426970641b22aa7f8ca5fdd8720e1e18ba95c Mon Sep 17 00:00:00 2001 From: Dennis Moschina <45356478+DennisMoschina@users.noreply.github.com> Date: Fri, 21 Nov 2025 15:12:48 +0100 Subject: [PATCH 3/3] CHANGELOG.md: added changelog for 2.2.2 --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d5f28a63..b71a0e34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,4 +30,8 @@ README updates (example web app) and add supported platforms. ## 2.2.1 -* reintroduced support for OpenEarable on Firmware 2.1.* \ No newline at end of file +* reintroduced support for OpenEarable on Firmware 2.1.* + +## 2.2.2 + +* upgraded dependencies to newest versions \ No newline at end of file