| 
									
										
										
										
											2020-11-06 18:04:04 +08:00
										 |  |  | import 'package:flutter/material.dart'; | 
					
						
							| 
									
										
										
										
											2022-04-19 13:07:45 +08:00
										 |  |  | import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; | 
					
						
							| 
									
										
										
										
											2020-11-15 20:04:05 +08:00
										 |  |  | import 'package:provider/provider.dart'; | 
					
						
							| 
									
										
										
										
											2020-11-29 14:00:59 +08:00
										 |  |  | import 'package:firebase_analytics/firebase_analytics.dart'; | 
					
						
							|  |  |  | import 'package:firebase_core/firebase_core.dart'; | 
					
						
							| 
									
										
										
										
											2022-03-07 22:54:34 +08:00
										 |  |  | import 'common.dart'; | 
					
						
							| 
									
										
										
										
											2022-02-28 18:29:25 +08:00
										 |  |  | import 'models/model.dart'; | 
					
						
							|  |  |  | import 'pages/home_page.dart'; | 
					
						
							|  |  |  | import 'pages/server_page.dart'; | 
					
						
							| 
									
										
										
										
											2022-03-28 15:44:45 +08:00
										 |  |  | import 'pages/settings_page.dart'; | 
					
						
							| 
									
										
										
										
											2022-02-02 17:25:56 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-29 14:00:59 +08:00
										 |  |  | Future<Null> main() async { | 
					
						
							|  |  |  |   WidgetsFlutterBinding.ensureInitialized(); | 
					
						
							| 
									
										
										
										
											2022-04-17 00:44:05 +08:00
										 |  |  |   var a = FFI.ffiModel.init(); | 
					
						
							|  |  |  |   var b = Firebase.initializeApp(); | 
					
						
							|  |  |  |   await a; | 
					
						
							|  |  |  |   await b; | 
					
						
							|  |  |  |   refreshCurrentUser(); | 
					
						
							| 
									
										
										
										
											2022-02-02 17:25:56 +08:00
										 |  |  |   toAndroidChannelInit(); | 
					
						
							| 
									
										
										
										
											2020-11-16 01:13:26 +08:00
										 |  |  |   runApp(App()); | 
					
						
							| 
									
										
										
										
											2020-11-06 18:04:04 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 01:13:26 +08:00
										 |  |  | class App extends StatelessWidget { | 
					
						
							| 
									
										
										
										
											2020-11-06 18:04:04 +08:00
										 |  |  |   @override | 
					
						
							|  |  |  |   Widget build(BuildContext context) { | 
					
						
							| 
									
										
										
										
											2022-04-14 11:00:24 +08:00
										 |  |  |     final analytics = FirebaseAnalytics.instance; | 
					
						
							| 
									
										
										
										
											2022-03-24 17:58:33 +08:00
										 |  |  |     return MultiProvider( | 
					
						
							| 
									
										
										
										
											2022-03-25 16:34:27 +08:00
										 |  |  |       providers: [ | 
					
						
							|  |  |  |         ChangeNotifierProvider.value(value: FFI.ffiModel), | 
					
						
							|  |  |  |         ChangeNotifierProvider.value(value: FFI.imageModel), | 
					
						
							|  |  |  |         ChangeNotifierProvider.value(value: FFI.cursorModel), | 
					
						
							|  |  |  |         ChangeNotifierProvider.value(value: FFI.canvasModel), | 
					
						
							|  |  |  |       ], | 
					
						
							| 
									
										
										
										
											2022-01-23 13:59:57 +08:00
										 |  |  |       child: MaterialApp( | 
					
						
							| 
									
										
										
										
											2022-04-20 19:00:05 +08:00
										 |  |  |           navigatorKey: globalKey, | 
					
						
							|  |  |  |           debugShowCheckedModeBanner: false, | 
					
						
							|  |  |  |           title: 'RustDesk', | 
					
						
							|  |  |  |           theme: ThemeData( | 
					
						
							|  |  |  |             primarySwatch: Colors.blue, | 
					
						
							|  |  |  |             visualDensity: VisualDensity.adaptivePlatformDensity, | 
					
						
							|  |  |  |           ), | 
					
						
							|  |  |  |           home: !isAndroid ? WebHomePage() : HomePage(), | 
					
						
							|  |  |  |           navigatorObservers: [ | 
					
						
							|  |  |  |             FirebaseAnalyticsObserver(analytics: analytics), | 
					
						
							|  |  |  |             FlutterSmartDialog.observer | 
					
						
							|  |  |  |           ], | 
					
						
							|  |  |  |           builder: FlutterSmartDialog.init( | 
					
						
							|  |  |  |               builder: isAndroid | 
					
						
							|  |  |  |                   ? (_, child) => AccessibilityListener( | 
					
						
							|  |  |  |                         child: child, | 
					
						
							|  |  |  |                       ) | 
					
						
							|  |  |  |                   : null)), | 
					
						
							| 
									
										
										
										
											2022-01-23 13:59:57 +08:00
										 |  |  |     ); | 
					
						
							| 
									
										
										
										
											2020-11-06 18:04:04 +08:00
										 |  |  |   } | 
					
						
							|  |  |  | } |