diff --git a/Sources/dafl_project_flutter/lib/services/position/area.dart b/Sources/dafl_project_flutter/lib/services/position/area.dart index fbf102a..0171c7f 100644 --- a/Sources/dafl_project_flutter/lib/services/position/area.dart +++ b/Sources/dafl_project_flutter/lib/services/position/area.dart @@ -2,41 +2,42 @@ import 'package:geolocator/geolocator.dart'; import 'package:http/http.dart' as http; import 'dart:convert'; import 'dart:async'; +import '../main.dart'; -import '../../main.dart'; -import '../../model/spot.dart'; - -class Area { - late List spots; - - sendCurrentLocation() async { +class Location { + static Future> sendCurrentLocation() async { Uri uri = Uri.parse("http://89.83.53.34/phpmyadmin/dafldev/insert.php"); LocationPermission permission; permission = await Geolocator.checkPermission(); if (permission == LocationPermission.denied) { permission = await Geolocator.requestPermission(); if (permission == LocationPermission.deniedForever) { - //TODO : handle this case + //faire l'interface gra pour gérer ça + return Future.error('Location Not Available'); } } - String actualUser = MyApp.controller.getIdSpotify(); - String actualSong = await MyApp.controller.getCurrentMusic(); + String actualUser = MyApp.controller.currentUser.usernameDafl; + String actualSong = await MyApp.api.getCurrentlyPlayingTrack(); Position current = await Geolocator.getCurrentPosition(); await http.post(uri, body: { - "id": actualUser, + "id": actualUser.toString(), "latitude": current.latitude.toString(), "longitude": current.longitude.toString(), - "idMusic": actualSong + "idMusic": actualSong.toString(), }); + return getData(); } - getData() async { - String actualUser = MyApp.controller.getIdDafl().toString(); - Uri uri = Uri.parse("http://89.83.53.34/phpmyadmin/dafldev/distance.php"); + static Future> getData() async { + Map spot = {}; + String actualUser = MyApp.controller.currentUser.usernameDafl; + Uri uri = Uri.parse("codefirst.iut.uca.fr/dorian.hodin/dafl_music:latest/distance.php"); http.Response response = await http.post(uri, body: { "id": actualUser, }); var data = jsonDecode(response.body); - data.forEach((s) => spots.add(Spot(s['user'], s['music']))); + data.forEach((s)=> spot.putIfAbsent(s['user'], () => s['music'])); + return spot; } } +