methode calcul csv

pull/4/head
Enzo 2 years ago
parent b99b62dc2f
commit 5cdd70de5b

@ -4,4 +4,4 @@ enzo@gmail.com
toto toto
toto@gmail.com toto@gmail.com
1234 toto

@ -9,7 +9,8 @@ class Info extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
String distance = Provider.of<User>(context, listen: false) String distance = Provider.of<User>(context, listen: false)
.listActivity[0] .listActivity[0]
.getTotalDistance(); .getTotalDistance()
.toString();
return Row( return Row(
mainAxisAlignment: MainAxisAlignment.spaceAround, mainAxisAlignment: MainAxisAlignment.spaceAround,

@ -17,7 +17,8 @@ class Stats extends StatelessWidget {
.toString(); .toString();
String time = Provider.of<User>(context, listen: false) String time = Provider.of<User>(context, listen: false)
.listActivity[0] .listActivity[0]
.getTotalTime(); .getTotalTime()
.toString();
return Column( return Column(
children: [ children: [

@ -9,7 +9,8 @@ class Steps extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
String steps = Provider.of<User>(context, listen: false) String steps = Provider.of<User>(context, listen: false)
.listActivity[0] .listActivity[0]
.getTotalSteps(); .getTotalSteps()
.toString();
return Padding( return Padding(
padding: const EdgeInsets.symmetric(vertical: 20), padding: const EdgeInsets.symmetric(vertical: 20),
child: Column( child: Column(

@ -11,15 +11,15 @@ class ActivityOfUser {
late String _nameFile; late String _nameFile;
// ------------ // // ------------ //
late String _imageName; late String _imageName;
late List<List<String>> _contentActivity; late List<List<dynamic>> _contentActivity;
Map<String, int> enteteCSV = {}; Map<String, int> enteteCSV = {};
// ManagerFile for the field // ManagerFile for the field
final ManagerFile _managerFile = ManagerFile(); final ManagerFile _managerFile = ManagerFile();
// -- Getter/Setter -- // // -- Getter/Setter -- //
List<List<String>> get contentActivity => _contentActivity; List<List<dynamic>> get contentActivity => _contentActivity;
set contentActivity(List<List<String>> content) { set contentActivity(List<List<dynamic>> content) {
_contentActivity = content; _contentActivity = content;
for (int i = 0; i < content.first.length; i++) { for (int i = 0; i < content.first.length; i++) {
enteteCSV.addAll({content.first[i]: i}); enteteCSV.addAll({content.first[i]: i});
@ -46,8 +46,41 @@ class ActivityOfUser {
} }
} }
// ----------------- BPM ------------------ // // -- func utile -- //
bool notNull(int ligne, int colonne) {
if (_contentActivity[ligne][colonne] == "null") {
return false;
}
return true;
}
// ----------------- X WithTime ------------ //
List<FlSpot> getXWithTime(String field) {
List<FlSpot> result = List.empty(growable: true);
int firstTimestamp = 0;
for (int i = 0; i < contentActivity.length; i++) {
if (notNull(i, enteteCSV["Value_$field"]!)) {
if (firstTimestamp == 0) {
firstTimestamp = contentActivity[i]
[enteteCSV["Value_${_managerFile.fieldTimeStamp}"]!];
}
result.add(FlSpot(
(((contentActivity[i][enteteCSV[
"Value_${_managerFile.fieldTimeStamp}"]!]) -
firstTimestamp) ~/
100)
.toDouble(),
contentActivity[i][enteteCSV["Value_$field"]!].toDouble()));
}
}
return result;
}
// ----------------- BPM ------------------ //
/*
// Retourne le Temps+BPM (Fichier CSV) // Retourne le Temps+BPM (Fichier CSV)
List<FlSpot> getHeartRateWithTime() { List<FlSpot> getHeartRateWithTime() {
List<FlSpot> result = List.empty(growable: true); List<FlSpot> result = List.empty(growable: true);
@ -70,7 +103,7 @@ class ActivityOfUser {
[enteteCSV["Value_${_managerFile.fielBPM}"]!]))); [enteteCSV["Value_${_managerFile.fielBPM}"]!])));
} }
return result; return result;
} }*/
/* /*
List<FlSpot> getHeartRateWithTime() { List<FlSpot> getHeartRateWithTime() {
@ -101,16 +134,17 @@ class ActivityOfUser {
// Retourne le BPM Max (Fichier CSV) // Retourne le BPM Max (Fichier CSV)
int getMaxBpm() { int getMaxBpm() {
int max = int.parse( int max = 0;
contentActivity.first[enteteCSV["Value_${_managerFile.fielBPM}"]!]); for (int i = 0; i < contentActivity.length; i++) {
for (int i = 1; i < contentActivity.length; i++) { if (notNull(i, enteteCSV["Value_${_managerFile.fielBPM}"]!)) {
int valueTmp = int.parse( int valueTmp =
contentActivity[i][enteteCSV["Value_${_managerFile.fielBPM}"]!]); contentActivity[i][enteteCSV["Value_${_managerFile.fielBPM}"]!];
if (valueTmp > max) { if (valueTmp > max) {
max = valueTmp; max = valueTmp;
} }
} }
return 0; }
return max;
} }
/* /*
@ -122,7 +156,22 @@ class ActivityOfUser {
} }
return 0; return 0;
}*/ }*/
// Retourne le BPM Min (Fichier CSV)
int getMinBpm() {
int min = 300;
for (int i = 0; i < contentActivity.length; i++) {
if (notNull(i, enteteCSV["Value_${_managerFile.fielBPM}"]!)) {
int valueTmp =
contentActivity[i][enteteCSV["Value_${_managerFile.fielBPM}"]!];
if (valueTmp < min) {
min = valueTmp;
}
}
}
return min;
}
/*
int getMinBpm() { int getMinBpm() {
for (int i = 0; i < _contentActivity[_dataSession].length; i++) { for (int i = 0; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "min_heart_rate") { if (_contentActivity[_dataSession][i] == "min_heart_rate") {
@ -130,8 +179,22 @@ class ActivityOfUser {
} }
} }
return 0; return 0;
}*/
// Retourne le BPM avg (Fichier CSV)
int getAvgBpm() {
int somme = 0;
int nb = 0;
for (int i = 0; i < contentActivity.length; i++) {
if (notNull(i, enteteCSV["Value_${_managerFile.fielBPM}"]!)) {
somme += contentActivity[i][enteteCSV["Value_${_managerFile.fielBPM}"]!]
as int;
nb++;
}
}
return somme ~/ nb;
} }
/*
int getAvgBpm() { int getAvgBpm() {
for (int i = 0; i < _contentActivity[_dataSession].length; i++) { for (int i = 0; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "avg_heart_rate") { if (_contentActivity[_dataSession][i] == "avg_heart_rate") {
@ -139,7 +202,7 @@ class ActivityOfUser {
} }
} }
return 0; return 0;
} }*/
// -------------------------- FIN BPM ---------------------- // // -------------------------- FIN BPM ---------------------- //
/* /*
// ---------------------- Distance ---------------------- // // ---------------------- Distance ---------------------- //
@ -159,16 +222,23 @@ class ActivityOfUser {
} }
return result; return result;
} }
*/
String getTotalDistance() { double getTotalDistance() {
for (int i = 0; i < _contentActivity[_dataSession].length; i++) { double max = 0;
if (_contentActivity[_dataSession][i] == "total_distance") { for (int i = contentActivity.length - 1; i != 0; i--) {
return _contentActivity[_dataSession][i + 1].toString(); if (notNull(i, enteteCSV["Value_${_managerFile.fieldDistance}"]!)) {
double valueTmp = contentActivity[i]
[enteteCSV["Value_${_managerFile.fieldDistance}"]!];
if (valueTmp > max) {
max = valueTmp;
} }
} }
return "null"; }
return max;
} }
/*
// ---------------------- FIN Distance ---------------------- // // ---------------------- FIN Distance ---------------------- //
// ---------------------- Calories ---------------------- // // ---------------------- Calories ---------------------- //
@ -188,8 +258,8 @@ class ActivityOfUser {
} }
} }
return result; return result;
} }*/
/*
String getTotalCalorie() { String getTotalCalorie() {
for (int i = 0; i < _contentActivity[_dataSession].length; i++) { for (int i = 0; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "total_calories") { if (_contentActivity[_dataSession][i] == "total_calories") {
@ -197,11 +267,16 @@ class ActivityOfUser {
} }
} }
return "null"; return "null";
}*/
String getTotalCalorie() {
return "NULL";
} }
// ---------------------- FIN Calories ---------------------- // // ---------------------- FIN Calories ---------------------- //
// ---------------------- Step ------------------------------// // ---------------------- Step ------------------------------//
/*
String getTotalSteps() { String getTotalSteps() {
for (int i = 0; i < _contentActivity[_dataSession].length; i++) { for (int i = 0; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "total_strides") { if (_contentActivity[_dataSession][i] == "total_strides") {
@ -209,10 +284,21 @@ class ActivityOfUser {
} }
} }
return "null"; return "null";
}*/
int getTotalSteps() {
for (int i = contentActivity.length; i != 0; i--) {
if (notNull(i, enteteCSV["Value_${_managerFile.fieldTotalStep}"]!)) {
return contentActivity[i]
[enteteCSV["Value_${_managerFile.fieldTotalStep}"]!];
}
}
return 0;
} }
// ----------------------- FIN Step ------------------------ // // ----------------------- FIN Step ------------------------ //
// ------------------------- Time ----------------------------- // // ------------------------- Time ----------------------------- //
/*
String getTotalTime() { String getTotalTime() {
for (int i = 0; i < _contentActivity[_dataSession].length; i++) { for (int i = 0; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "total_elapsed_time") { if (_contentActivity[_dataSession][i] == "total_elapsed_time") {
@ -220,10 +306,21 @@ class ActivityOfUser {
} }
} }
return "null"; return "null";
}*/
int getTotalTime() {
for (int i = contentActivity.length - 1; i != 0; i--) {
if (notNull(i, enteteCSV["Value_${_managerFile.fieldTimeStamp}"]!)) {
return contentActivity[i]
[enteteCSV["Value_${_managerFile.fieldTimeStamp}"]!];
}
}
return 0;
} }
// ---------------------------- FIN time -------------------- // // ---------------------------- FIN time -------------------- //
// ---------------------------------------- Altitude -------------------- // // ---------------------------------------- Altitude -------------------- //
/*
List<FlSpot> getAltitudeWithTime() { List<FlSpot> getAltitudeWithTime() {
List<FlSpot> result = List.empty(growable: true); List<FlSpot> result = List.empty(growable: true);
int firtTimeStamp = 0; int firtTimeStamp = 0;
@ -239,8 +336,23 @@ class ActivityOfUser {
} }
} }
return result; return result;
} }*/
// --- Fichier CSV --- //
double getMaxAltitude() {
double max = 0;
for (int i = 0; i < contentActivity.length; i++) {
if (notNull(i, enteteCSV["Value_${_managerFile.fieldAltitude}"]!)) {
double valueTmp = contentActivity[i]
[enteteCSV["Value_${_managerFile.fieldAltitude}"]!];
if (valueTmp > max) {
max = valueTmp;
}
}
}
return max;
}
/*
double getMaxAltitude() { double getMaxAltitude() {
for (int i = 4; i < _contentActivity[_dataSession].length; i++) { for (int i = 4; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "max_altitude") { if (_contentActivity[_dataSession][i] == "max_altitude") {
@ -248,8 +360,23 @@ class ActivityOfUser {
} }
} }
return 0.0; return 0.0;
} }*/
// --- Fichier CSV --- //
double getMinAltitude() {
double min = 5000;
for (int i = 0; i < contentActivity.length; i++) {
if (notNull(i, enteteCSV["Value_${_managerFile.fieldAltitude}"]!)) {
double valueTmp = contentActivity[i]
[enteteCSV["Value_${_managerFile.fieldAltitude}"]!];
if (valueTmp < min) {
min = valueTmp;
}
}
}
return min;
}
/*
double getMinAltitude() { double getMinAltitude() {
for (int i = 4; i < _contentActivity[_dataSession].length; i++) { for (int i = 4; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "min_altitude") { if (_contentActivity[_dataSession][i] == "min_altitude") {
@ -257,7 +384,9 @@ class ActivityOfUser {
} }
} }
return 0.0; return 0.0;
} }*/
/*
// -------------------------- FIN altitude ---------------------- // // -------------------------- FIN altitude ---------------------- //
// -------------------------- Speed ---------------------- // // -------------------------- Speed ---------------------- //
@ -283,8 +412,33 @@ class ActivityOfUser {
} }
} }
return result; return result;
} }*/
// -- CSV -- //
List<DataPoint> getSpeedWithTimeActivity() {
List<DataPoint> result = List.empty(growable: true);
int firstTimestamp = 0;
for (int i = 0; i < contentActivity.length; i++) {
if (notNull(i, enteteCSV["Value_${_managerFile.fieldTimeStamp}"]!) &&
notNull(i, enteteCSV["Value_${_managerFile.fieldSpeed}"]!)) {
if (firstTimestamp == 0) {
firstTimestamp = contentActivity[i]
[enteteCSV["Value_${_managerFile.fieldTimeStamp}"]!];
}
result.add(DataPoint(
(((contentActivity[i][enteteCSV[
"Value_${_managerFile.fieldTimeStamp}"]!]) -
firstTimestamp) ~/
100)
.toDouble(),
contentActivity[i]
[enteteCSV["Value_${_managerFile.fieldSpeed}"]!]));
}
}
return result;
}
/*
List<DataPoint> getSpeedWithTimeActivity() { List<DataPoint> getSpeedWithTimeActivity() {
List<DataPoint> result = List.empty(growable: true); List<DataPoint> result = List.empty(growable: true);
int firtTimeStamp = 0; int firtTimeStamp = 0;
@ -308,8 +462,23 @@ class ActivityOfUser {
} }
} }
return result; return result;
} }*/
// Retourne la Speed Max (Fichier CSV)
double getMaxSpeed() {
double max = 0.00;
for (int i = 0; i < contentActivity.length; i++) {
if (notNull(i, enteteCSV["Value_${_managerFile.fieldSpeed}"]!)) {
double valueTmp =
contentActivity[i][enteteCSV["Value_${_managerFile.fieldSpeed}"]!];
if (valueTmp > max) {
max = valueTmp;
}
}
}
return max;
}
/*
double getMaxSpeed() { double getMaxSpeed() {
for (int i = 4; i < _contentActivity[_dataSession].length; i++) { for (int i = 4; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "max_speed") { if (_contentActivity[_dataSession][i] == "max_speed") {
@ -317,8 +486,22 @@ class ActivityOfUser {
} }
} }
return 0.0; return 0.0;
} }*/
// Retourne avg Max (Fichier CSV)
double getAvgSpeed() {
double somme = 0;
int nb = 0;
for (int i = 0; i < contentActivity.length; i++) {
if (notNull(i, enteteCSV["Value_${_managerFile.fieldSpeed}"]!)) {
somme +=
contentActivity[i][enteteCSV["Value_${_managerFile.fieldSpeed}"]!];
nb++;
}
}
return somme / nb;
}
/*
double getAvgSpeed() { double getAvgSpeed() {
for (int i = 4; i < _contentActivity[_dataSession].length; i++) { for (int i = 4; i < _contentActivity[_dataSession].length; i++) {
if (_contentActivity[_dataSession][i] == "avg_speed") { if (_contentActivity[_dataSession][i] == "avg_speed") {
@ -326,12 +509,31 @@ class ActivityOfUser {
} }
} }
return 0.0; return 0.0;
} }*/
// -------------------------- FIN Speed ---------------------- // // -------------------------- FIN Speed ---------------------- //
// -------------------------- Localisation ------------------- // // -------------------------- Localisation ------------------- //
// Retourne les positions (Fichier CSV)
List<LatLng> getPosition() {
List<LatLng> list = List.empty(growable: true);
for (int i = 0; i < contentActivity.length; i++) {
if (notNull(
i, enteteCSV["Value_${_managerFile.fieldPositionLatitude}"]!) &&
notNull(
i, enteteCSV["Value_${_managerFile.fieldPositionLongitude}"]!)) {
list.add(LatLng(
contentActivity[i]
[enteteCSV["Value_${_managerFile.fieldPositionLatitude}"]!],
contentActivity[i]
[enteteCSV["Value_${_managerFile.fieldPositionLongitude}"]!]));
}
}
return list;
}
/*
List<LatLng> getPosition() { List<LatLng> getPosition() {
List<LatLng> list = List.empty(growable: true); List<LatLng> list = List.empty(growable: true);

@ -11,12 +11,18 @@ class ManagerFile {
final String _fieldPositionLongitude = "position_long"; final String _fieldPositionLongitude = "position_long";
final String _fieldDistance = "distance"; final String _fieldDistance = "distance";
final String _fieldBPM = "heart_rate"; final String _fieldBPM = "heart_rate";
final String _fieldSpeed = "speed";
final String _fieldAltitude = "altitude";
final String _fieldTotalStep = "total_strides";
// -- Getter field // -- Getter field
String get fieldTimeStamp => _fieldTimestamp; String get fieldTimeStamp => _fieldTimestamp;
String get fieldPositionLatitude => _fieldPositionLatitue; String get fieldPositionLatitude => _fieldPositionLatitue;
String get fieldPositionLongitude => _fieldPositionLongitude; String get fieldPositionLongitude => _fieldPositionLongitude;
String get fieldDistance => _fieldDistance; String get fieldDistance => _fieldDistance;
String get fielBPM => _fieldBPM; String get fielBPM => _fieldBPM;
String get fieldSpeed => _fieldSpeed;
String get fieldAltitude => _fieldAltitude;
String get fieldTotalStep => _fieldTotalStep;
List<String> allowedFieldWalking = List.empty(growable: true); List<String> allowedFieldWalking = List.empty(growable: true);
@ -26,7 +32,10 @@ class ManagerFile {
_fieldPositionLatitue, _fieldPositionLatitue,
_fieldPositionLongitude, _fieldPositionLongitude,
_fieldDistance, _fieldDistance,
_fieldBPM _fieldBPM,
_fieldSpeed,
_fieldAltitude,
_fieldTotalStep
]; ];
} }
@ -92,7 +101,7 @@ class ManagerFile {
} }
// -- Read the byte of file CSV -- // // -- Read the byte of file CSV -- //
List<List<String>> convertByteIntoCSV(Uint8List bytes) { List<List<dynamic>> convertByteIntoCSV(Uint8List bytes) {
return const CsvToListConverter().convert(utf8.decode(bytes)); return const CsvToListConverter().convert(utf8.decode(bytes));
} }

@ -2,16 +2,23 @@ import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:smartfit_app_mobile/modele/activity.dart'; import 'package:smartfit_app_mobile/modele/activity.dart';
import 'package:smartfit_app_mobile/modele/manager_file.dart';
import 'package:smartfit_app_mobile/modele/user.dart'; import 'package:smartfit_app_mobile/modele/user.dart';
import 'package:smartfit_app_mobile/modele/utile/home_view/data_home_view.dart'; import 'package:smartfit_app_mobile/modele/utile/home_view/data_home_view.dart';
class HomeViewUtil { class HomeViewUtil {
DataHomeView initData(BuildContext context) { DataHomeView initData(BuildContext context) {
ActivityOfUser activity = Provider.of<User>(context).listActivity[0]; ManagerFile _managerFile = ManagerFile();
List<FlSpot> bpmSecondes = activity.getHeartRateWithTime(); ActivityOfUser activity = Provider.of<User>(context).listActivity[0];
List<FlSpot> vitesseSecondes = activity.getSpeedWithTime(); //List<FlSpot> bpmSecondes = activity.getHeartRateWithTime();
List<FlSpot> altitudeSeconde = activity.getAltitudeWithTime(); List<FlSpot> bpmSecondes = activity.getXWithTime(_managerFile.fielBPM);
//List<FlSpot> vitesseSecondes = activity.getSpeedWithTime();
List<FlSpot> vitesseSecondes =
activity.getXWithTime(_managerFile.fieldSpeed);
//List<FlSpot> altitudeSeconde = activity.getAltitudeWithTime();
List<FlSpot> altitudeSeconde =
activity.getXWithTime(_managerFile.fieldAltitude);
List<FlSpot> bpmSecondes2 = List.from(bpmSecondes); List<FlSpot> bpmSecondes2 = List.from(bpmSecondes);

@ -28,8 +28,9 @@ class ListActivityUtile {
Provider.of<User>(context, listen: false).listActivity[0].contentActivity = Provider.of<User>(context, listen: false).listActivity[0].contentActivity =
await _managerFile.readFitFileWhithFile(file); await _managerFile.readFitFileWhithFile(file);
*/ */
Provider.of<User>(context, listen: false).listActivity[0].contentActivity = Provider.of<User>(context, listen: false).listActivity[0].contentActivity =
_managerFile.convertByteIntoCSV(result.item2); List.from(_managerFile.convertByteIntoCSV(result.item2));
} }
Future<void> getContentOnTheFirstFileWeb(BuildContext context) async { Future<void> getContentOnTheFirstFileWeb(BuildContext context) async {
@ -41,7 +42,8 @@ class ListActivityUtile {
//print(result); //print(result);
return; return;
} }
/*
Provider.of<User>(context, listen: false).listActivity[0].contentActivity = Provider.of<User>(context, listen: false).listActivity[0].contentActivity =
_managerFile.convertByteIntoCSV(result.item2); _managerFile.convertByteIntoCSV(result.item2);*/
} }
} }

@ -70,14 +70,12 @@ class _MobileListActivity extends State<MobileListActivity> {
String csvString = const ListToCsvConverter().convert(csv); String csvString = const ListToCsvConverter().convert(csv);
Uint8List byteCSV = Uint8List.fromList(utf8.encode(csvString)); Uint8List byteCSV = Uint8List.fromList(utf8.encode(csvString));
// --- Save Local // --- Save Local
// --- Api // --- Api
String categoryActivity = filename.split("_").first.toLowerCase(); String categoryActivity = filename.split("_").first.toLowerCase();
String dateActivity = filename.split("_")[1].split("T").first; String dateActivity = filename.split("_")[1].split("T").first;
Tuple2<bool, String> result = await _strategy.uploadFileByte( Tuple2<bool, String> result = await _strategy.uploadFileByte(
token, byteCSV, filename, categoryActivity, dateActivity); token, byteCSV, filename, categoryActivity, dateActivity);
if (result.item1 == false) { if (result.item1 == false) {
// Afficher msg d'erreur // Afficher msg d'erreur
print("Upload - ${result.item2}"); print("Upload - ${result.item2}");
@ -87,7 +85,9 @@ class _MobileListActivity extends State<MobileListActivity> {
} }
void getFiles(String token) async { void getFiles(String token) async {
bool check = false;
Tuple2 result = await _strategy.getFiles(token); Tuple2 result = await _strategy.getFiles(token);
if (result.item1 == false) { if (result.item1 == false) {
print("GetFiles - ${result.item2}"); print("GetFiles - ${result.item2}");
// Afficher une message d'erreur // Afficher une message d'erreur
@ -101,8 +101,11 @@ class _MobileListActivity extends State<MobileListActivity> {
element["category"].toString(), element["category"].toString(),
element["uuid"].toString(), element["uuid"].toString(),
element["filename"].toString())); element["filename"].toString()));
check = true;
} }
if (check) {
await _utile.getContentOnTheFirstFileMobile(context); await _utile.getContentOnTheFirstFileMobile(context);
}
return; return;
} }

@ -25,6 +25,8 @@ class _WebListActivityState extends State<WebListActivity> {
IDataStrategy strategy = RequestApi(); IDataStrategy strategy = RequestApi();
final ListActivityUtile _utile = ListActivityUtile(); final ListActivityUtile _utile = ListActivityUtile();
int firstActivityIndex = 0; int firstActivityIndex = 0;
final IDataStrategy _strategy = RequestApi();
/* /*
void readFile(html.File file) async { void readFile(html.File file) async {
ManagerFile x = ManagerFile(); ManagerFile x = ManagerFile();
@ -44,6 +46,17 @@ class _WebListActivityState extends State<WebListActivity> {
}); });
}*/ }*/
Future<bool> deleteFileOnBDD(String token, String fileUuid) async {
Tuple2<bool, String> result = await _strategy.deleteFile(token, fileUuid);
if (!result.item1) {
print(fileUuid);
print("msg d'erreur");
print(result.item2);
return false;
}
return true;
}
void addFile(html.File file) async { void addFile(html.File file) async {
final reader = html.FileReader(); final reader = html.FileReader();
reader.readAsArrayBuffer(file); reader.readAsArrayBuffer(file);
@ -74,6 +87,7 @@ class _WebListActivityState extends State<WebListActivity> {
// -- On doit garder cet fonction dans la page pour pouvoir afficher les msg -- // // -- On doit garder cet fonction dans la page pour pouvoir afficher les msg -- //
void getFiles() async { void getFiles() async {
bool check = false;
Tuple2 result = await strategy Tuple2 result = await strategy
.getFiles(Provider.of<User>(context, listen: false).token); .getFiles(Provider.of<User>(context, listen: false).token);
if (result.item1 == false) { if (result.item1 == false) {
@ -89,15 +103,17 @@ class _WebListActivityState extends State<WebListActivity> {
element["category"].toString(), element["category"].toString(),
element["uuid"].toString(), element["uuid"].toString(),
element["filename"].toString())); element["filename"].toString()));
check = true;
} }
if (check) {
await _utile.getContentOnTheFirstFileWeb(context); await _utile.getContentOnTheFirstFileWeb(context);
}
return; return;
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
var media = MediaQuery.of(context).size; var media = MediaQuery.of(context).size;
print("tttt");
return Scaffold( return Scaffold(
backgroundColor: TColor.white, backgroundColor: TColor.white,
body: SingleChildScrollView( body: SingleChildScrollView(
@ -194,9 +210,14 @@ class _WebListActivityState extends State<WebListActivity> {
}, },
child: WorkoutRow( child: WorkoutRow(
wObj: activityMap, wObj: activityMap,
onDelete: () { onDelete: () async {
if (await deleteFileOnBDD(
Provider.of<User>(context, listen: false)
.token,
activityObj.fileUuid)) {
Provider.of<User>(context, listen: false) Provider.of<User>(context, listen: false)
.removeActivity(activityObj); .removeActivity(activityObj);
}
}, },
onClick: () { onClick: () {
Provider.of<User>(context, listen: false) Provider.of<User>(context, listen: false)

@ -28,6 +28,7 @@ class _MobileHomeView extends State<MobileHomeView> {
int maxBpm = context.watch<User>().listActivity[0].getMaxBpm(); int maxBpm = context.watch<User>().listActivity[0].getMaxBpm();
int minBpm = context.watch<User>().listActivity[0].getMinBpm(); int minBpm = context.watch<User>().listActivity[0].getMinBpm();
int avgBpm = context.watch<User>().listActivity[0].getAvgBpm(); int avgBpm = context.watch<User>().listActivity[0].getAvgBpm();
// -- Altitude -- // // -- Altitude -- //
double minAltitude = context.watch<User>().listActivity[0].getMinAltitude(); double minAltitude = context.watch<User>().listActivity[0].getMinAltitude();
double maxAltitude = context.watch<User>().listActivity[0].getMaxAltitude(); double maxAltitude = context.watch<User>().listActivity[0].getMaxAltitude();
@ -35,7 +36,6 @@ class _MobileHomeView extends State<MobileHomeView> {
// -- Speed -- // // -- Speed -- //
double maxSpeed = context.watch<User>().listActivity[0].getMaxSpeed(); double maxSpeed = context.watch<User>().listActivity[0].getMaxSpeed();
double avgSpeed = context.watch<User>().listActivity[0].getAvgSpeed(); double avgSpeed = context.watch<User>().listActivity[0].getAvgSpeed();
data = HomeViewUtil().initData(context); data = HomeViewUtil().initData(context);
return Scaffold( return Scaffold(

Loading…
Cancel
Save