collect method

  1. @override
Future<Map<String, dynamic>> collect()
override

Override this instead of getData to implement the actual data collection.

Implementation

@override
Future<Map<String, dynamic>> collect() async {
  final pkg = _packageInfo ?? await PackageInfo.fromPlatform();

  // Connectivity may return multiple active interfaces on some platforms.
  final interfaces = await _interfaces();

  // Battery level may throw on some platforms; handled in _batteryLevel().
  final batteryLevel = await _batteryLevel();

  return <String, dynamic>{
    'appName': pkg.appName,
    'packageName': pkg.packageName,
    'version': pkg.version,
    'buildNumber': pkg.buildNumber,
    'buildSignature': pkg.buildSignature,
    'installerStore': pkg.installerStore,
    'network': {
      'interfaces': interfaces,
    },
    'battery': {
      'level': batteryLevel,
    },
    if (_additional != null) ..._additional(),
  };
}