mirror of
				https://github.com/hackku21/nearby_connections.git
				synced 2025-06-13 12:53:50 +00:00 
			
		
		
		
	Update example to demonstrate transfer to multiple connections (#26)
The example app now will send data to all the connected endpoints.
This commit is contained in:
		
							parent
							
								
									f35a484334
								
							
						
					
					
						commit
						c2adf90962
					
				| @ -35,11 +35,11 @@ class Body extends StatefulWidget { | |||||||
| class _MyBodyState extends State<Body> { | class _MyBodyState extends State<Body> { | ||||||
|   final String userName = Random().nextInt(10000).toString(); |   final String userName = Random().nextInt(10000).toString(); | ||||||
|   final Strategy strategy = Strategy.P2P_STAR; |   final Strategy strategy = Strategy.P2P_STAR; | ||||||
|  |   Map<String, ConnectionInfo> endpointMap = Map(); | ||||||
| 
 | 
 | ||||||
|   String cId = "0"; //currently connected device ID |  | ||||||
|   File tempFile; //reference to the file currently being transferred |   File tempFile; //reference to the file currently being transferred | ||||||
|   Map<int, String> map = |   Map<int, String> map = | ||||||
|       Map(); //store filename mapped to corresponding payloadId |   Map(); //store filename mapped to corresponding payloadId | ||||||
| 
 | 
 | ||||||
|   @override |   @override | ||||||
|   Widget build(BuildContext context) { |   Widget build(BuildContext context) { | ||||||
| @ -62,7 +62,7 @@ class _MyBodyState extends State<Body> { | |||||||
|                     } else { |                     } else { | ||||||
|                       Scaffold.of(context).showSnackBar(SnackBar( |                       Scaffold.of(context).showSnackBar(SnackBar( | ||||||
|                           content: |                           content: | ||||||
|                               Text("Location permissions not granted :("))); |                           Text("Location permissions not granted :("))); | ||||||
|                     } |                     } | ||||||
|                   }, |                   }, | ||||||
|                 ), |                 ), | ||||||
| @ -75,7 +75,7 @@ class _MyBodyState extends State<Body> { | |||||||
|                     } else { |                     } else { | ||||||
|                       Scaffold.of(context).showSnackBar(SnackBar( |                       Scaffold.of(context).showSnackBar(SnackBar( | ||||||
|                           content: |                           content: | ||||||
|                               Text("Location permissions not granted :("))); |                           Text("Location permissions not granted :("))); | ||||||
|                     } |                     } | ||||||
|                   }, |                   }, | ||||||
|                 ), |                 ), | ||||||
| @ -85,7 +85,7 @@ class _MyBodyState extends State<Body> { | |||||||
|                     if (await Nearby().checkExternalStoragePermission()) { |                     if (await Nearby().checkExternalStoragePermission()) { | ||||||
|                       Scaffold.of(context).showSnackBar(SnackBar( |                       Scaffold.of(context).showSnackBar(SnackBar( | ||||||
|                           content: |                           content: | ||||||
|                               Text("External Storage permissions granted :)"))); |                           Text("External Storage permissions granted :)"))); | ||||||
|                     } else { |                     } else { | ||||||
|                       Scaffold.of(context).showSnackBar(SnackBar( |                       Scaffold.of(context).showSnackBar(SnackBar( | ||||||
|                           content: Text( |                           content: Text( | ||||||
| @ -126,7 +126,7 @@ class _MyBodyState extends State<Body> { | |||||||
|                     } else { |                     } else { | ||||||
|                       Scaffold.of(context).showSnackBar(SnackBar( |                       Scaffold.of(context).showSnackBar(SnackBar( | ||||||
|                           content: |                           content: | ||||||
|                               Text("Enabling Location Service Failed :("))); |                           Text("Enabling Location Service Failed :("))); | ||||||
|                     } |                     } | ||||||
|                   }, |                   }, | ||||||
|                 ), |                 ), | ||||||
| @ -148,7 +148,10 @@ class _MyBodyState extends State<Body> { | |||||||
|                           showSnackbar(status); |                           showSnackbar(status); | ||||||
|                         }, |                         }, | ||||||
|                         onDisconnected: (id) { |                         onDisconnected: (id) { | ||||||
|                           showSnackbar("Disconnected: " + id); |                           showSnackbar("Disconnected: ${endpointMap[id].endpointName}, id $id"); | ||||||
|  |                           setState(() { | ||||||
|  |                             endpointMap.remove(id); | ||||||
|  |                           }); | ||||||
|                         }, |                         }, | ||||||
|                       ); |                       ); | ||||||
|                       showSnackbar("ADVERTISING: " + a.toString()); |                       showSnackbar("ADVERTISING: " + a.toString()); | ||||||
| @ -199,7 +202,10 @@ class _MyBodyState extends State<Body> { | |||||||
|                                             showSnackbar(status); |                                             showSnackbar(status); | ||||||
|                                           }, |                                           }, | ||||||
|                                           onDisconnected: (id) { |                                           onDisconnected: (id) { | ||||||
|                                             showSnackbar(id); |                                             setState(() { | ||||||
|  |                                               endpointMap.remove(id); | ||||||
|  |                                             }); | ||||||
|  |                                             showSnackbar("Disconnected from: ${endpointMap[id].endpointName}, id $id"); | ||||||
|                                           }, |                                           }, | ||||||
|                                         ); |                                         ); | ||||||
|                                       }, |                                       }, | ||||||
| @ -211,7 +217,7 @@ class _MyBodyState extends State<Body> { | |||||||
|                           ); |                           ); | ||||||
|                         }, |                         }, | ||||||
|                         onEndpointLost: (id) { |                         onEndpointLost: (id) { | ||||||
|                           showSnackbar("Lost Endpoint:" + id); |                           showSnackbar("Lost discovered Endpoint: ${endpointMap[id].endpointName}, id $id"); | ||||||
|                         }, |                         }, | ||||||
|                       ); |                       ); | ||||||
|                       showSnackbar("DISCOVERING: " + a.toString()); |                       showSnackbar("DISCOVERING: " + a.toString()); | ||||||
| @ -228,10 +234,14 @@ class _MyBodyState extends State<Body> { | |||||||
|                 ), |                 ), | ||||||
|               ], |               ], | ||||||
|             ), |             ), | ||||||
|  |             Text("Number of connected devices: ${endpointMap.length}"), | ||||||
|             RaisedButton( |             RaisedButton( | ||||||
|               child: Text("Stop All Endpoints"), |               child: Text("Stop All Endpoints"), | ||||||
|               onPressed: () async { |               onPressed: () async { | ||||||
|                 await Nearby().stopAllEndpoints(); |                 await Nearby().stopAllEndpoints(); | ||||||
|  |                 setState(() { | ||||||
|  |                   endpointMap.clear(); | ||||||
|  |                 }); | ||||||
|               }, |               }, | ||||||
|             ), |             ), | ||||||
|             Divider(), |             Divider(), | ||||||
| @ -241,25 +251,30 @@ class _MyBodyState extends State<Body> { | |||||||
|             RaisedButton( |             RaisedButton( | ||||||
|               child: Text("Send Random Bytes Payload"), |               child: Text("Send Random Bytes Payload"), | ||||||
|               onPressed: () async { |               onPressed: () async { | ||||||
|                 String a = Random().nextInt(100).toString(); |                 endpointMap.forEach((key, value) { | ||||||
|                 showSnackbar("Sending $a to $cId"); |                   String a = Random().nextInt(100).toString(); | ||||||
|                 Nearby().sendBytesPayload(cId, Uint8List.fromList(a.codeUnits)); | 
 | ||||||
|  |                   showSnackbar("Sending $a to ${value.endpointName}, id: $key"); | ||||||
|  |                   Nearby().sendBytesPayload(key, Uint8List.fromList(a.codeUnits)); | ||||||
|  |                 }); | ||||||
|               }, |               }, | ||||||
|             ), |             ), | ||||||
|             RaisedButton( |             RaisedButton( | ||||||
|               child: Text("Send File Payload"), |               child: Text("Send File Payload"), | ||||||
|               onPressed: () async { |               onPressed: () async { | ||||||
|                 File file = |                 File file = | ||||||
|                     await ImagePicker.pickImage(source: ImageSource.gallery); |                 await ImagePicker.pickImage(source: ImageSource.gallery); | ||||||
| 
 | 
 | ||||||
|                 if (file == null) return; |                 if (file == null) return; | ||||||
| 
 | 
 | ||||||
|                 int payloadId = await Nearby().sendFilePayload(cId, file.path); |                 for(MapEntry<String, ConnectionInfo> m in endpointMap.entries){ | ||||||
|                 showSnackbar("Sending file to $cId"); |                   int payloadId = await Nearby().sendFilePayload(m.key, file.path); | ||||||
|                 Nearby().sendBytesPayload( |                   showSnackbar("Sending file to ${m.key}"); | ||||||
|                     cId, |                   Nearby().sendBytesPayload( | ||||||
|                     Uint8List.fromList( |                       m.key, | ||||||
|                         "$payloadId:${file.path.split('/').last}".codeUnits)); |                       Uint8List.fromList( | ||||||
|  |                           "$payloadId:${file.path.split('/').last}".codeUnits)); | ||||||
|  |                 } | ||||||
|               }, |               }, | ||||||
|             ), |             ), | ||||||
|           ], |           ], | ||||||
| @ -269,7 +284,7 @@ class _MyBodyState extends State<Body> { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   void showSnackbar(dynamic a) { |   void showSnackbar(dynamic a) { | ||||||
|     Scaffold.of(context).showSnackBar(SnackBar( |     ScaffoldMessenger.of(context).showSnackBar(SnackBar( | ||||||
|       content: Text(a.toString()), |       content: Text(a.toString()), | ||||||
|     )); |     )); | ||||||
|   } |   } | ||||||
| @ -291,7 +306,9 @@ class _MyBodyState extends State<Body> { | |||||||
|                 child: Text("Accept Connection"), |                 child: Text("Accept Connection"), | ||||||
|                 onPressed: () { |                 onPressed: () { | ||||||
|                   Navigator.pop(context); |                   Navigator.pop(context); | ||||||
|                   cId = id; |                   setState(() { | ||||||
|  |                     endpointMap[id] = info; | ||||||
|  |                   }); | ||||||
|                   Nearby().acceptConnection( |                   Nearby().acceptConnection( | ||||||
|                     id, |                     id, | ||||||
|                     onPayLoadRecieved: (endid, payload) async { |                     onPayLoadRecieved: (endid, payload) async { | ||||||
| @ -310,7 +327,7 @@ class _MyBodyState extends State<Body> { | |||||||
|                               tempFile.rename( |                               tempFile.rename( | ||||||
|                                   tempFile.parent.path + "/" + fileName); |                                   tempFile.parent.path + "/" + fileName); | ||||||
|                             } else { |                             } else { | ||||||
|                               showSnackbar("File doesnt exist"); |                               showSnackbar("File doesn't exist"); | ||||||
|                             } |                             } | ||||||
|                           } else { |                           } else { | ||||||
|                             //add to map if not already |                             //add to map if not already | ||||||
| @ -333,7 +350,7 @@ class _MyBodyState extends State<Body> { | |||||||
|                       } else if (payloadTransferUpdate.status == |                       } else if (payloadTransferUpdate.status == | ||||||
|                           PayloadStatus.SUCCESS) { |                           PayloadStatus.SUCCESS) { | ||||||
|                         showSnackbar( |                         showSnackbar( | ||||||
|                             "success, total bytes = ${payloadTransferUpdate.totalBytes}"); |                             "$endid success, total bytes = ${payloadTransferUpdate.totalBytes}"); | ||||||
| 
 | 
 | ||||||
|                         if (map.containsKey(payloadTransferUpdate.id)) { |                         if (map.containsKey(payloadTransferUpdate.id)) { | ||||||
|                           //rename the file now |                           //rename the file now | ||||||
|  | |||||||
| @ -7,87 +7,115 @@ packages: | |||||||
|       name: async |       name: async | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "2.4.2" |     version: "2.5.0-nullsafety.3" | ||||||
|   boolean_selector: |   boolean_selector: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: boolean_selector |       name: boolean_selector | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "2.0.0" |     version: "2.1.0-nullsafety.3" | ||||||
|   characters: |   characters: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: characters |       name: characters | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.0.0" |     version: "1.1.0-nullsafety.5" | ||||||
|   charcode: |   charcode: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: charcode |       name: charcode | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.1.3" |     version: "1.2.0-nullsafety.3" | ||||||
|   clock: |   clock: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: clock |       name: clock | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.0.1" |     version: "1.1.0-nullsafety.3" | ||||||
|   collection: |   collection: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: collection |       name: collection | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.14.13" |     version: "1.15.0-nullsafety.5" | ||||||
|   cupertino_icons: |   cupertino_icons: | ||||||
|     dependency: "direct main" |     dependency: "direct main" | ||||||
|     description: |     description: | ||||||
|       name: cupertino_icons |       name: cupertino_icons | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "0.1.2" |     version: "0.1.3" | ||||||
|   fake_async: |   fake_async: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: fake_async |       name: fake_async | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.1.0" |     version: "1.2.0-nullsafety.3" | ||||||
|   flutter: |   flutter: | ||||||
|     dependency: "direct main" |     dependency: "direct main" | ||||||
|     description: flutter |     description: flutter | ||||||
|     source: sdk |     source: sdk | ||||||
|     version: "0.0.0" |     version: "0.0.0" | ||||||
|  |   flutter_plugin_android_lifecycle: | ||||||
|  |     dependency: transitive | ||||||
|  |     description: | ||||||
|  |       name: flutter_plugin_android_lifecycle | ||||||
|  |       url: "https://pub.dartlang.org" | ||||||
|  |     source: hosted | ||||||
|  |     version: "1.0.11" | ||||||
|   flutter_test: |   flutter_test: | ||||||
|     dependency: "direct dev" |     dependency: "direct dev" | ||||||
|     description: flutter |     description: flutter | ||||||
|     source: sdk |     source: sdk | ||||||
|     version: "0.0.0" |     version: "0.0.0" | ||||||
|  |   http: | ||||||
|  |     dependency: transitive | ||||||
|  |     description: | ||||||
|  |       name: http | ||||||
|  |       url: "https://pub.dartlang.org" | ||||||
|  |     source: hosted | ||||||
|  |     version: "0.12.2" | ||||||
|  |   http_parser: | ||||||
|  |     dependency: transitive | ||||||
|  |     description: | ||||||
|  |       name: http_parser | ||||||
|  |       url: "https://pub.dartlang.org" | ||||||
|  |     source: hosted | ||||||
|  |     version: "3.1.4" | ||||||
|   image_picker: |   image_picker: | ||||||
|     dependency: "direct main" |     dependency: "direct main" | ||||||
|     description: |     description: | ||||||
|       name: image_picker |       name: image_picker | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "0.6.1+2" |     version: "0.6.7+21" | ||||||
|  |   image_picker_platform_interface: | ||||||
|  |     dependency: transitive | ||||||
|  |     description: | ||||||
|  |       name: image_picker_platform_interface | ||||||
|  |       url: "https://pub.dartlang.org" | ||||||
|  |     source: hosted | ||||||
|  |     version: "1.1.1" | ||||||
|   matcher: |   matcher: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: matcher |       name: matcher | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "0.12.8" |     version: "0.12.10-nullsafety.3" | ||||||
|   meta: |   meta: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: meta |       name: meta | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.1.8" |     version: "1.3.0-nullsafety.6" | ||||||
|   nearby_connections: |   nearby_connections: | ||||||
|     dependency: "direct dev" |     dependency: "direct dev" | ||||||
|     description: |     description: | ||||||
| @ -101,7 +129,21 @@ packages: | |||||||
|       name: path |       name: path | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.7.0" |     version: "1.8.0-nullsafety.3" | ||||||
|  |   pedantic: | ||||||
|  |     dependency: transitive | ||||||
|  |     description: | ||||||
|  |       name: pedantic | ||||||
|  |       url: "https://pub.dartlang.org" | ||||||
|  |     source: hosted | ||||||
|  |     version: "1.9.2" | ||||||
|  |   plugin_platform_interface: | ||||||
|  |     dependency: transitive | ||||||
|  |     description: | ||||||
|  |       name: plugin_platform_interface | ||||||
|  |       url: "https://pub.dartlang.org" | ||||||
|  |     source: hosted | ||||||
|  |     version: "1.0.3" | ||||||
|   sky_engine: |   sky_engine: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: flutter |     description: flutter | ||||||
| @ -113,56 +155,56 @@ packages: | |||||||
|       name: source_span |       name: source_span | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.7.0" |     version: "1.8.0-nullsafety.4" | ||||||
|   stack_trace: |   stack_trace: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: stack_trace |       name: stack_trace | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.9.5" |     version: "1.10.0-nullsafety.6" | ||||||
|   stream_channel: |   stream_channel: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: stream_channel |       name: stream_channel | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "2.0.0" |     version: "2.1.0-nullsafety.3" | ||||||
|   string_scanner: |   string_scanner: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: string_scanner |       name: string_scanner | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.0.5" |     version: "1.1.0-nullsafety.3" | ||||||
|   term_glyph: |   term_glyph: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: term_glyph |       name: term_glyph | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.1.0" |     version: "1.2.0-nullsafety.3" | ||||||
|   test_api: |   test_api: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: test_api |       name: test_api | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "0.2.17" |     version: "0.2.19-nullsafety.6" | ||||||
|   typed_data: |   typed_data: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: typed_data |       name: typed_data | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.2.0" |     version: "1.3.0-nullsafety.5" | ||||||
|   vector_math: |   vector_math: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: vector_math |       name: vector_math | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "2.0.8" |     version: "2.1.0-nullsafety.5" | ||||||
| sdks: | sdks: | ||||||
|   dart: ">=2.9.0-14.0.dev <3.0.0" |   dart: ">=2.12.0-0.0 <3.0.0" | ||||||
|   flutter: ">=1.20.0 <2.0.0" |   flutter: ">=1.20.0 <2.0.0" | ||||||
|  | |||||||
							
								
								
									
										38
									
								
								pubspec.lock
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								pubspec.lock
									
									
									
									
									
								
							| @ -7,49 +7,49 @@ packages: | |||||||
|       name: async |       name: async | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "2.4.2" |     version: "2.5.0-nullsafety.3" | ||||||
|   boolean_selector: |   boolean_selector: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: boolean_selector |       name: boolean_selector | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "2.0.0" |     version: "2.1.0-nullsafety.3" | ||||||
|   characters: |   characters: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: characters |       name: characters | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.0.0" |     version: "1.1.0-nullsafety.5" | ||||||
|   charcode: |   charcode: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: charcode |       name: charcode | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.1.3" |     version: "1.2.0-nullsafety.3" | ||||||
|   clock: |   clock: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: clock |       name: clock | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.0.1" |     version: "1.1.0-nullsafety.3" | ||||||
|   collection: |   collection: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: collection |       name: collection | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.14.13" |     version: "1.15.0-nullsafety.5" | ||||||
|   fake_async: |   fake_async: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: fake_async |       name: fake_async | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.1.0" |     version: "1.2.0-nullsafety.3" | ||||||
|   flutter: |   flutter: | ||||||
|     dependency: "direct main" |     dependency: "direct main" | ||||||
|     description: flutter |     description: flutter | ||||||
| @ -66,21 +66,21 @@ packages: | |||||||
|       name: matcher |       name: matcher | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "0.12.8" |     version: "0.12.10-nullsafety.3" | ||||||
|   meta: |   meta: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: meta |       name: meta | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.1.8" |     version: "1.3.0-nullsafety.6" | ||||||
|   path: |   path: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: path |       name: path | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.7.0" |     version: "1.8.0-nullsafety.3" | ||||||
|   sky_engine: |   sky_engine: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: flutter |     description: flutter | ||||||
| @ -92,56 +92,56 @@ packages: | |||||||
|       name: source_span |       name: source_span | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.7.0" |     version: "1.8.0-nullsafety.4" | ||||||
|   stack_trace: |   stack_trace: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: stack_trace |       name: stack_trace | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.9.5" |     version: "1.10.0-nullsafety.6" | ||||||
|   stream_channel: |   stream_channel: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: stream_channel |       name: stream_channel | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "2.0.0" |     version: "2.1.0-nullsafety.3" | ||||||
|   string_scanner: |   string_scanner: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: string_scanner |       name: string_scanner | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.0.5" |     version: "1.1.0-nullsafety.3" | ||||||
|   term_glyph: |   term_glyph: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: term_glyph |       name: term_glyph | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.1.0" |     version: "1.2.0-nullsafety.3" | ||||||
|   test_api: |   test_api: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: test_api |       name: test_api | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "0.2.17" |     version: "0.2.19-nullsafety.6" | ||||||
|   typed_data: |   typed_data: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: typed_data |       name: typed_data | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.2.0" |     version: "1.3.0-nullsafety.5" | ||||||
|   vector_math: |   vector_math: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: vector_math |       name: vector_math | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "2.0.8" |     version: "2.1.0-nullsafety.5" | ||||||
| sdks: | sdks: | ||||||
|   dart: ">=2.9.0-14.0.dev <3.0.0" |   dart: ">=2.12.0-0.0 <3.0.0" | ||||||
|   flutter: ">=1.20.0 <2.0.0" |   flutter: ">=1.20.0 <2.0.0" | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user