Merge pull request #654 from Kingtous/flutter_desktop
opt&fix: main window ui & device info fix
This commit is contained in:
		
						commit
						21e5076173
					
				| @ -1,6 +1,7 @@ | ||||
| import 'dart:async'; | ||||
| 
 | ||||
| import 'package:flutter/gestures.dart'; | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'dart:async'; | ||||
| import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; | ||||
| 
 | ||||
| import 'models/model.dart'; | ||||
| @ -35,6 +36,7 @@ class MyTheme { | ||||
|   static const Color border = Color(0xFFCCCCCC); | ||||
|   static const Color idColor = Color(0xFF00B6F0); | ||||
|   static const Color darkGray = Color(0xFFB9BABC); | ||||
|   static const Color dark = Colors.black87; | ||||
| } | ||||
| 
 | ||||
| final ButtonStyle flatButtonStyle = TextButton.styleFrom( | ||||
| @ -97,9 +99,9 @@ class DialogManager { | ||||
| 
 | ||||
|   static Future<T?> show<T>(DialogBuilder builder, | ||||
|       {bool clickMaskDismiss = false, | ||||
|       bool backDismiss = false, | ||||
|       String? tag, | ||||
|       bool useAnimation = true}) async { | ||||
|         bool backDismiss = false, | ||||
|         String? tag, | ||||
|         bool useAnimation = true}) async { | ||||
|     final t; | ||||
|     if (tag != null) { | ||||
|       t = tag; | ||||
| @ -124,11 +126,10 @@ class DialogManager { | ||||
| } | ||||
| 
 | ||||
| class CustomAlertDialog extends StatelessWidget { | ||||
|   CustomAlertDialog( | ||||
|       {required this.title, | ||||
|       required this.content, | ||||
|       required this.actions, | ||||
|       this.contentPadding}); | ||||
|   CustomAlertDialog({required this.title, | ||||
|     required this.content, | ||||
|     required this.actions, | ||||
|     this.contentPadding}); | ||||
| 
 | ||||
|   final Widget title; | ||||
|   final Widget content; | ||||
| @ -141,7 +142,7 @@ class CustomAlertDialog extends StatelessWidget { | ||||
|       scrollable: true, | ||||
|       title: title, | ||||
|       contentPadding: | ||||
|           EdgeInsets.symmetric(horizontal: contentPadding ?? 25, vertical: 10), | ||||
|       EdgeInsets.symmetric(horizontal: contentPadding ?? 25, vertical: 10), | ||||
|       content: content, | ||||
|       actions: actions, | ||||
|     ); | ||||
|  | ||||
| @ -52,7 +52,11 @@ class _ConnectionPageState extends State<ConnectionPage> { | ||||
|           crossAxisAlignment: CrossAxisAlignment.center, | ||||
|           children: <Widget>[ | ||||
|             getUpdateUI(), | ||||
|             getSearchBarUI(), | ||||
|             Row( | ||||
|               children: [ | ||||
|                 getSearchBarUI(), | ||||
|               ], | ||||
|             ), | ||||
|             SizedBox(height: 12), | ||||
|             getPeers(), | ||||
|           ]), | ||||
| @ -61,9 +65,9 @@ class _ConnectionPageState extends State<ConnectionPage> { | ||||
| 
 | ||||
|   /// Callback for the connect button. | ||||
|   /// Connects to the selected peer. | ||||
|   void onConnect() { | ||||
|   void onConnect({bool isFileTransfer = false}) { | ||||
|     var id = _idController.text.trim(); | ||||
|     connect(id); | ||||
|     connect(id, isFileTransfer: isFileTransfer); | ||||
|   } | ||||
| 
 | ||||
|   /// Connect to a peer with [id]. | ||||
| @ -72,9 +76,11 @@ class _ConnectionPageState extends State<ConnectionPage> { | ||||
|     if (id == '') return; | ||||
|     id = id.replaceAll(' ', ''); | ||||
|     if (isFileTransfer) { | ||||
|       if (!await PermissionManager.check("file")) { | ||||
|         if (!await PermissionManager.request("file")) { | ||||
|           return; | ||||
|       if (!isDesktop) { | ||||
|         if (!await PermissionManager.check("file")) { | ||||
|           if (!await PermissionManager.request("file")) { | ||||
|             return; | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|       Navigator.push( | ||||
| @ -126,61 +132,100 @@ class _ConnectionPageState extends State<ConnectionPage> { | ||||
|   /// Search for a peer and connect to it if the id exists. | ||||
|   Widget getSearchBarUI() { | ||||
|     var w = Padding( | ||||
|       padding: const EdgeInsets.fromLTRB(16.0, 8.0, 16.0, 0.0), | ||||
|       padding: const EdgeInsets.fromLTRB(16.0, 16.0, 16.0, 16.0), | ||||
|       child: Container( | ||||
|         height: 84, | ||||
|         child: Padding( | ||||
|           padding: const EdgeInsets.only(top: 8, bottom: 8), | ||||
|           padding: const EdgeInsets.only(top: 16, bottom: 16), | ||||
|           child: Ink( | ||||
|             decoration: BoxDecoration( | ||||
|               color: MyTheme.white, | ||||
|               borderRadius: const BorderRadius.all(Radius.circular(13)), | ||||
|             ), | ||||
|             child: Row( | ||||
|               children: <Widget>[ | ||||
|                 Expanded( | ||||
|                   child: Container( | ||||
|                     padding: const EdgeInsets.only(left: 16, right: 16), | ||||
|                     child: TextField( | ||||
|                       autocorrect: false, | ||||
|                       enableSuggestions: false, | ||||
|                       keyboardType: TextInputType.visiblePassword, | ||||
|                       // keyboardType: TextInputType.number, | ||||
|                       style: TextStyle( | ||||
|                         fontFamily: 'WorkSans', | ||||
|                         fontWeight: FontWeight.bold, | ||||
|                         fontSize: 30, | ||||
|                         color: MyTheme.idColor, | ||||
|                       ), | ||||
|                       decoration: InputDecoration( | ||||
|                         labelText: translate('Remote ID'), | ||||
|                         // hintText: 'Enter your remote ID', | ||||
|                         border: InputBorder.none, | ||||
|                         helperStyle: TextStyle( | ||||
|                           fontWeight: FontWeight.bold, | ||||
|                           fontSize: 16, | ||||
|                           color: MyTheme.darkGray, | ||||
|                         ), | ||||
|                         labelStyle: TextStyle( | ||||
|                           fontWeight: FontWeight.w600, | ||||
|                           fontSize: 16, | ||||
|                           letterSpacing: 0.2, | ||||
|                           color: MyTheme.darkGray, | ||||
|             child: Column( | ||||
|               children: [ | ||||
|                 Row( | ||||
|                   children: <Widget>[ | ||||
|                     Expanded( | ||||
|                       child: Container( | ||||
|                         padding: const EdgeInsets.only(left: 16, right: 16), | ||||
|                         child: TextField( | ||||
|                           autocorrect: false, | ||||
|                           enableSuggestions: false, | ||||
|                           keyboardType: TextInputType.visiblePassword, | ||||
|                           // keyboardType: TextInputType.number, | ||||
|                           style: TextStyle( | ||||
|                             fontFamily: 'WorkSans', | ||||
|                             fontWeight: FontWeight.bold, | ||||
|                             fontSize: 30, | ||||
|                             // color: MyTheme.idColor, | ||||
|                           ), | ||||
|                           decoration: InputDecoration( | ||||
|                             labelText: translate('Control Remote Desktop'), | ||||
|                             // hintText: 'Enter your remote ID', | ||||
|                             // border: InputBorder., | ||||
|                             border: OutlineInputBorder( | ||||
|                                 borderRadius: BorderRadius.zero), | ||||
|                             helperStyle: TextStyle( | ||||
|                               fontWeight: FontWeight.bold, | ||||
|                               fontSize: 16, | ||||
|                               color: MyTheme.dark, | ||||
|                             ), | ||||
|                             labelStyle: TextStyle( | ||||
|                               fontWeight: FontWeight.w600, | ||||
|                               fontSize: 26, | ||||
|                               letterSpacing: 0.2, | ||||
|                               color: MyTheme.dark, | ||||
|                             ), | ||||
|                           ), | ||||
|                           controller: _idController, | ||||
|                         ), | ||||
|                       ), | ||||
|                       controller: _idController, | ||||
|                     ), | ||||
|                   ), | ||||
|                   ], | ||||
|                 ), | ||||
|                 SizedBox( | ||||
|                   width: 60, | ||||
|                   height: 60, | ||||
|                   child: IconButton( | ||||
|                     icon: Icon(Icons.arrow_forward, | ||||
|                         color: MyTheme.darkGray, size: 45), | ||||
|                     onPressed: onConnect, | ||||
|                 Padding( | ||||
|                   padding: const EdgeInsets.symmetric( | ||||
|                       vertical: 16.0, horizontal: 16.0), | ||||
|                   child: Row( | ||||
|                     mainAxisAlignment: MainAxisAlignment.end, | ||||
|                     children: [ | ||||
|                       OutlinedButton( | ||||
|                         onPressed: () { | ||||
|                           onConnect(isFileTransfer: true); | ||||
|                         }, | ||||
|                         child: Padding( | ||||
|                           padding: const EdgeInsets.symmetric( | ||||
|                               vertical: 8.0, horizontal: 8.0), | ||||
|                           child: Text( | ||||
|                             translate( | ||||
|                               "File Transfer", | ||||
|                             ), | ||||
|                             style: TextStyle(color: MyTheme.dark), | ||||
|                           ), | ||||
|                         ), | ||||
|                       ), | ||||
|                       SizedBox( | ||||
|                         width: 30, | ||||
|                       ), | ||||
|                       OutlinedButton( | ||||
|                         onPressed: onConnect, | ||||
|                         child: Padding( | ||||
|                           padding: const EdgeInsets.symmetric( | ||||
|                               vertical: 8.0, horizontal: 16.0), | ||||
|                           child: Text( | ||||
|                             translate( | ||||
|                               "Connection", | ||||
|                             ), | ||||
|                             style: TextStyle(color: MyTheme.white), | ||||
|                           ), | ||||
|                         ), | ||||
|                         style: OutlinedButton.styleFrom( | ||||
|                           backgroundColor: Colors.blueAccent, | ||||
|                         ), | ||||
|                       ), | ||||
|                     ], | ||||
|                   ), | ||||
|                 ), | ||||
|                 ) | ||||
|               ], | ||||
|             ), | ||||
|           ), | ||||
|  | ||||
| @ -78,10 +78,11 @@ class _DesktopHomePageState extends State<DesktopHomePage> { | ||||
|   buildServerBoard(BuildContext context) { | ||||
|     return Column( | ||||
|       crossAxisAlignment: CrossAxisAlignment.start, | ||||
|       mainAxisAlignment: MainAxisAlignment.start, | ||||
|       children: [ | ||||
|         // buildControlPanel(context), | ||||
|         // buildRecentSession(context), | ||||
|         ConnectionPage() | ||||
|         Expanded(child: ConnectionPage()) | ||||
|       ], | ||||
|     ); | ||||
|   } | ||||
|  | ||||
| @ -2,8 +2,8 @@ import 'package:bitsdojo_window/bitsdojo_window.dart'; | ||||
| import 'package:flutter/material.dart'; | ||||
| 
 | ||||
| const sidebarColor = Color(0xFF0C6AF6); | ||||
| const backgroundStartColor = Color(0xFF7BBCF5); | ||||
| const backgroundEndColor = Color(0xFF0CCBF6); | ||||
| const backgroundStartColor = Color(0xFF0583EA); | ||||
| const backgroundEndColor = Color(0xFF0697EA); | ||||
| 
 | ||||
| class DesktopTitleBar extends StatelessWidget { | ||||
|   final Widget? child; | ||||
|  | ||||
| @ -3,7 +3,7 @@ import 'dart:ffi'; | ||||
| import 'dart:io'; | ||||
| import 'dart:typed_data'; | ||||
| 
 | ||||
| import 'package:device_info/device_info.dart'; | ||||
| import 'package:device_info_plus/device_info_plus.dart'; | ||||
| import 'package:external_path/external_path.dart'; | ||||
| import 'package:ffi/ffi.dart'; | ||||
| import 'package:flutter/services.dart'; | ||||
| @ -101,11 +101,23 @@ class PlatformFFI { | ||||
|         AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo; | ||||
|         name = '${androidInfo.brand}-${androidInfo.model}'; | ||||
|         id = androidInfo.id.hashCode.toString(); | ||||
|         androidVersion = androidInfo.version.sdkInt; | ||||
|         androidVersion = androidInfo.version.sdkInt ?? 0; | ||||
|       } else if (Platform.isIOS) { | ||||
|         IosDeviceInfo iosInfo = await deviceInfo.iosInfo; | ||||
|         name = iosInfo.utsname.machine; | ||||
|         name = iosInfo.utsname.machine ?? ""; | ||||
|         id = iosInfo.identifierForVendor.hashCode.toString(); | ||||
|       } else if (Platform.isLinux) { | ||||
|         LinuxDeviceInfo linuxInfo = await deviceInfo.linuxInfo; | ||||
|         name = linuxInfo.name; | ||||
|         id = linuxInfo.machineId ?? linuxInfo.id; | ||||
|       } else if (Platform.isWindows) { | ||||
|         WindowsDeviceInfo winInfo = await deviceInfo.windowsInfo; | ||||
|         name = winInfo.computerName; | ||||
|         id = winInfo.computerName; | ||||
|       } else if (Platform.isMacOS) { | ||||
|         MacOsDeviceInfo macOsInfo = await deviceInfo.macOsInfo; | ||||
|         name = macOsInfo.computerName; | ||||
|         id = macOsInfo.systemGUID ?? ""; | ||||
|       } | ||||
|       print("info1-id:$id,info2-name:$name,dir:$_dir,homeDir:$_homeDir"); | ||||
|       setByName('info1', id); | ||||
|  | ||||
| @ -41,11 +41,11 @@ static void my_application_activate(GApplication* application) { | ||||
|   if (use_header_bar) { | ||||
|     GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); | ||||
|     gtk_widget_show(GTK_WIDGET(header_bar)); | ||||
|     gtk_header_bar_set_title(header_bar, "flutter_hbb"); | ||||
|     gtk_header_bar_set_title(header_bar, "rustdesk"); | ||||
|     gtk_header_bar_set_show_close_button(header_bar, TRUE); | ||||
|     gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); | ||||
|   } else { | ||||
|     gtk_window_set_title(window, "flutter_hbb"); | ||||
|     gtk_window_set_title(window, "rustdesk"); | ||||
|   } | ||||
| 
 | ||||
|   auto bdw = bitsdojo_window_from(window);            // <--- add this line
 | ||||
|  | ||||
| @ -5,231 +5,259 @@ packages: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: archive | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "3.3.0" | ||||
|   args: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: args | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.3.1" | ||||
|   async: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: async | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.8.2" | ||||
|   bitsdojo_window: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: bitsdojo_window | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.1.2" | ||||
|   bitsdojo_window_linux: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: bitsdojo_window_linux | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.1.2" | ||||
|   bitsdojo_window_macos: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: bitsdojo_window_macos | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.1.2" | ||||
|   bitsdojo_window_platform_interface: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: bitsdojo_window_platform_interface | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.1.2" | ||||
|   bitsdojo_window_windows: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: bitsdojo_window_windows | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.1.2" | ||||
|   boolean_selector: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: boolean_selector | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.1.0" | ||||
|   characters: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: characters | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.2.0" | ||||
|   charcode: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: charcode | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.3.1" | ||||
|   clock: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: clock | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.1.0" | ||||
|   collection: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: collection | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.16.0" | ||||
|   cross_file: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: cross_file | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.3.3+1" | ||||
|   crypto: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: crypto | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "3.0.2" | ||||
|   cupertino_icons: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: cupertino_icons | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.0.4" | ||||
|   dash_chat: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: dash_chat | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.1.16" | ||||
|   desktop_multi_window: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: desktop_multi_window | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.0.2" | ||||
|   device_info: | ||||
|   device_info_plus: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: device_info | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       name: device_info_plus | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.3" | ||||
|   device_info_platform_interface: | ||||
|     version: "3.2.3" | ||||
|   device_info_plus_linux: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: device_info_platform_interface | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       name: device_info_plus_linux | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.1" | ||||
|     version: "2.1.1" | ||||
|   device_info_plus_macos: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: device_info_plus_macos | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.2.3" | ||||
|   device_info_plus_platform_interface: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: device_info_plus_platform_interface | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.3.0+1" | ||||
|   device_info_plus_web: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: device_info_plus_web | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.1.0" | ||||
|   device_info_plus_windows: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: device_info_plus_windows | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.1.1" | ||||
|   draggable_float_widget: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: draggable_float_widget | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.0.2" | ||||
|   event_bus: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: event_bus | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.0" | ||||
|   external_path: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: external_path | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.0.1" | ||||
|   fake_async: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: fake_async | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.3.0" | ||||
|   ffi: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: ffi | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.2.1" | ||||
|   file: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: file | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "6.1.2" | ||||
|   firebase_analytics: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: firebase_analytics | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "9.1.9" | ||||
|   firebase_analytics_platform_interface: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: firebase_analytics_platform_interface | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "3.1.7" | ||||
|   firebase_analytics_web: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: firebase_analytics_web | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.4.0+14" | ||||
|   firebase_core: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: firebase_core | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.17.1" | ||||
|   firebase_core_platform_interface: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: firebase_core_platform_interface | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "4.4.0" | ||||
|   firebase_core_web: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: firebase_core_web | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.6.4" | ||||
|   fixnum: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: fixnum | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.0.1" | ||||
|   flutter: | ||||
| @ -241,44 +269,44 @@ packages: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: flutter_breadcrumb | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.0.1" | ||||
|   flutter_launcher_icons: | ||||
|     dependency: "direct dev" | ||||
|     description: | ||||
|       name: flutter_launcher_icons | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.9.2" | ||||
|   flutter_parsed_text: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: flutter_parsed_text | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.2.1" | ||||
|   flutter_plugin_android_lifecycle: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: flutter_plugin_android_lifecycle | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.6" | ||||
|   flutter_rust_bridge: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: flutter_rust_bridge | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.32.0" | ||||
|   flutter_smart_dialog: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: flutter_smart_dialog | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "4.3.1" | ||||
|     version: "4.3.2" | ||||
|   flutter_test: | ||||
|     dependency: "direct dev" | ||||
|     description: flutter | ||||
| @ -293,238 +321,238 @@ packages: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: http | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.13.4" | ||||
|   http_parser: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: http_parser | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "4.0.1" | ||||
|   image: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: image | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "3.2.0" | ||||
|   image_picker: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: image_picker | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.8.5+3" | ||||
|   image_picker_android: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: image_picker_android | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.8.4+13" | ||||
|   image_picker_for_web: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: image_picker_for_web | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.1.8" | ||||
|   image_picker_ios: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: image_picker_ios | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.8.5+5" | ||||
|   image_picker_platform_interface: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: image_picker_platform_interface | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.5.0" | ||||
|   intl: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: intl | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.17.0" | ||||
|   js: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: js | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.6.4" | ||||
|   matcher: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: matcher | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.12.11" | ||||
|   material_color_utilities: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: material_color_utilities | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.1.4" | ||||
|   meta: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: meta | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.7.0" | ||||
|   nested: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: nested | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.0.0" | ||||
|   package_info_plus: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: package_info_plus | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.4.2" | ||||
|   package_info_plus_linux: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: package_info_plus_linux | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.0.5" | ||||
|   package_info_plus_macos: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: package_info_plus_macos | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.3.0" | ||||
|   package_info_plus_platform_interface: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: package_info_plus_platform_interface | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.0.2" | ||||
|   package_info_plus_web: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: package_info_plus_web | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.0.5" | ||||
|   package_info_plus_windows: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: package_info_plus_windows | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.0.5" | ||||
|   path: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: path | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.8.1" | ||||
|   path_provider: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: path_provider | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.10" | ||||
|   path_provider_android: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: path_provider_android | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.14" | ||||
|   path_provider_ios: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: path_provider_ios | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.9" | ||||
|   path_provider_linux: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: path_provider_linux | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.1.7" | ||||
|   path_provider_macos: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: path_provider_macos | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.6" | ||||
|   path_provider_platform_interface: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: path_provider_platform_interface | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.4" | ||||
|   path_provider_windows: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: path_provider_windows | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.7" | ||||
|   pedantic: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: pedantic | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.11.1" | ||||
|   petitparser: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: petitparser | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "5.0.0" | ||||
|   platform: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: platform | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "3.1.0" | ||||
|   plugin_platform_interface: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: plugin_platform_interface | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.1.2" | ||||
|   process: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: process | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "4.2.4" | ||||
|   provider: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: provider | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "5.0.0" | ||||
|   qr_code_scanner: | ||||
| @ -540,70 +568,70 @@ packages: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: quiver | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "3.1.0" | ||||
|   settings_ui: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: settings_ui | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.2" | ||||
|   shared_preferences: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: shared_preferences | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.15" | ||||
|   shared_preferences_android: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: shared_preferences_android | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.12" | ||||
|   shared_preferences_ios: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: shared_preferences_ios | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.1.1" | ||||
|   shared_preferences_linux: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: shared_preferences_linux | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.1.1" | ||||
|   shared_preferences_macos: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: shared_preferences_macos | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.4" | ||||
|   shared_preferences_platform_interface: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: shared_preferences_platform_interface | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.0" | ||||
|   shared_preferences_web: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: shared_preferences_web | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.4" | ||||
|   shared_preferences_windows: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: shared_preferences_windows | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.1.1" | ||||
|   sky_engine: | ||||
| @ -615,217 +643,217 @@ packages: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: source_span | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.8.2" | ||||
|   stack_trace: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: stack_trace | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.10.0" | ||||
|   stream_channel: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: stream_channel | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.1.0" | ||||
|   string_scanner: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: string_scanner | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.1.0" | ||||
|   term_glyph: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: term_glyph | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.2.0" | ||||
|   test_api: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: test_api | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.4.9" | ||||
|   toggle_switch: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: toggle_switch | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.4.0" | ||||
|   transparent_image: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: transparent_image | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.0" | ||||
|   tuple: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: tuple | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.0" | ||||
|   typed_data: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: typed_data | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "1.3.1" | ||||
|   url_launcher: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: url_launcher | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "6.1.2" | ||||
|   url_launcher_android: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: url_launcher_android | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "6.0.17" | ||||
|   url_launcher_ios: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: url_launcher_ios | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "6.0.17" | ||||
|   url_launcher_linux: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: url_launcher_linux | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "3.0.1" | ||||
|   url_launcher_macos: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: url_launcher_macos | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "3.0.1" | ||||
|   url_launcher_platform_interface: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: url_launcher_platform_interface | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.5" | ||||
|   url_launcher_web: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: url_launcher_web | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.0.11" | ||||
|   url_launcher_windows: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: url_launcher_windows | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "3.0.1" | ||||
|   uuid: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: uuid | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "3.0.6" | ||||
|   vector_math: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: vector_math | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.1.2" | ||||
|   wakelock: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: wakelock | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.5.6" | ||||
|   wakelock_macos: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: wakelock_macos | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.4.0" | ||||
|   wakelock_platform_interface: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: wakelock_platform_interface | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.3.0" | ||||
|   wakelock_web: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: wakelock_web | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.4.0" | ||||
|   wakelock_windows: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: wakelock_windows | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.2.0" | ||||
|   win32: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: win32 | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "2.6.1" | ||||
|   window_manager: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: window_manager | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.2.3" | ||||
|   xdg_directories: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: xdg_directories | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.2.0+1" | ||||
|   xml: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: xml | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "6.1.0" | ||||
|   yaml: | ||||
|     dependency: transitive | ||||
|     description: | ||||
|       name: yaml | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "3.1.1" | ||||
|   zxing2: | ||||
|     dependency: "direct main" | ||||
|     description: | ||||
|       name: zxing2 | ||||
|       url: "https://pub.flutter-io.cn" | ||||
|       url: "https://pub.dartlang.org" | ||||
|     source: hosted | ||||
|     version: "0.1.0" | ||||
| sdks: | ||||
|  | ||||
| @ -35,7 +35,7 @@ dependencies: | ||||
|   provider: ^5.0.0 | ||||
|   tuple: ^2.0.0 | ||||
|   wakelock: ^0.5.2 | ||||
|   device_info: ^2.0.2  | ||||
|   device_info_plus: ^3.2.3 | ||||
|   firebase_analytics: ^9.1.5 | ||||
|   package_info_plus: ^1.4.2 | ||||
|   url_launcher: ^6.0.9 | ||||
|  | ||||
| @ -171,11 +171,11 @@ unsafe extern "C" fn get_by_name(name: *const c_char, arg: *const c_char) -> *co | ||||
|                 } | ||||
|             } | ||||
|             // Server Side
 | ||||
|             #[cfg(target_os = "android")] | ||||
|             #[cfg(not(any(target_os = "ios")))] | ||||
|             "clients_state" => { | ||||
|                 res = get_clients_state(); | ||||
|             } | ||||
|             #[cfg(target_os = "android")] | ||||
|             #[cfg(not(any(target_os = "ios")))] | ||||
|             "check_clients_length" => { | ||||
|                 if let Ok(value) = arg.to_str() { | ||||
|                     if value.parse::<usize>().unwrap_or(usize::MAX) != get_clients_length() { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user