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 09:44:33 +08:00
|
|
|
// Can't get the device info from test environment
|
|
|
|
if (!context.env.isTest) {
|
|
|
|
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 {}
|
|
|
|
}
|