readHistory method
Implementation
Future<List<Map<String, dynamic>>> readHistory() async {
final file = File(filePath);
if (!await file.exists()) {
hasHistory = false;
return [];
}
List<String> lines = await file.readAsLines();
if (lines.isEmpty) {
hasHistory = false;
return [];
}
return lines.map((line) {
var parts = line.split(',');
if (kDebugMode) {
print("📝 Linha lida: $line");
}
return {
'timestamp': parts[0],
'battery': double.tryParse(parts[1]) ?? 0.0,
'storage': double.tryParse(parts[2]) ?? 0.0,
'successfulInteractions': int.tryParse(parts[3]) ?? 0,
'totalInteractions': int.tryParse(parts[4]) ?? 0,
'requestedPackets': int.tryParse(parts[5]) ?? 0,
'deliveredPackets': int.tryParse(parts[6]) ?? 0,
'avgLatency': double.tryParse(parts[7]) ?? 0.0,
'diversity': int.tryParse(parts[8]) ?? 0,
'daysSinceLastInteraction': int.tryParse(parts[9]) ?? 0,
'reputation': double.tryParse(parts[10]) ?? 0.0,
'canCooperate': parts[11].trim().toLowerCase() == 'true',
'hasHistory': parts.length > 12
? parts[12].trim().toLowerCase() == 'true'
: false,
};
}).toList();
}