readHistoryStatic static method
Implementation
static Future<List<Map<String, dynamic>>> readHistoryStatic(
String devId) async {
try {
final dir = await getApplicationDocumentsDirectory();
final file = File('${dir.path}/reputation_$devId.txt');
if (!await file.exists()) return [];
List<String> lines = await file.readAsLines();
if (lines.isEmpty) return [];
return lines.map((line) {
var parts = line.split(',');
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();
} catch (e) {
if (kDebugMode) {
print("Error reading history: $e");
}
return [];
}
}