From da79f797071fb716d3ff3c82e726272c3ec20a3c Mon Sep 17 00:00:00 2001 From: Ashim Date: Sun, 24 May 2026 16:58:16 +0530 Subject: [PATCH] chore: Update dependencies and update registry access methods for Windows --- example/pubspec.lock | 94 +++++++++++---------- example/pubspec.yaml | 6 +- lib/src/app_auto_launcher_impl_windows.dart | 40 +++++---- pubspec.yaml | 4 +- 4 files changed, 75 insertions(+), 69 deletions(-) diff --git a/example/pubspec.lock b/example/pubspec.lock index da2561d..97802ee 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -45,10 +45,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" cli_util: dependency: transitive description: @@ -93,26 +93,34 @@ packages: dependency: "direct main" description: name: cupertino_icons - sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d + sha256: "41e005c33bd814be4d3096aff55b1908d419fde52ca656c8c47719ec745873cd" url: "https://pub.dev" source: hosted - version: "1.0.6" + version: "1.0.9" fake_async: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.3" ffi: dependency: transitive description: name: ffi - sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" + sha256: "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.0" + ffi_leak_tracker: + dependency: transitive + description: + name: ffi_leak_tracker + sha256: "4093d4ef9ca06ffe2786e73bfb25e22aa92112b9bb4ec941f11e3e6b61489a97" + url: "https://pub.dev" + source: hosted + version: "0.1.2" flutter: dependency: "direct main" description: flutter @@ -132,18 +140,18 @@ packages: dependency: transitive description: name: get_it - sha256: d85128a5dae4ea777324730dc65edd9c9f43155c109d5cc0a69cab74139fbac1 + sha256: "568d62f0e68666fb5d95519743b3c24a34c7f19d834b0658c46e26d778461f66" url: "https://pub.dev" source: hosted - version: "7.7.0" + version: "9.2.1" http: dependency: transitive description: name: http - sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" + sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.6.0" http_parser: dependency: transitive description: @@ -166,31 +174,31 @@ packages: path: ".." relative: true source: path - version: "0.4.0" + version: "0.5.1" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" lints: dependency: transitive description: @@ -203,26 +211,26 @@ packages: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.19" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.18.0" mostly_reasonable_lints: dependency: "direct dev" description: @@ -235,10 +243,10 @@ packages: dependency: "direct dev" description: name: msix - sha256: "519b183d15dc9f9c594f247e2d2339d855cf0eaacc30e19b128e14f3ecc62047" + sha256: b6b08e7a7b5d1845f2b1d31216d5b1fb558e98251efefe54eb79ed00d27bc2ac url: "https://pub.dev" source: hosted - version: "3.16.7" + version: "3.16.13" package_config: dependency: transitive description: @@ -251,18 +259,18 @@ packages: dependency: "direct main" description: name: package_info_plus - sha256: b93d8b4d624b4ea19b0a5a208b2d6eff06004bc3ce74c06040b120eeadd00ce0 + sha256: "4bf625947f6c7713ee242296a682e23e44823c09cf9d79e4f1238923c92db852" url: "https://pub.dev" source: hosted - version: "8.0.0" + version: "10.1.0" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: f49918f3433a3146047372f9d4f1f847511f2acd5cd030e1f44fe5a50036b70e + sha256: db762cb2f4f25ee60fb6359773861b0f199e00b90d237bd85a76a1e806b46ef4 url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.1.0" path: dependency: transitive description: @@ -352,10 +360,10 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "949a932224383300f01be9221c39180316445ecb8e7547f70a41a35bf421fb9e" url: "https://pub.dev" source: hosted - version: "0.7.4" + version: "0.7.11" typed_data: dependency: transitive description: @@ -368,10 +376,10 @@ packages: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.0" vm_service: dependency: transitive description: @@ -384,26 +392,26 @@ packages: dependency: transitive description: name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "1.1.1" win32: dependency: transitive description: name: win32 - sha256: b89e6e24d1454e149ab20fbb225af58660f0c0bf4475544650700d8e2da54aef + sha256: ba6f4bba816c8d7e3c1580e170f3786d216951cc6b94babc3b814c08d2cb2738 url: "https://pub.dev" source: hosted - version: "5.11.0" + version: "6.3.0" win32_registry: dependency: transitive description: name: win32_registry - sha256: "6f1b564492d0147b330dd794fee8f512cec4977957f310f9951b5f9d83618dae" + sha256: "73b1d78920a9d6e03f8b4e43e612b87bf3152a0e5c5e5150267762b7c4116904" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "3.0.3" xml: dependency: transitive description: @@ -421,5 +429,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.7.0 <4.0.0" - flutter: ">=3.19.0" + dart: ">=3.10.0 <4.0.0" + flutter: ">=3.38.1" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index efb5ab0..32aee5d 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -7,19 +7,19 @@ environment: dependencies: bot_toast: ^4.1.3 - cupertino_icons: ^1.0.2 + cupertino_icons: ^1.0.9 flutter: sdk: flutter launch_at_startup: path: ../ - package_info_plus: ^8.0.0 + package_info_plus: ^10.1.0 preference_list: ^0.0.2 dev_dependencies: flutter_test: sdk: flutter mostly_reasonable_lints: ^0.1.2 - msix: ^3.16.7 + msix: ^3.16.13 flutter: uses-material-design: true diff --git a/lib/src/app_auto_launcher_impl_windows.dart b/lib/src/app_auto_launcher_impl_windows.dart index a803fcb..97528e7 100644 --- a/lib/src/app_auto_launcher_impl_windows.dart +++ b/lib/src/app_auto_launcher_impl_windows.dart @@ -23,42 +23,40 @@ class AppAutoLauncherImplWindows extends AppAutoLauncher { late String _registryValue; - RegistryKey get _regKey => Registry.openPath( - RegistryHive.currentUser, - path: r'Software\Microsoft\Windows\CurrentVersion\Run', - desiredAccessRights: AccessRights.allAccess, - ); - - RegistryKey get _startupApprovedRegKey => Registry.openPath( - RegistryHive.currentUser, - path: - r'Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run', - desiredAccessRights: AccessRights.allAccess, - ); + RegistryKey get _regKey => CURRENT_USER.open( + r'Software\Microsoft\Windows\CurrentVersion\Run', + config: const RegistryOpenConfig(access: RegistryAccess.all), + ); + + RegistryKey get _startupApprovedRegKey => CURRENT_USER.open( + r'Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run', + config: const RegistryOpenConfig(access: RegistryAccess.all), + ); static const int _startupApprovedRegKeyBytesLength = 12; @override Future isEnabled() async { - String? value = _regKey.getStringValue(appName); + String? value = _regKey.getString(appName); return value == _registryValue && await _isStartupApproved(); } @override Future enable() async { - _regKey.createValue( - RegistryValue.string( - appName, - _registryValue, - ), + _regKey.setValue( + appName, + RegistryValue.string(_registryValue), ); final bytes = Uint8List(_startupApprovedRegKeyBytesLength); // "2" as a first byte in this register means that the autostart is enabled bytes[0] = 2; - _startupApprovedRegKey.createValue(RegistryValue.binary(appName, bytes)); + _startupApprovedRegKey.setValue( + appName, + RegistryValue.binary(bytes), + ); return true; } @@ -74,7 +72,7 @@ class AppAutoLauncherImplWindows extends AppAutoLauncher { // Odd first byte will prevent the app from autostarting // Empty or any other value will allow the app to autostart Future _isStartupApproved() async { - final value = _startupApprovedRegKey.getBinaryValue(appName); + final value = _startupApprovedRegKey.getBinary(appName); if (value == null) { return true; @@ -89,7 +87,7 @@ class AppAutoLauncherImplWindows extends AppAutoLauncher { void _removeValue(RegistryKey key, String value) { if (key.getValue(value) != null) { - key.deleteValue(value); + key.removeValue(value); } } } diff --git a/pubspec.yaml b/pubspec.yaml index a7e9f36..c1bc6c0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -18,10 +18,10 @@ environment: dependencies: flutter: sdk: flutter - win32_registry: ^2.0.0 + win32_registry: ^3.0.3 dev_dependencies: - dependency_validator: ^3.0.0 + dependency_validator: ^5.0.5 # flutter_test: # sdk: flutter mostly_reasonable_lints: ^0.1.2