From 35714bfbb7bffedb04da0c5d0d327902cf6eff24 Mon Sep 17 00:00:00 2001 From: Enzo Date: Mon, 27 Nov 2023 14:15:40 +0100 Subject: [PATCH] fonction data graph fini --- lib/common_widget/stats.dart | 30 ++-- lib/common_widget/steps.dart | 1 + lib/modele/activity.dart | 264 ++--------------------------------- lib/modele/manager_file.dart | 5 +- 4 files changed, 28 insertions(+), 272 deletions(-) diff --git a/lib/common_widget/stats.dart b/lib/common_widget/stats.dart index 013eb8f..ec551fa 100644 --- a/lib/common_widget/stats.dart +++ b/lib/common_widget/stats.dart @@ -10,7 +10,8 @@ class Stats extends StatelessWidget { Widget build(BuildContext context) { String calories = Provider.of(context, listen: false) .listActivity[0] - .getTotalCalorie(); + .getCalorie() + .toString(); String heartrate = Provider.of(context, listen: false) .listActivity[0] .getAvgBpm() @@ -19,7 +20,6 @@ class Stats extends StatelessWidget { .listActivity[0] .getTotalTime() .toString(); - return Column( children: [ Padding( @@ -33,7 +33,7 @@ class Stats extends StatelessWidget { fontWeight: FontWeight.w800, ), ), - SizedBox(width: 8), + const SizedBox(width: 8), Icon( Icons.pie_chart_rounded, size: 15, @@ -50,31 +50,31 @@ class Stats extends StatelessWidget { const SizedBox(width: 15), InfoStat( icon: Icons.timer, - iconColor: Color.fromARGB(255, 255, 255, 255), - iconBackground: Color(0xff6131AD), + iconColor: const Color.fromARGB(255, 255, 255, 255), + iconBackground: const Color(0xff6131AD), time: '+5s', label: 'Time', - value: time + ' s', + value: '$time s', ), - SizedBox(width: 15), + const SizedBox(width: 15), InfoStat( icon: Icons.favorite_outline, - iconColor: Color.fromARGB(255, 255, 255, 255), - iconBackground: Color(0xff6131AD), + iconColor: const Color.fromARGB(255, 255, 255, 255), + iconBackground: const Color(0xff6131AD), time: '+5s', label: 'Heart Rate', - value: heartrate + " BPM", + value: "$heartrate BPM", ), - SizedBox(width: 15), + const SizedBox(width: 15), InfoStat( icon: Icons.bolt, - iconColor: Color.fromARGB(255, 255, 255, 255), - iconBackground: Color(0xff6131AD), + iconColor: const Color.fromARGB(255, 255, 255, 255), + iconBackground: const Color(0xff6131AD), time: '+5s', label: 'Energy', - value: calories + " kCal", + value: "$calories kCal", ), - SizedBox(width: 30), + const SizedBox(width: 30), ], ), ) diff --git a/lib/common_widget/steps.dart b/lib/common_widget/steps.dart index db2370b..bbf770f 100644 --- a/lib/common_widget/steps.dart +++ b/lib/common_widget/steps.dart @@ -11,6 +11,7 @@ class Steps extends StatelessWidget { .listActivity[0] .getTotalSteps() .toString(); + return Padding( padding: const EdgeInsets.symmetric(vertical: 20), child: Column( diff --git a/lib/modele/activity.dart b/lib/modele/activity.dart index 79d5bf8..faf3f86 100644 --- a/lib/modele/activity.dart +++ b/lib/modele/activity.dart @@ -80,57 +80,6 @@ class ActivityOfUser { } // ----------------- BPM ------------------ // -/* -// Retourne le Temps+BPM (Fichier CSV) - List getHeartRateWithTime() { - List 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 getHeartRateWithTime() { - List result = List.empty(growable: true); - int firtTimeStamp = 0; - - for (List 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) int getMaxBpm() { @@ -147,15 +96,6 @@ class ActivityOfUser { 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) int getMinBpm() { int min = 300; @@ -171,15 +111,6 @@ class ActivityOfUser { 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) int getAvgBpm() { int somme = 0; @@ -194,35 +125,9 @@ class ActivityOfUser { 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 ---------------------- // - /* - // ---------------------- Distance ---------------------- // - List getDistanceWithTime() { - List result = List.empty(growable: true); - int firtTimeStamp = 0; - for (List ligne in _contentActivity) { - 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; - } - */ + // ---------------------- Distance ---------------------- // double getTotalDistance() { double max = 0; @@ -238,56 +143,25 @@ class ActivityOfUser { return max; } - /* // ---------------------- FIN Distance ---------------------- // // ---------------------- Calories ---------------------- // - List getCalories() { - List result = List.empty(growable: true); - int firtTimeStamp = 0; - for (List ligne in _contentActivity) { - if (ligne.length >= 39 && - 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(); + int getCalorie() { + for (int i = contentActivity.length - 1; i != 0; i--) { + if (notNull(i, enteteCSV["Value_${_managerFile.fieldTotalCalories}"]!)) { + return contentActivity[i] + [enteteCSV["Value_${_managerFile.fieldTotalCalories}"]!] as int; } } - return "null"; - }*/ - - String getTotalCalorie() { - return "NULL"; + return 0; } // ---------------------- FIN Calories ---------------------- // // ---------------------- 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() { - for (int i = contentActivity.length; i != 0; i--) { + for (int i = contentActivity.length - 1; i != 0; i--) { if (notNull(i, enteteCSV["Value_${_managerFile.fieldTotalStep}"]!)) { return contentActivity[i] [enteteCSV["Value_${_managerFile.fieldTotalStep}"]!]; @@ -298,15 +172,6 @@ class ActivityOfUser { // ----------------------- FIN Step ------------------------ // // ------------------------- 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() { for (int i = contentActivity.length - 1; i != 0; i--) { @@ -320,23 +185,6 @@ class ActivityOfUser { // ---------------------------- FIN time -------------------- // // ---------------------------------------- Altitude -------------------- // - /* - List getAltitudeWithTime() { - List result = List.empty(growable: true); - int firtTimeStamp = 0; - - for (List 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 --- // double getMaxAltitude() { @@ -352,15 +200,6 @@ class ActivityOfUser { } 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 --- // double getMinAltitude() { @@ -376,44 +215,11 @@ class ActivityOfUser { } 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 ---------------------- // // -------------------------- Speed ---------------------- // - List getSpeedWithTime() { - List result = List.empty(growable: true); - int firtTimeStamp = 0; - - for (List 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 -- // List getSpeedWithTimeActivity() { List result = List.empty(growable: true); @@ -438,31 +244,6 @@ class ActivityOfUser { } return result; } - /* - List getSpeedWithTimeActivity() { - List result = List.empty(growable: true); - int firtTimeStamp = 0; - - for (List 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) double getMaxSpeed() { @@ -478,15 +259,6 @@ class ActivityOfUser { } 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) double getAvgSpeed() { @@ -501,15 +273,6 @@ class ActivityOfUser { } 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 ---------------------- // @@ -533,17 +296,6 @@ class ActivityOfUser { } return list; } - /* - List getPosition() { - List list = List.empty(growable: true); - - for (List ligne in _contentActivity) { - if (ligne[0] == "Data" && ligne[6] == "position_lat") { - list.add(LatLng(ligne[7], ligne[10])); - } - } - return list; - }*/ // -------------------------- FIN Localisation ---------------------- // diff --git a/lib/modele/manager_file.dart b/lib/modele/manager_file.dart index 35aa968..512c7e4 100644 --- a/lib/modele/manager_file.dart +++ b/lib/modele/manager_file.dart @@ -14,6 +14,7 @@ class ManagerFile { final String _fieldSpeed = "speed"; final String _fieldAltitude = "altitude"; final String _fieldTotalStep = "total_strides"; + final String _fieldTotalCalorie = "total_calories"; // -- Getter field String get fieldTimeStamp => _fieldTimestamp; String get fieldPositionLatitude => _fieldPositionLatitue; @@ -23,6 +24,7 @@ class ManagerFile { String get fieldSpeed => _fieldSpeed; String get fieldAltitude => _fieldAltitude; String get fieldTotalStep => _fieldTotalStep; + String get fieldTotalCalories => _fieldTotalCalorie; List allowedFieldWalking = List.empty(growable: true); @@ -35,7 +37,8 @@ class ManagerFile { _fieldBPM, _fieldSpeed, _fieldAltitude, - _fieldTotalStep + _fieldTotalStep, + _fieldTotalCalorie ]; }