|
|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
import 'dart:async';
|
|
|
|
|
import 'dart:io';
|
|
|
|
|
import 'package:async/src/result/result.dart';
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:health/health.dart';
|
|
|
|
|
import 'package:hmg_patient_app_new/features/smartwatch_health_data/watch_connectors/watch_helper.dart' show WatchHelper;
|
|
|
|
|
import 'package:permission_handler/permission_handler.dart';
|
|
|
|
|
@ -57,9 +58,9 @@ class HealthConnectHelper extends WatchHelper {
|
|
|
|
|
final startDate = endDate.subtract(Duration(days: 365));
|
|
|
|
|
final data = await getData(startDate, endDate, types);
|
|
|
|
|
addDataToMap("steps",data );
|
|
|
|
|
print('Steps Data: $data');
|
|
|
|
|
debugPrint('Steps Data: $data');
|
|
|
|
|
} catch (e) {
|
|
|
|
|
print('Error getting steps: $e');
|
|
|
|
|
debugPrint('Error getting steps: $e');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -71,9 +72,9 @@ class HealthConnectHelper extends WatchHelper {
|
|
|
|
|
final startDate = endDate.subtract(Duration(days: 365));
|
|
|
|
|
final data = await getData(startDate, endDate, types);
|
|
|
|
|
addDataToMap("activity",data );
|
|
|
|
|
print('Activity Data: $data');
|
|
|
|
|
debugPrint('Activity Data: $data');
|
|
|
|
|
} catch (e) {
|
|
|
|
|
print('Error getting activity: $e');
|
|
|
|
|
debugPrint('Error getting activity: $e');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -91,7 +92,7 @@ class HealthConnectHelper extends WatchHelper {
|
|
|
|
|
final data = await getData(startDate, endDate, types);
|
|
|
|
|
addDataToMapBloodOxygen("bloodOxygen", data);
|
|
|
|
|
} catch (e) {
|
|
|
|
|
print('Error getting blood oxygen: $e');
|
|
|
|
|
debugPrint('Error getting blood oxygen: $e');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -104,7 +105,7 @@ class HealthConnectHelper extends WatchHelper {
|
|
|
|
|
final data = await getData(startDate, endDate, types);
|
|
|
|
|
addDataToMap("bodyTemperature",data );
|
|
|
|
|
} catch (e) {
|
|
|
|
|
print('Error getting body temp erature: $e');
|
|
|
|
|
debugPrint('Error getting body temp erature: $e');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -117,7 +118,7 @@ class HealthConnectHelper extends WatchHelper {
|
|
|
|
|
final data = await getData(startDate, endDate, types);
|
|
|
|
|
addDataToMap("distance",data );
|
|
|
|
|
} catch (e) {
|
|
|
|
|
print('Error getting distance: $e');
|
|
|
|
|
debugPrint('Error getting distance: $e');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -128,12 +129,10 @@ class HealthConnectHelper extends WatchHelper {
|
|
|
|
|
final granted = await health.requestAuthorization(types);
|
|
|
|
|
await Permission.activityRecognition.request();
|
|
|
|
|
await Permission.location.request();
|
|
|
|
|
// request access to read historic data
|
|
|
|
|
await Health().requestHealthDataHistoryAuthorization();
|
|
|
|
|
// await authorize();
|
|
|
|
|
return Result.value(granted);
|
|
|
|
|
} catch (e) {
|
|
|
|
|
print('Authorization error: $e');
|
|
|
|
|
debugPrint('Authorization error: $e');
|
|
|
|
|
return Result.error(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -143,7 +142,6 @@ class HealthConnectHelper extends WatchHelper {
|
|
|
|
|
startDate: startTime,
|
|
|
|
|
endDate: endTime,
|
|
|
|
|
types: [type],
|
|
|
|
|
// interval: 86400,
|
|
|
|
|
interval: 3600,
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
@ -153,9 +151,6 @@ class HealthConnectHelper extends WatchHelper {
|
|
|
|
|
for (var point in data) {
|
|
|
|
|
if (point.value is NumericHealthValue) {
|
|
|
|
|
final numericValue = (point.value as NumericHealthValue).numericValue;
|
|
|
|
|
// point.value = NumericHealthValue(
|
|
|
|
|
// numericValue: numericValue * 100,
|
|
|
|
|
// );
|
|
|
|
|
Vitals vitals = Vitals(
|
|
|
|
|
value: (point.value as NumericHealthValue).numericValue.toStringAsFixed(2),
|
|
|
|
|
timestamp: point.dateFrom.toString()
|
|
|
|
|
|