diff --git a/lib/modele/api/request_api.dart b/lib/modele/api/request_api.dart index 039d162..01ba636 100644 --- a/lib/modele/api/request_api.dart +++ b/lib/modele/api/request_api.dart @@ -267,7 +267,8 @@ class RequestApi implements IDataStrategy { final response = await http.get(Uri.parse('$urlApi/user/info'), headers: {'Authorization': token}); if (response.statusCode == 200) { - Map json = jsonDecode(response.body); + Map>> json = jsonDecode(response.body); + return Tuple2(true, json); } if (response.statusCode == 400) { @@ -285,12 +286,9 @@ class RequestApi implements IDataStrategy { @override Future getModeleAI(String token, String category) async { try { - final response = await http.post(Uri.parse('$urlApi/user/ai/$category'), + final response = await http.get(Uri.parse('$urlApi/user/ai/$category'), headers: {'Authorization': token}); - print(response.statusCode); - print(response.body); - if (response.statusCode == 200) { Map json = jsonDecode(response.body); return Tuple2(true, json); diff --git a/lib/modele/convertisseur.dart b/lib/modele/convertisseur.dart index 89e3ebc..41ab95d 100644 --- a/lib/modele/convertisseur.dart +++ b/lib/modele/convertisseur.dart @@ -2,7 +2,11 @@ class Convertisseur { // Mettre que des trucs static static double secondeIntoMinute(double seconde) { - return seconde / 60; + return (seconde / 60); + } + + static double milisecondeIntoMinute(double miliseconde) { + return (miliseconde / 60000); } static double msIntoKmh(double metreSeconde) { diff --git a/lib/modele/user.dart b/lib/modele/user.dart index 09cd896..f230fcf 100644 --- a/lib/modele/user.dart +++ b/lib/modele/user.dart @@ -100,22 +100,20 @@ class User extends ChangeNotifier { Tuple2 result = await wrapper.getModeleAI(token, category, infoManager); if (!result.item1) return Tuple2(false, ActivityInfo()); - - Map jsonMap = json.decode(result.item2); + String model = result.item2["model"]; + Map jsonMap = json.decode(model); // Transformer la date int dateMilli = date.millisecondsSinceEpoch; ActivityInfo activityInfo = ActivityInfo(); - activityInfo.distance = jsonMap["model"]["coef"][0] * dateMilli + - jsonMap["model"]["intercept"][0]; - activityInfo.timeOfActivity = jsonMap["model"]["coef"][1] * dateMilli + - jsonMap["model"]["intercept"][1]; - activityInfo.denivelePositif = jsonMap["model"]["coef"][2] * dateMilli + - jsonMap["model"]["intercept"][2]; - activityInfo.vitesseAvg = jsonMap["model"]["coef"][3] * dateMilli + - jsonMap["model"]["intercept"][3]; - activityInfo.bpmAvg = jsonMap["model"]["coef"][4] * dateMilli + - jsonMap["model"]["intercept"][4]; + activityInfo.bpmAvg = + (jsonMap["coef"][0] * dateMilli + jsonMap["intercept"][0]).toInt(); + activityInfo.timeOfActivity = + jsonMap["coef"][1] * dateMilli + jsonMap["intercept"][1]; + activityInfo.vitesseAvg = + jsonMap["coef"][2] * dateMilli + jsonMap["intercept"][2]; + activityInfo.distance = + jsonMap["coef"][3] * dateMilli + jsonMap["intercept"][3]; return Tuple2(true, activityInfo); } diff --git a/lib/view/home/prediction_view.dart b/lib/view/home/prediction_view.dart index 10790d6..4a4da7f 100644 --- a/lib/view/home/prediction_view.dart +++ b/lib/view/home/prediction_view.dart @@ -5,6 +5,7 @@ import 'package:smartfit_app_mobile/common/colo_extension.dart'; import 'package:smartfit_app_mobile/common_widget/button/round_button.dart'; import 'package:smartfit_app_mobile/common_widget/container/workout_row/workout_row.dart'; import 'package:smartfit_app_mobile/modele/activity_info/activity_info.dart'; +import 'package:smartfit_app_mobile/modele/convertisseur.dart'; import 'package:smartfit_app_mobile/modele/manager_file.dart'; import 'package:smartfit_app_mobile/modele/user.dart'; import 'package:smartfit_app_mobile/modele/utile/info_message.dart';