| 
									
										
										
										
											2023-12-28 20:39:18 +08:00
										 |  |  | import 'dart:io'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import 'package:device_info_plus/device_info_plus.dart'; | 
					
						
							| 
									
										
										
										
											2024-01-10 17:42:33 +07:00
										 |  |  | import 'package:package_info_plus/package_info_plus.dart'; | 
					
						
							| 
									
										
										
										
											2023-12-28 20:39:18 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | import '../startup.dart'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-10 17:42:33 +07:00
										 |  |  | class DeviceOrApplicationInfoTask extends LaunchTask { | 
					
						
							|  |  |  |   const DeviceOrApplicationInfoTask(); | 
					
						
							| 
									
										
										
										
											2023-12-28 20:39:18 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   static int androidSDKVersion = -1; | 
					
						
							| 
									
										
										
										
											2024-01-10 17:42:33 +07:00
										 |  |  |   static String applicationVersion = ''; | 
					
						
							|  |  |  |   static String buildNumber = ''; | 
					
						
							| 
									
										
										
										
											2023-12-28 20:39:18 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   @override | 
					
						
							|  |  |  |   Future<void> initialize(LaunchContext context) async { | 
					
						
							| 
									
										
										
										
											2024-01-11 13:26:25 +07:00
										 |  |  |     final DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin(); | 
					
						
							|  |  |  |     final PackageInfo packageInfo = await PackageInfo.fromPlatform(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if (Platform.isAndroid) { | 
					
						
							|  |  |  |       final androidInfo = await deviceInfoPlugin.androidInfo; | 
					
						
							|  |  |  |       androidSDKVersion = androidInfo.version.sdkInt; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if (Platform.isAndroid || Platform.isIOS) { | 
					
						
							|  |  |  |       applicationVersion = packageInfo.version; | 
					
						
							|  |  |  |       buildNumber = packageInfo.buildNumber; | 
					
						
							| 
									
										
										
										
											2024-01-10 17:42:33 +07:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2023-12-28 20:39:18 +08:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @override | 
					
						
							|  |  |  |   Future<void> dispose() async {} | 
					
						
							|  |  |  | } |