fonction data graph fini

pull/4/head
Enzo 1 year ago
parent 5cdd70de5b
commit 35714bfbb7

@ -10,7 +10,8 @@ class Stats extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
String calories = Provider.of<User>(context, listen: false) String calories = Provider.of<User>(context, listen: false)
.listActivity[0] .listActivity[0]
.getTotalCalorie(); .getCalorie()
.toString();
String heartrate = Provider.of<User>(context, listen: false) String heartrate = Provider.of<User>(context, listen: false)
.listActivity[0] .listActivity[0]
.getAvgBpm() .getAvgBpm()
@ -19,7 +20,6 @@ class Stats extends StatelessWidget {
.listActivity[0] .listActivity[0]
.getTotalTime() .getTotalTime()
.toString(); .toString();
return Column( return Column(
children: [ children: [
Padding( Padding(
@ -33,7 +33,7 @@ class Stats extends StatelessWidget {
fontWeight: FontWeight.w800, fontWeight: FontWeight.w800,
), ),
), ),
SizedBox(width: 8), const SizedBox(width: 8),
Icon( Icon(
Icons.pie_chart_rounded, Icons.pie_chart_rounded,
size: 15, size: 15,
@ -50,31 +50,31 @@ class Stats extends StatelessWidget {
const SizedBox(width: 15), const SizedBox(width: 15),
InfoStat( InfoStat(
icon: Icons.timer, icon: Icons.timer,
iconColor: Color.fromARGB(255, 255, 255, 255), iconColor: const Color.fromARGB(255, 255, 255, 255),
iconBackground: Color(0xff6131AD), iconBackground: const Color(0xff6131AD),
time: '+5s', time: '+5s',
label: 'Time', label: 'Time',
value: time + ' s', value: '$time s',
), ),
SizedBox(width: 15), const SizedBox(width: 15),
InfoStat( InfoStat(
icon: Icons.favorite_outline, icon: Icons.favorite_outline,
iconColor: Color.fromARGB(255, 255, 255, 255), iconColor: const Color.fromARGB(255, 255, 255, 255),
iconBackground: Color(0xff6131AD), iconBackground: const Color(0xff6131AD),
time: '+5s', time: '+5s',
label: 'Heart Rate', label: 'Heart Rate',
value: heartrate + " BPM", value: "$heartrate BPM",
), ),
SizedBox(width: 15), const SizedBox(width: 15),
InfoStat( InfoStat(
icon: Icons.bolt, icon: Icons.bolt,
iconColor: Color.fromARGB(255, 255, 255, 255), iconColor: const Color.fromARGB(255, 255, 255, 255),
iconBackground: Color(0xff6131AD), iconBackground: const Color(0xff6131AD),
time: '+5s', time: '+5s',
label: 'Energy', label: 'Energy',
value: calories + " kCal", value: "$calories kCal",
), ),
SizedBox(width: 30), const SizedBox(width: 30),
], ],
), ),
) )

@ -11,6 +11,7 @@ class Steps extends StatelessWidget {
.listActivity[0] .listActivity[0]
.getTotalSteps() .getTotalSteps()
.toString(); .toString();
return Padding( return Padding(
padding: const EdgeInsets.symmetric(vertical: 20), padding: const EdgeInsets.symmetric(vertical: 20),
child: Column( child: Column(

@ -80,57 +80,6 @@ class ActivityOfUser {
} }
// ----------------- BPM ------------------ // // ----------------- BPM ------------------ //
/*
// Retourne le Temps+BPM (Fichier CSV)
List<FlSpot> getHeartRateWithTime() {
List<FlSpot> result = List.empty(growable: true);
int firstTimestamp = int.parse(contentActivity
.first[enteteCSV["Value_${_managerFile.fieldTimeStamp}"]!]);
result.add(FlSpot(
(firstTimestamp ~/ 100).toDouble(),
double.parse(contentActivity
.first[enteteCSV["Value_${_managerFile.fielBPM}"]!])));
for (int i = 1; i < contentActivity.length; i++) {
result.add(FlSpot(
((int.parse(contentActivity[i][
enteteCSV["Value_${_managerFile.fieldTimeStamp}"]!]) -
firstTimestamp) ~/
100)
.toDouble(),
double.parse(contentActivity[i]
[enteteCSV["Value_${_managerFile.fielBPM}"]!])));
}
return result;
}*/
/*
List<FlSpot> getHeartRateWithTime() {
List<FlSpot> result = List.empty(growable: true);
int firtTimeStamp = 0;
for (List<dynamic> ligne in _contentActivity) {
if (ligne[0] == "Data") {
if (ligne.length >= 10 && ligne[9] == "heart_rate") {
if (firtTimeStamp == 0) {
firtTimeStamp = ligne[4];
}
//result.add([(ligne[4] - firtTimeStamp) ~/ 100, ligne[10]]);
result.add(
FlSpot((ligne[4] - firtTimeStamp) / 100, ligne[10].toDouble()));
} else if (ligne.length >= 16 && ligne[15] == "heart_rate") {
if (firtTimeStamp == 0) {
firtTimeStamp = ligne[4];
}
//result.add([(ligne[4] - firtTimeStamp) ~/ 100, ligne[17]]);
result.add(
FlSpot((ligne[4] - firtTimeStamp) / 100, ligne[16].toDouble()));
}
}
}
return result;
}*/
// Retourne le BPM Max (Fichier CSV) // Retourne le BPM Max (Fichier CSV)
int getMaxBpm() { int getMaxBpm() {
@ -147,15 +96,6 @@ class ActivityOfUser {
return max; return max;
} }
/*
int getMaxBpm() {
for (int i = 0; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "max_heart_rate") {
return _contentActivity[_dataSession][i + 1];
}
}
return 0;
}*/
// Retourne le BPM Min (Fichier CSV) // Retourne le BPM Min (Fichier CSV)
int getMinBpm() { int getMinBpm() {
int min = 300; int min = 300;
@ -171,15 +111,6 @@ class ActivityOfUser {
return min; return min;
} }
/*
int getMinBpm() {
for (int i = 0; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "min_heart_rate") {
return _contentActivity[_dataSession][i + 1];
}
}
return 0;
}*/
// Retourne le BPM avg (Fichier CSV) // Retourne le BPM avg (Fichier CSV)
int getAvgBpm() { int getAvgBpm() {
int somme = 0; int somme = 0;
@ -194,35 +125,9 @@ class ActivityOfUser {
return somme ~/ nb; return somme ~/ nb;
} }
/*
int getAvgBpm() {
for (int i = 0; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "avg_heart_rate") {
return _contentActivity[_dataSession][i + 1];
}
}
return 0;
}*/
// -------------------------- FIN BPM ---------------------- // // -------------------------- FIN BPM ---------------------- //
/*
// ---------------------- Distance ---------------------- //
List<FlSpot> getDistanceWithTime() {
List<FlSpot> result = List.empty(growable: true);
int firtTimeStamp = 0;
for (List<dynamic> ligne in _contentActivity) { // ---------------------- Distance ---------------------- //
if (ligne.length >= 8 && ligne[0] == "Data" && ligne[6] == "distance") {
if (firtTimeStamp == 0) {
firtTimeStamp = ligne[4];
}
//result.add([(ligne[4] - firtTimeStamp) ~/ 100, ligne[7].toInt()]);
result
.add(FlSpot((ligne[4] - firtTimeStamp) / 100, ligne[7].toDouble()));
}
}
return result;
}
*/
double getTotalDistance() { double getTotalDistance() {
double max = 0; double max = 0;
@ -238,56 +143,25 @@ class ActivityOfUser {
return max; return max;
} }
/*
// ---------------------- FIN Distance ---------------------- // // ---------------------- FIN Distance ---------------------- //
// ---------------------- Calories ---------------------- // // ---------------------- Calories ---------------------- //
List<FlSpot> getCalories() { int getCalorie() {
List<FlSpot> result = List.empty(growable: true); for (int i = contentActivity.length - 1; i != 0; i--) {
int firtTimeStamp = 0; if (notNull(i, enteteCSV["Value_${_managerFile.fieldTotalCalories}"]!)) {
for (List<dynamic> ligne in _contentActivity) { return contentActivity[i]
if (ligne.length >= 39 && [enteteCSV["Value_${_managerFile.fieldTotalCalories}"]!] as int;
ligne[0] == "Data" &&
ligne[39] == "total_calories") {
if (firtTimeStamp == 0) {
firtTimeStamp = ligne[4];
}
//result.add([(ligne[4] - firtTimeStamp) ~/ 100, ligne[7].toInt()]);
result.add(
FlSpot((ligne[4] - firtTimeStamp) / 100, ligne[40].toDouble()));
}
}
return result;
}*/
/*
String getTotalCalorie() {
for (int i = 0; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "total_calories") {
return _contentActivity[_dataSession][i + 1].toString();
} }
} }
return "null"; return 0;
}*/
String getTotalCalorie() {
return "NULL";
} }
// ---------------------- FIN Calories ---------------------- // // ---------------------- FIN Calories ---------------------- //
// ---------------------- Step ------------------------------// // ---------------------- Step ------------------------------//
/*
String getTotalSteps() {
for (int i = 0; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "total_strides") {
return _contentActivity[_dataSession][i + 1].toString();
}
}
return "null";
}*/
int getTotalSteps() { int getTotalSteps() {
for (int i = contentActivity.length; i != 0; i--) { for (int i = contentActivity.length - 1; i != 0; i--) {
if (notNull(i, enteteCSV["Value_${_managerFile.fieldTotalStep}"]!)) { if (notNull(i, enteteCSV["Value_${_managerFile.fieldTotalStep}"]!)) {
return contentActivity[i] return contentActivity[i]
[enteteCSV["Value_${_managerFile.fieldTotalStep}"]!]; [enteteCSV["Value_${_managerFile.fieldTotalStep}"]!];
@ -298,15 +172,6 @@ class ActivityOfUser {
// ----------------------- FIN Step ------------------------ // // ----------------------- FIN Step ------------------------ //
// ------------------------- Time ----------------------------- // // ------------------------- Time ----------------------------- //
/*
String getTotalTime() {
for (int i = 0; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "total_elapsed_time") {
return _contentActivity[_dataSession][i + 1].toString();
}
}
return "null";
}*/
int getTotalTime() { int getTotalTime() {
for (int i = contentActivity.length - 1; i != 0; i--) { for (int i = contentActivity.length - 1; i != 0; i--) {
@ -320,23 +185,6 @@ class ActivityOfUser {
// ---------------------------- FIN time -------------------- // // ---------------------------- FIN time -------------------- //
// ---------------------------------------- Altitude -------------------- // // ---------------------------------------- Altitude -------------------- //
/*
List<FlSpot> getAltitudeWithTime() {
List<FlSpot> result = List.empty(growable: true);
int firtTimeStamp = 0;
for (List<dynamic> ligne in _contentActivity) {
if (ligne.length >= 14 && ligne[0] == "Data" && ligne[12] == "altitude") {
if (firtTimeStamp == 0) {
firtTimeStamp = ligne[4];
}
//result.add([(ligne[4] - firtTimeStamp) ~/ 100, ligne[13].toInt()]);
result.add(
FlSpot((ligne[4] - firtTimeStamp) / 100, ligne[13].toDouble()));
}
}
return result;
}*/
// --- Fichier CSV --- // // --- Fichier CSV --- //
double getMaxAltitude() { double getMaxAltitude() {
@ -352,15 +200,6 @@ class ActivityOfUser {
} }
return max; return max;
} }
/*
double getMaxAltitude() {
for (int i = 4; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "max_altitude") {
return _contentActivity[_dataSession][i + 1];
}
}
return 0.0;
}*/
// --- Fichier CSV --- // // --- Fichier CSV --- //
double getMinAltitude() { double getMinAltitude() {
@ -376,44 +215,11 @@ class ActivityOfUser {
} }
return min; return min;
} }
/*
double getMinAltitude() {
for (int i = 4; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "min_altitude") {
return _contentActivity[_dataSession][i + 1];
}
}
return 0.0;
}*/
/*
// -------------------------- FIN altitude ---------------------- // // -------------------------- FIN altitude ---------------------- //
// -------------------------- Speed ---------------------- // // -------------------------- Speed ---------------------- //
List<FlSpot> getSpeedWithTime() {
List<FlSpot> result = List.empty(growable: true);
int firtTimeStamp = 0;
for (List<dynamic> ligne in _contentActivity) {
if (ligne[0] == "Data" && ligne[1] == 1) {
if (firtTimeStamp == 0) {
firtTimeStamp = ligne[4];
}
result.add(
FlSpot((ligne[4] - firtTimeStamp) / 100, ligne[19].toDouble()));
}
if (ligne[0] == "Data" && ligne[1] == 2) {
if (firtTimeStamp == 0) {
firtTimeStamp = ligne[4];
}
result.add(
FlSpot((ligne[4] - firtTimeStamp) / 100, ligne[25].toDouble()));
}
}
return result;
}*/
// -- CSV -- // // -- CSV -- //
List<DataPoint> getSpeedWithTimeActivity() { List<DataPoint> getSpeedWithTimeActivity() {
List<DataPoint> result = List.empty(growable: true); List<DataPoint> result = List.empty(growable: true);
@ -438,31 +244,6 @@ class ActivityOfUser {
} }
return result; return result;
} }
/*
List<DataPoint> getSpeedWithTimeActivity() {
List<DataPoint> result = List.empty(growable: true);
int firtTimeStamp = 0;
for (List<dynamic> ligne in _contentActivity) {
if (ligne[0] == "Data" && ligne[1] == 1) {
if (firtTimeStamp == 0) {
firtTimeStamp = ligne[4];
}
result.add(DataPoint(
((ligne[4] - firtTimeStamp) / 100),
ligne[19].toDouble(),
));
}
if (ligne[0] == "Data" && ligne[1] == 2) {
if (firtTimeStamp == 0) {
firtTimeStamp = ligne[4];
}
result.add(DataPoint(
((ligne[4] - firtTimeStamp) / 100), ligne[25].toDouble()));
}
}
return result;
}*/
// Retourne la Speed Max (Fichier CSV) // Retourne la Speed Max (Fichier CSV)
double getMaxSpeed() { double getMaxSpeed() {
@ -478,15 +259,6 @@ class ActivityOfUser {
} }
return max; return max;
} }
/*
double getMaxSpeed() {
for (int i = 4; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "max_speed") {
return _contentActivity[_dataSession][i + 1];
}
}
return 0.0;
}*/
// Retourne avg Max (Fichier CSV) // Retourne avg Max (Fichier CSV)
double getAvgSpeed() { double getAvgSpeed() {
@ -501,15 +273,6 @@ class ActivityOfUser {
} }
return somme / nb; return somme / nb;
} }
/*
double getAvgSpeed() {
for (int i = 4; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "avg_speed") {
return _contentActivity[_dataSession][i + 1];
}
}
return 0.0;
}*/
// -------------------------- FIN Speed ---------------------- // // -------------------------- FIN Speed ---------------------- //
@ -533,17 +296,6 @@ class ActivityOfUser {
} }
return list; return list;
} }
/*
List<LatLng> getPosition() {
List<LatLng> list = List.empty(growable: true);
for (List<dynamic> ligne in _contentActivity) {
if (ligne[0] == "Data" && ligne[6] == "position_lat") {
list.add(LatLng(ligne[7], ligne[10]));
}
}
return list;
}*/
// -------------------------- FIN Localisation ---------------------- // // -------------------------- FIN Localisation ---------------------- //

@ -14,6 +14,7 @@ class ManagerFile {
final String _fieldSpeed = "speed"; final String _fieldSpeed = "speed";
final String _fieldAltitude = "altitude"; final String _fieldAltitude = "altitude";
final String _fieldTotalStep = "total_strides"; final String _fieldTotalStep = "total_strides";
final String _fieldTotalCalorie = "total_calories";
// -- Getter field // -- Getter field
String get fieldTimeStamp => _fieldTimestamp; String get fieldTimeStamp => _fieldTimestamp;
String get fieldPositionLatitude => _fieldPositionLatitue; String get fieldPositionLatitude => _fieldPositionLatitue;
@ -23,6 +24,7 @@ class ManagerFile {
String get fieldSpeed => _fieldSpeed; String get fieldSpeed => _fieldSpeed;
String get fieldAltitude => _fieldAltitude; String get fieldAltitude => _fieldAltitude;
String get fieldTotalStep => _fieldTotalStep; String get fieldTotalStep => _fieldTotalStep;
String get fieldTotalCalories => _fieldTotalCalorie;
List<String> allowedFieldWalking = List.empty(growable: true); List<String> allowedFieldWalking = List.empty(growable: true);
@ -35,7 +37,8 @@ class ManagerFile {
_fieldBPM, _fieldBPM,
_fieldSpeed, _fieldSpeed,
_fieldAltitude, _fieldAltitude,
_fieldTotalStep _fieldTotalStep,
_fieldTotalCalorie
]; ];
} }

Loading…
Cancel
Save