diff --git a/Sources/dafl_project_flutter/lib/controller/controller.dart b/Sources/dafl_project_flutter/lib/controller/controller.dart index 737a02d..5afd378 100644 --- a/Sources/dafl_project_flutter/lib/controller/controller.dart +++ b/Sources/dafl_project_flutter/lib/controller/controller.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:collection'; import 'dart:convert'; import 'package:dafl_project_flutter/controller/live_datas.dart'; import 'package:dafl_project_flutter/model/music.dart'; @@ -11,55 +12,53 @@ import 'package:http/http.dart' as http; import '../model/user.dart'; class Controller { - ApiSpotify _api = ApiSpotify(); + final ApiSpotify _api = ApiSpotify(); late User _currentUser; final DataBaseService _dataBaseService = DataBaseService(); - final LiveDatas _datas = LiveDatas(); + final LiveData _data = LiveData(); late BuildContext navigatorKey; - // - // Constructor - // - Controller(){ + Controller() { setSpots(); Timer.periodic(const Duration(seconds: 10), (Timer t) => setSpots()); } // - // Methods to manage datas + // Methods to manage data // - // Datas that can change + // Data that can change - bool getChoice() => _datas.discoveriesSortChoice; + bool getChoice() => _data.discoveriesSortChoice; setChoice(bool c) { - _datas.discoveriesSortChoice = c; + _data.discoveriesSortChoice = c; } - Music getCurrentMusic() => _datas.userCurrentMusic; + Music getCurrentMusic() => _data.userCurrentMusic; setCurrentMusic() async { - _datas.userCurrentMusic = + _data.userCurrentMusic = await getCompleteMusic(await _api.requests.getCurrentlyPlayingTrack()); } - List getSpots() => _datas.spots; + List getSpots() => _data.spots; setSpots() async { - _datas.spots = await Location.sendCurrentLocation(); + _data.spots = await Location.sendCurrentLocation(); } - Map getDiscoveries() => _datas.discoveries; + LinkedHashMap getDiscoveries() => _data.discoveries; setDiscoveries() async { - Map tmpData = await _api.requests.getPlaylistTracks(); - Map tmpCast = {}; + LinkedHashMap tmpData = + await _api.requests.getPlaylistTracks(); + LinkedHashMap tmpCast = LinkedHashMap(); tmpData.forEach((key, value) async { tmpCast[(await getCompleteMusic(key))] = value; }); - _datas.discoveries = tmpCast; + _data.discoveries = tmpCast; } //Data that can not change @@ -81,8 +80,8 @@ class Controller { } Future getCompleteMusic(String id) async { - Map infos = await _api.requests.getTrackInfo(id); - return Music(id, infos['name'], infos['artist'], infos['cover']); + Map info = await _api.requests.getTrackInfo(id); + return Music(id, info['name'], info['artist'], info['cover']); } removeFromPlaylist(String id) {