collect method
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;
}