Compare commits
	
		
			4 Commits
		
	
	
		
			d07b194c04
			...
			596d212593
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 596d212593 | |||
| 54f290327e | |||
| 16f248ceab | |||
| 856d811187 | 
| @@ -169,12 +169,12 @@ class IslandApp extends HookConsumerWidget { | |||||||
|     final theme = ref.watch(themeProvider); |     final theme = ref.watch(themeProvider); | ||||||
|  |  | ||||||
|     void handleMessage(RemoteMessage notification) { |     void handleMessage(RemoteMessage notification) { | ||||||
|       if (notification.data['action_uri'] != null) { |       if (notification.data['meta']?['action_uri'] != null) { | ||||||
|         var uri = notification.data['action_uri'] as String; |         var uri = notification.data['meta']['action_uri'] as String; | ||||||
|         if (uri.startsWith('/')) { |         if (uri.startsWith('/')) { | ||||||
|           // In-app routes |           // In-app routes | ||||||
|           final router = ref.read(routerProvider); |           final router = ref.read(routerProvider); | ||||||
|           router.go(notification.data['action_uri']); |           router.push(notification.data['meta']['action_uri']); | ||||||
|         } else { |         } else { | ||||||
|           // External links |           // External links | ||||||
|           launchUrlString(uri); |           launchUrlString(uri); | ||||||
| @@ -186,27 +186,6 @@ class IslandApp extends HookConsumerWidget { | |||||||
|       if (!kIsWeb && Platform.isLinux) { |       if (!kIsWeb && Platform.isLinux) { | ||||||
|         return null; |         return null; | ||||||
|       } |       } | ||||||
|       const channel = MethodChannel('dev.solsynth.solian/notifications'); |  | ||||||
|  |  | ||||||
|       Future<void> handleInitialLink() async { |  | ||||||
|         final String? link = await channel.invokeMethod('initialLink'); |  | ||||||
|         if (link != null) { |  | ||||||
|           final router = ref.read(routerProvider); |  | ||||||
|           router.go(link); |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       if (!kIsWeb && Platform.isAndroid) { |  | ||||||
|         handleInitialLink(); |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       channel.setMethodCallHandler((call) async { |  | ||||||
|         if (call.method == 'newLink') { |  | ||||||
|           final String link = call.arguments; |  | ||||||
|           final router = ref.read(routerProvider); |  | ||||||
|           router.go(link); |  | ||||||
|         } |  | ||||||
|       }); |  | ||||||
|  |  | ||||||
|       // When the app is opened from a terminated state. |       // When the app is opened from a terminated state. | ||||||
|       FirebaseMessaging.instance.getInitialMessage().then((message) { |       FirebaseMessaging.instance.getInitialMessage().then((message) { | ||||||
|   | |||||||
| @@ -44,7 +44,7 @@ class AccountName extends StatelessWidget { | |||||||
|           VerificationMark(mark: account.profile.verification!), |           VerificationMark(mark: account.profile.verification!), | ||||||
|         if (account.automatedId != null) |         if (account.automatedId != null) | ||||||
|           Tooltip( |           Tooltip( | ||||||
|             message: 'automatedAccount'.tr(), |             message: 'accountAutomated'.tr(), | ||||||
|             child: Icon( |             child: Icon( | ||||||
|               Symbols.smart_toy, |               Symbols.smart_toy, | ||||||
|               size: 16, |               size: 16, | ||||||
|   | |||||||
| @@ -1,9 +1,12 @@ | |||||||
| import 'dart:convert'; | import 'dart:convert'; | ||||||
|  | import 'dart:io'; | ||||||
| import 'dart:math' as math; | import 'dart:math' as math; | ||||||
| import 'dart:ui'; | import 'dart:ui'; | ||||||
|  |  | ||||||
| import 'package:dismissible_page/dismissible_page.dart'; | import 'package:dismissible_page/dismissible_page.dart'; | ||||||
| import 'package:easy_localization/easy_localization.dart'; | import 'package:easy_localization/easy_localization.dart'; | ||||||
|  | import 'package:file_saver/file_saver.dart'; | ||||||
|  | import 'package:flutter/foundation.dart'; | ||||||
| import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||||
| import 'package:flutter/services.dart'; | import 'package:flutter/services.dart'; | ||||||
| import 'package:flutter_blurhash/flutter_blurhash.dart'; | import 'package:flutter_blurhash/flutter_blurhash.dart'; | ||||||
| @@ -321,7 +324,7 @@ class CloudFileZoomIn extends HookConsumerWidget { | |||||||
|     Future<void> saveToGallery() async { |     Future<void> saveToGallery() async { | ||||||
|       try { |       try { | ||||||
|         // Show loading indicator |         // Show loading indicator | ||||||
|         showSnackBar('Saving image to gallery...'); |         showSnackBar('Saving image...'); | ||||||
|  |  | ||||||
|         // Get the image URL |         // Get the image URL | ||||||
|         final client = ref.watch(apiClientProvider); |         final client = ref.watch(apiClientProvider); | ||||||
| @@ -339,10 +342,18 @@ class CloudFileZoomIn extends HookConsumerWidget { | |||||||
|           filePath, |           filePath, | ||||||
|           queryParameters: {'original': true}, |           queryParameters: {'original': true}, | ||||||
|         ); |         ); | ||||||
|  |         if (!kIsWeb && (Platform.isAndroid || Platform.isIOS)) { | ||||||
|  |           // Save to gallery | ||||||
|           await Gal.putImage(filePath, album: 'Solar Network'); |           await Gal.putImage(filePath, album: 'Solar Network'); | ||||||
|  |  | ||||||
|           // Show success message |           // Show success message | ||||||
|           showSnackBar('Image saved to gallery'); |           showSnackBar('Image saved to gallery'); | ||||||
|  |         } else { | ||||||
|  |           await FileSaver.instance.saveFile( | ||||||
|  |             name: item.name.isEmpty ? '${item.id}.$extName' : item.name, | ||||||
|  |             file: File(filePath), | ||||||
|  |           ); | ||||||
|  |           showSnackBar('Image saved to $filePath'); | ||||||
|  |         } | ||||||
|       } catch (e) { |       } catch (e) { | ||||||
|         showErrorAlert(e); |         showErrorAlert(e); | ||||||
|       } |       } | ||||||
| @@ -437,7 +448,24 @@ class CloudFileZoomIn extends HookConsumerWidget { | |||||||
|                     ).padding(horizontal: 24, vertical: 16), |                     ).padding(horizontal: 24, vertical: 16), | ||||||
|                     const Divider(height: 1), |                     const Divider(height: 1), | ||||||
|                     ListTile( |                     ListTile( | ||||||
|                       leading: const Icon(Icons.file_present), |                       leading: const Icon(Symbols.tag), | ||||||
|  |                       title: Text('ID').tr(), | ||||||
|  |                       subtitle: Text( | ||||||
|  |                         item.id, | ||||||
|  |                         maxLines: 1, | ||||||
|  |                         overflow: TextOverflow.ellipsis, | ||||||
|  |                       ), | ||||||
|  |                       contentPadding: EdgeInsets.symmetric(horizontal: 24), | ||||||
|  |                       trailing: IconButton( | ||||||
|  |                         icon: const Icon(Icons.copy), | ||||||
|  |                         onPressed: () { | ||||||
|  |                           Clipboard.setData(ClipboardData(text: item.id)); | ||||||
|  |                           showSnackBar('File ID copied to clipboard'); | ||||||
|  |                         }, | ||||||
|  |                       ), | ||||||
|  |                     ), | ||||||
|  |                     ListTile( | ||||||
|  |                       leading: const Icon(Symbols.file_present), | ||||||
|                       title: Text('Name').tr(), |                       title: Text('Name').tr(), | ||||||
|                       subtitle: Text( |                       subtitle: Text( | ||||||
|                         item.name, |                         item.name, | ||||||
| @@ -623,6 +651,10 @@ class CloudFileZoomIn extends HookConsumerWidget { | |||||||
|       ); |       ); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     final shadow = [ | ||||||
|  |       Shadow(color: Colors.black54, blurRadius: 5.0, offset: Offset(1.0, 1.0)), | ||||||
|  |     ]; | ||||||
|  |  | ||||||
|     return DismissiblePage( |     return DismissiblePage( | ||||||
|       isFullScreen: true, |       isFullScreen: true, | ||||||
|       backgroundColor: Colors.transparent, |       backgroundColor: Colors.transparent, | ||||||
| @@ -660,17 +692,12 @@ class CloudFileZoomIn extends HookConsumerWidget { | |||||||
|               children: [ |               children: [ | ||||||
|                 Row( |                 Row( | ||||||
|                   children: [ |                   children: [ | ||||||
|  |                     if (!kIsWeb) | ||||||
|                       IconButton( |                       IconButton( | ||||||
|                         icon: Icon( |                         icon: Icon( | ||||||
|                           Icons.save_alt, |                           Icons.save_alt, | ||||||
|                           color: Colors.white, |                           color: Colors.white, | ||||||
|                         shadows: [ |                           shadows: shadow, | ||||||
|                           Shadow( |  | ||||||
|                             color: Colors.black54, |  | ||||||
|                             blurRadius: 5.0, |  | ||||||
|                             offset: Offset(1.0, 1.0), |  | ||||||
|                           ), |  | ||||||
|                         ], |  | ||||||
|                         ), |                         ), | ||||||
|                         onPressed: () async { |                         onPressed: () async { | ||||||
|                           saveToGallery(); |                           saveToGallery(); | ||||||
| @@ -683,29 +710,13 @@ class CloudFileZoomIn extends HookConsumerWidget { | |||||||
|                       icon: Icon( |                       icon: Icon( | ||||||
|                         showOriginal.value ? Symbols.hd : Symbols.sd, |                         showOriginal.value ? Symbols.hd : Symbols.sd, | ||||||
|                         color: Colors.white, |                         color: Colors.white, | ||||||
|                         shadows: [ |                         shadows: shadow, | ||||||
|                           Shadow( |  | ||||||
|                             color: Colors.black54, |  | ||||||
|                             blurRadius: 5.0, |  | ||||||
|                             offset: Offset(1.0, 1.0), |  | ||||||
|                           ), |  | ||||||
|                         ], |  | ||||||
|                       ), |                       ), | ||||||
|                     ), |                     ), | ||||||
|                   ], |                   ], | ||||||
|                 ), |                 ), | ||||||
|                 IconButton( |                 IconButton( | ||||||
|                   icon: Icon( |                   icon: Icon(Icons.close, color: Colors.white, shadows: shadow), | ||||||
|                     Icons.close, |  | ||||||
|                     color: Colors.white, |  | ||||||
|                     shadows: [ |  | ||||||
|                       Shadow( |  | ||||||
|                         color: Colors.black54, |  | ||||||
|                         blurRadius: 5.0, |  | ||||||
|                         offset: Offset(1.0, 1.0), |  | ||||||
|                       ), |  | ||||||
|                     ], |  | ||||||
|                   ), |  | ||||||
|                   onPressed: () => Navigator.of(context).pop(), |                   onPressed: () => Navigator.of(context).pop(), | ||||||
|                 ), |                 ), | ||||||
|               ], |               ], | ||||||
| @@ -722,26 +733,24 @@ class CloudFileZoomIn extends HookConsumerWidget { | |||||||
|                   icon: Icon( |                   icon: Icon( | ||||||
|                     Icons.info_outline, |                     Icons.info_outline, | ||||||
|                     color: Colors.white, |                     color: Colors.white, | ||||||
|                     shadows: [ |                     shadows: shadow, | ||||||
|                       Shadow( |  | ||||||
|                         color: Colors.black54, |  | ||||||
|                         blurRadius: 5.0, |  | ||||||
|                         offset: Offset(1.0, 1.0), |  | ||||||
|                       ), |  | ||||||
|                     ], |  | ||||||
|                   ), |                   ), | ||||||
|                   onPressed: showInfoSheet, |                   onPressed: showInfoSheet, | ||||||
|                 ), |                 ), | ||||||
|                 Spacer(), |                 Spacer(), | ||||||
|                 IconButton( |                 IconButton( | ||||||
|                   icon: Icon(Icons.remove, color: Colors.white), |                   icon: Icon( | ||||||
|  |                     Icons.remove, | ||||||
|  |                     color: Colors.white, | ||||||
|  |                     shadows: shadow, | ||||||
|  |                   ), | ||||||
|                   onPressed: () { |                   onPressed: () { | ||||||
|                     photoViewController.scale = |                     photoViewController.scale = | ||||||
|                         (photoViewController.scale ?? 1) - 0.05; |                         (photoViewController.scale ?? 1) - 0.05; | ||||||
|                   }, |                   }, | ||||||
|                 ), |                 ), | ||||||
|                 IconButton( |                 IconButton( | ||||||
|                   icon: Icon(Icons.add, color: Colors.white), |                   icon: Icon(Icons.add, color: Colors.white, shadows: shadow), | ||||||
|                   onPressed: () { |                   onPressed: () { | ||||||
|                     photoViewController.scale = |                     photoViewController.scale = | ||||||
|                         (photoViewController.scale ?? 1) + 0.05; |                         (photoViewController.scale ?? 1) + 0.05; | ||||||
| @@ -752,13 +761,7 @@ class CloudFileZoomIn extends HookConsumerWidget { | |||||||
|                   icon: Icon( |                   icon: Icon( | ||||||
|                     Icons.rotate_left, |                     Icons.rotate_left, | ||||||
|                     color: Colors.white, |                     color: Colors.white, | ||||||
|                     shadows: [ |                     shadows: shadow, | ||||||
|                       Shadow( |  | ||||||
|                         color: Colors.black54, |  | ||||||
|                         blurRadius: 5.0, |  | ||||||
|                         offset: Offset(1.0, 1.0), |  | ||||||
|                       ), |  | ||||||
|                     ], |  | ||||||
|                   ), |                   ), | ||||||
|                   onPressed: () { |                   onPressed: () { | ||||||
|                     rotation.value = (rotation.value - 1) % 4; |                     rotation.value = (rotation.value - 1) % 4; | ||||||
|   | |||||||
| @@ -7,6 +7,7 @@ | |||||||
| #include "generated_plugin_registrant.h" | #include "generated_plugin_registrant.h" | ||||||
|  |  | ||||||
| #include <bitsdojo_window_linux/bitsdojo_window_plugin.h> | #include <bitsdojo_window_linux/bitsdojo_window_plugin.h> | ||||||
|  | #include <file_saver/file_saver_plugin.h> | ||||||
| #include <file_selector_linux/file_selector_plugin.h> | #include <file_selector_linux/file_selector_plugin.h> | ||||||
| #include <flutter_platform_alert/flutter_platform_alert_plugin.h> | #include <flutter_platform_alert/flutter_platform_alert_plugin.h> | ||||||
| #include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h> | #include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h> | ||||||
| @@ -28,6 +29,9 @@ void fl_register_plugins(FlPluginRegistry* registry) { | |||||||
|   g_autoptr(FlPluginRegistrar) bitsdojo_window_linux_registrar = |   g_autoptr(FlPluginRegistrar) bitsdojo_window_linux_registrar = | ||||||
|       fl_plugin_registry_get_registrar_for_plugin(registry, "BitsdojoWindowPlugin"); |       fl_plugin_registry_get_registrar_for_plugin(registry, "BitsdojoWindowPlugin"); | ||||||
|   bitsdojo_window_plugin_register_with_registrar(bitsdojo_window_linux_registrar); |   bitsdojo_window_plugin_register_with_registrar(bitsdojo_window_linux_registrar); | ||||||
|  |   g_autoptr(FlPluginRegistrar) file_saver_registrar = | ||||||
|  |       fl_plugin_registry_get_registrar_for_plugin(registry, "FileSaverPlugin"); | ||||||
|  |   file_saver_plugin_register_with_registrar(file_saver_registrar); | ||||||
|   g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = |   g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = | ||||||
|       fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); |       fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); | ||||||
|   file_selector_plugin_register_with_registrar(file_selector_linux_registrar); |   file_selector_plugin_register_with_registrar(file_selector_linux_registrar); | ||||||
|   | |||||||
| @@ -4,6 +4,7 @@ | |||||||
|  |  | ||||||
| list(APPEND FLUTTER_PLUGIN_LIST | list(APPEND FLUTTER_PLUGIN_LIST | ||||||
|   bitsdojo_window_linux |   bitsdojo_window_linux | ||||||
|  |   file_saver | ||||||
|   file_selector_linux |   file_selector_linux | ||||||
|   flutter_platform_alert |   flutter_platform_alert | ||||||
|   flutter_secure_storage_linux |   flutter_secure_storage_linux | ||||||
|   | |||||||
| @@ -9,6 +9,7 @@ import bitsdojo_window_macos | |||||||
| import connectivity_plus | import connectivity_plus | ||||||
| import device_info_plus | import device_info_plus | ||||||
| import file_picker | import file_picker | ||||||
|  | import file_saver | ||||||
| import file_selector_macos | import file_selector_macos | ||||||
| import firebase_analytics | import firebase_analytics | ||||||
| import firebase_core | import firebase_core | ||||||
| @@ -45,6 +46,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { | |||||||
|   ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin")) |   ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin")) | ||||||
|   DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) |   DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) | ||||||
|   FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin")) |   FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin")) | ||||||
|  |   FileSaverPlugin.register(with: registry.registrar(forPlugin: "FileSaverPlugin")) | ||||||
|   FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) |   FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) | ||||||
|   FirebaseAnalyticsPlugin.register(with: registry.registrar(forPlugin: "FirebaseAnalyticsPlugin")) |   FirebaseAnalyticsPlugin.register(with: registry.registrar(forPlugin: "FirebaseAnalyticsPlugin")) | ||||||
|   FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin")) |   FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin")) | ||||||
|   | |||||||
| @@ -9,6 +9,8 @@ PODS: | |||||||
|     - FlutterMacOS |     - FlutterMacOS | ||||||
|   - file_picker (0.0.1): |   - file_picker (0.0.1): | ||||||
|     - FlutterMacOS |     - FlutterMacOS | ||||||
|  |   - file_saver (0.0.1): | ||||||
|  |     - FlutterMacOS | ||||||
|   - file_selector_macos (0.0.1): |   - file_selector_macos (0.0.1): | ||||||
|     - FlutterMacOS |     - FlutterMacOS | ||||||
|   - Firebase/CoreOnly (12.0.0): |   - Firebase/CoreOnly (12.0.0): | ||||||
| @@ -249,6 +251,7 @@ DEPENDENCIES: | |||||||
|   - croppy (from `Flutter/ephemeral/.symlinks/plugins/croppy/macos`) |   - croppy (from `Flutter/ephemeral/.symlinks/plugins/croppy/macos`) | ||||||
|   - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`) |   - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`) | ||||||
|   - file_picker (from `Flutter/ephemeral/.symlinks/plugins/file_picker/macos`) |   - file_picker (from `Flutter/ephemeral/.symlinks/plugins/file_picker/macos`) | ||||||
|  |   - file_saver (from `Flutter/ephemeral/.symlinks/plugins/file_saver/macos`) | ||||||
|   - file_selector_macos (from `Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos`) |   - file_selector_macos (from `Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos`) | ||||||
|   - firebase_analytics (from `Flutter/ephemeral/.symlinks/plugins/firebase_analytics/macos`) |   - firebase_analytics (from `Flutter/ephemeral/.symlinks/plugins/firebase_analytics/macos`) | ||||||
|   - firebase_core (from `Flutter/ephemeral/.symlinks/plugins/firebase_core/macos`) |   - firebase_core (from `Flutter/ephemeral/.symlinks/plugins/firebase_core/macos`) | ||||||
| @@ -315,6 +318,8 @@ EXTERNAL SOURCES: | |||||||
|     :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos |     :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos | ||||||
|   file_picker: |   file_picker: | ||||||
|     :path: Flutter/ephemeral/.symlinks/plugins/file_picker/macos |     :path: Flutter/ephemeral/.symlinks/plugins/file_picker/macos | ||||||
|  |   file_saver: | ||||||
|  |     :path: Flutter/ephemeral/.symlinks/plugins/file_saver/macos | ||||||
|   file_selector_macos: |   file_selector_macos: | ||||||
|     :path: Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos |     :path: Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos | ||||||
|   firebase_analytics: |   firebase_analytics: | ||||||
| @@ -384,6 +389,7 @@ SPEC CHECKSUMS: | |||||||
|   croppy: d9bfc8c02f3cd1851f669a421df298a474b78f43 |   croppy: d9bfc8c02f3cd1851f669a421df298a474b78f43 | ||||||
|   device_info_plus: 4fb280989f669696856f8b129e4a5e3cd6c48f76 |   device_info_plus: 4fb280989f669696856f8b129e4a5e3cd6c48f76 | ||||||
|   file_picker: 7584aae6fa07a041af2b36a2655122d42f578c1a |   file_picker: 7584aae6fa07a041af2b36a2655122d42f578c1a | ||||||
|  |   file_saver: e35bd97de451dde55ff8c38862ed7ad0f3418d0f | ||||||
|   file_selector_macos: 6280b52b459ae6c590af5d78fc35c7267a3c4b31 |   file_selector_macos: 6280b52b459ae6c590af5d78fc35c7267a3c4b31 | ||||||
|   Firebase: 800d487043c0557d9faed71477a38d9aafb08a41 |   Firebase: 800d487043c0557d9faed71477a38d9aafb08a41 | ||||||
|   firebase_analytics: 53f0dc87ad10f56a6df8746da60d8a5fe41f886f |   firebase_analytics: 53f0dc87ad10f56a6df8746da60d8a5fe41f886f | ||||||
|   | |||||||
							
								
								
									
										20
									
								
								pubspec.lock
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								pubspec.lock
									
									
									
									
									
								
							| @@ -569,6 +569,14 @@ packages: | |||||||
|       url: "https://pub.dev" |       url: "https://pub.dev" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "10.3.2" |     version: "10.3.2" | ||||||
|  |   file_saver: | ||||||
|  |     dependency: "direct main" | ||||||
|  |     description: | ||||||
|  |       name: file_saver | ||||||
|  |       sha256: "9d93db09bd4da9e43238f9dd485360fc51a5c138eea5ef5f407ec56e58079ac0" | ||||||
|  |       url: "https://pub.dev" | ||||||
|  |     source: hosted | ||||||
|  |     version: "0.3.1" | ||||||
|   file_selector_linux: |   file_selector_linux: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
| @@ -1921,10 +1929,10 @@ packages: | |||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: record_ios |       name: record_ios | ||||||
|       sha256: "895c9467faec72d8e718a3142b51114958f42f18053836a8b484a74f9372f51a" |       sha256: "13e241ed9cbc220534a40ae6b66222e21288db364d96dd66fb762ebd3cb77c71" | ||||||
|       url: "https://pub.dev" |       url: "https://pub.dev" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.1.1" |     version: "1.1.2" | ||||||
|   record_linux: |   record_linux: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
| @@ -2041,10 +2049,10 @@ packages: | |||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: screen_brightness_android |       name: screen_brightness_android | ||||||
|       sha256: fb5fa43cb89d0c9b8534556c427db1e97e46594ac5d66ebdcf16063b773d54ed |       sha256: d34f5321abd03bc3474f4c381f53d189117eba0b039eac1916aa92cca5fd0a96 | ||||||
|       url: "https://pub.dev" |       url: "https://pub.dev" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "2.1.2" |     version: "2.1.3" | ||||||
|   screen_brightness_platform_interface: |   screen_brightness_platform_interface: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
| @@ -2640,10 +2648,10 @@ packages: | |||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: watcher |       name: watcher | ||||||
|       sha256: "0b7fd4a0bbc4b92641dbf20adfd7e3fd1398fe17102d94b674234563e110088a" |       sha256: "5bf046f41320ac97a469d506261797f35254fa61c641741ef32dacda98b7d39c" | ||||||
|       url: "https://pub.dev" |       url: "https://pub.dev" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.1.2" |     version: "1.1.3" | ||||||
|   waveform_flutter: |   waveform_flutter: | ||||||
|     dependency: "direct main" |     dependency: "direct main" | ||||||
|     description: |     description: | ||||||
|   | |||||||
| @@ -8,6 +8,7 @@ | |||||||
|  |  | ||||||
| #include <bitsdojo_window_windows/bitsdojo_window_plugin.h> | #include <bitsdojo_window_windows/bitsdojo_window_plugin.h> | ||||||
| #include <connectivity_plus/connectivity_plus_windows_plugin.h> | #include <connectivity_plus/connectivity_plus_windows_plugin.h> | ||||||
|  | #include <file_saver/file_saver_plugin.h> | ||||||
| #include <file_selector_windows/file_selector_windows.h> | #include <file_selector_windows/file_selector_windows.h> | ||||||
| #include <firebase_core/firebase_core_plugin_c_api.h> | #include <firebase_core/firebase_core_plugin_c_api.h> | ||||||
| #include <flutter_inappwebview_windows/flutter_inappwebview_windows_plugin_c_api.h> | #include <flutter_inappwebview_windows/flutter_inappwebview_windows_plugin_c_api.h> | ||||||
| @@ -35,6 +36,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { | |||||||
|       registry->GetRegistrarForPlugin("BitsdojoWindowPlugin")); |       registry->GetRegistrarForPlugin("BitsdojoWindowPlugin")); | ||||||
|   ConnectivityPlusWindowsPluginRegisterWithRegistrar( |   ConnectivityPlusWindowsPluginRegisterWithRegistrar( | ||||||
|       registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); |       registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); | ||||||
|  |   FileSaverPluginRegisterWithRegistrar( | ||||||
|  |       registry->GetRegistrarForPlugin("FileSaverPlugin")); | ||||||
|   FileSelectorWindowsRegisterWithRegistrar( |   FileSelectorWindowsRegisterWithRegistrar( | ||||||
|       registry->GetRegistrarForPlugin("FileSelectorWindows")); |       registry->GetRegistrarForPlugin("FileSelectorWindows")); | ||||||
|   FirebaseCorePluginCApiRegisterWithRegistrar( |   FirebaseCorePluginCApiRegisterWithRegistrar( | ||||||
|   | |||||||
| @@ -5,6 +5,7 @@ | |||||||
| list(APPEND FLUTTER_PLUGIN_LIST | list(APPEND FLUTTER_PLUGIN_LIST | ||||||
|   bitsdojo_window_windows |   bitsdojo_window_windows | ||||||
|   connectivity_plus |   connectivity_plus | ||||||
|  |   file_saver | ||||||
|   file_selector_windows |   file_selector_windows | ||||||
|   firebase_core |   firebase_core | ||||||
|   flutter_inappwebview_windows |   flutter_inappwebview_windows | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user