deviceStatus static method
Implementation
static Future<Map<String, String>> deviceStatus() async {
final connectivityResults = await Connectivity().checkConnectivity();
var battery = Battery();
var returnVal = <String, String>{
'device_status[network_cell_connected]':
connectivityResults.contains(ConnectivityResult.mobile).toString(),
'device_status[network_wifi_connected]':
connectivityResults.contains(ConnectivityResult.wifi).toString(),
};
try {
returnVal.addAll(<String, String>{
'device_status[battery_charging]':
((await battery.onBatteryStateChanged.first) !=
BatteryState.discharging)
.toString(),
'device_status[battery_level]': (await battery.batteryLevel).toString(),
});
} catch (err) {
print(err);
}
try {
final diskSpacePlus = DiskSpacePlus();
final freeMb = await diskSpacePlus.getFreeDiskSpace;
final totalMb = await diskSpacePlus.getTotalDiskSpace;
if (freeMb != null) {
final freeBytes = (freeMb * 1024 * 1024).round();
returnVal['device_status[disk_free]'] = freeBytes.toString();
returnVal['device_status[disk_usable]'] = freeBytes.toString();
}
if (totalMb != null) {
returnVal['device_status[disk_total]'] =
(totalMb * 1024 * 1024).round().toString();
}
} catch (err) {
print(err);
}
try {
returnVal['device_status[memory_free]'] =
SysInfo.getFreePhysicalMemory().toString();
returnVal['device_status[memory_total]'] =
SysInfo.getTotalPhysicalMemory().toString();
} catch (err) {
print(err);
}
return returnVal;
}