collect method

List<EvidenceItem> collect(
  1. String? flutterVersion,
  2. String? dartVersion,
  3. String? channel,
  4. String? javaVersion,
  5. String? androidSdkPath,
  6. String? agpVersion,
  7. String? gradleVersion,
  8. String? kotlinVersion,
  9. int? compileSdk,
  10. int? targetSdk,
  11. int? minSdk,
)

Builds evidence items from toolchain and environment info.

Implementation

List<EvidenceItem> collect(
  String? flutterVersion,
  String? dartVersion,
  String? channel,
  String? javaVersion,
  String? androidSdkPath,
  String? agpVersion,
  String? gradleVersion,
  String? kotlinVersion,
  int? compileSdk,
  int? targetSdk,
  int? minSdk,
) {
  final items = <EvidenceItem>[];

  void add(EvidenceSource src, EvidenceType type, String? value) {
    if (value != null && value.isNotEmpty) {
      items.add(EvidenceItem(
        source: src,
        type: type,
        value: value,
        reliability: EvidenceReliability.high,
      ));
    }
  }

  add(EvidenceSource.flutterVersion, EvidenceType.version, flutterVersion);
  add(EvidenceSource.dartVersion, EvidenceType.version, dartVersion);
  add(EvidenceSource.flutterVersion, EvidenceType.config, channel);
  add(EvidenceSource.java, EvidenceType.version, javaVersion);
  add(EvidenceSource.agp, EvidenceType.version, agpVersion);
  add(EvidenceSource.gradle, EvidenceType.version, gradleVersion);
  add(EvidenceSource.kotlin, EvidenceType.version, kotlinVersion);
  if (androidSdkPath != null) {
    items.add(EvidenceItem(
      source: EvidenceSource.agp,
      type: EvidenceType.filePath,
      value: androidSdkPath,
      reliability: EvidenceReliability.high,
    ));
  }
  if (compileSdk != null) {
    add(EvidenceSource.compileSdk, EvidenceType.config,
        compileSdk.toString());
  }
  if (targetSdk != null) {
    add(EvidenceSource.targetSdk, EvidenceType.config, targetSdk.toString());
  }
  if (minSdk != null) {
    add(EvidenceSource.minSdk, EvidenceType.config, minSdk.toString());
  }

  return items;
}