getCpuData function
Implementation
CpuData getCpuData({
bool isThrowOnError = false,
}) {
try {
if (Dart.isAndroid) {
final Map cpuData = {
"@type": "cpuData",
"name": "",
};
final String cpuInfo = File("/proc/cpuinfo").readAsStringSync();
final int cores = cpuInfo
.split("\n")
.where((line) => line.startsWith("processor"))
.length;
String cpu = "unknown";
cpu = cpuInfo
.split("\n")
.lastWhere((line) => line.startsWith("Hardware"))
.split(": ")[1]
.split("@")[0];
cpuData["name"] = "${cpu} (${cores})";
return CpuData(cpuData);
}
if (Dart.isLinux) {
final Map cpuData = {
"@type": "cpuData",
"name": "",
};
final String cpuInfo = File("/proc/cpuinfo").readAsStringSync();
int cores = cpuInfo
.split("\n")
.where((line) => line.startsWith("processor"))
.length;
String cpu = cpuInfo
.split("\n")
.firstWhere((line) => line.startsWith("model name"))
.split(": ")[1]
.split("@")[0];
cpu = cpu.replaceAll("(R)", "");
cpu = cpu.replaceAll("Core(TM)", "");
cpu = cpu.replaceAll("CPU", "");
cpu = cpu.trim();
cpuData["name"] = "${cpu} (${cores})";
// cpuData.printPretty();
return CpuData(cpuData);
}
} catch (e) {
if (isThrowOnError) {
rethrow;
}
}
return CpuData({});
}