getSimplifyDeviceInfo method

Future<SimplifyDeviceInfo> getSimplifyDeviceInfo()

Implementation

Future<SimplifyDeviceInfo> getSimplifyDeviceInfo() async {
  final deviceInfoPlugin = DeviceInfoPlugin();
  try {
    if (kIsWeb) {
      return _readWebBrowserInfo(await deviceInfoPlugin.webBrowserInfo);
    } else {
      return switch (defaultTargetPlatform) {
        TargetPlatform.android =>
          _readAndroidBuildData(await deviceInfoPlugin.androidInfo),
        TargetPlatform.iOS =>
          _readIosDeviceInfo(await deviceInfoPlugin.iosInfo),
        TargetPlatform.linux =>
          _readLinuxDeviceInfo(await deviceInfoPlugin.linuxInfo),
        TargetPlatform.windows =>
          _readWindowsDeviceInfo(await deviceInfoPlugin.windowsInfo),
        TargetPlatform.macOS =>
          _readMacOsDeviceInfo(await deviceInfoPlugin.macOsInfo),
        TargetPlatform.fuchsia => SimplifyDeviceInfo(
            model: 'Fuchsia platform isn\'t supported',
            osversion: 'Fuchsia platform isn\'t supported',
            identifier: 'Fuchsia platform isn\'t supported',
          ),
      };
    }
  } catch (e, stackTrace) {
    log('''e: $e,
stackTrace: $stackTrace''');
    return SimplifyDeviceInfo(
      model: 'unkown',
      osversion: 'unkown',
      identifier: 'unkown',
    );
  }
}