private async Task <IEnumerable <Audio> > LoadRecommendedTracks() { if (RecommendedTracksVK.Any()) { return(new List <Audio>()); } int trackToLoad = 10; #if WINDOWS_UWP trackToLoad = 15; #endif var response = await _inTouchWrapper.ExecuteRequest(_inTouch.Audio.GetRecommendations(count: trackToLoad)); if (response.IsError) { throw new Exception(response.Error.ToString()); } #if WINDOWS_UWP var tracks = new List <Audio>(response.Data.Items); tracks.Add(new Audio { Title = VKSAVER_SEE_ALSO_TEXT }); return(tracks); #else return(response.Data.Items); #endif }
private async void OnPlayRecommendedTracksCommand(Audio track) { if (track.Title == VKSAVER_SEE_ALSO_TEXT) { OnGoToRecommendedViewCommand(); return; } await _playerService.PlayNewTracks(RecommendedTracksVK .Where(a => a.Title != VKSAVER_SEE_ALSO_TEXT) .Select(a => a.ToPlayerTrack()), RecommendedTracksVK.IndexOf(track)); #if !WINDOWS_UWP _navigationService.Navigate("PlayerView", null); #endif }
public override async void OnNavigatedTo(NavigatedToEventArgs e, Dictionary <string, object> viewModelState) { _backgroundLoaded = false; if (viewModelState.Count > 0) { #if !WINDOWS_UWP FirstTrack = JsonConvert.DeserializeObject <VKAudioWithImage>( viewModelState[nameof(FirstTrack)].ToString()); #endif UserTracks = JsonConvert.DeserializeObject <SimpleStateSupportCollection <Audio> >( viewModelState[nameof(UserTracks)].ToString()); TopArtistsLF = JsonConvert.DeserializeObject <SimpleStateSupportCollection <LastArtist> >( viewModelState[nameof(TopArtistsLF)].ToString(), _lastImageSetConverter); RecommendedTracksVK = JsonConvert.DeserializeObject <SimpleStateSupportCollection <Audio> >( viewModelState[nameof(RecommendedTracksVK)].ToString()); UserTracks.LoadItems = LoadUserTracks; TopArtistsLF.LoadItems = LoadTopArtists; RecommendedTracksVK.LoadItems = LoadRecommendedTracks; } else { UserTracks = new SimpleStateSupportCollection <Audio>(LoadUserTracks); TopArtistsLF = new SimpleStateSupportCollection <LastArtist>(LoadTopArtists); RecommendedTracksVK = new SimpleStateSupportCollection <Audio>(LoadRecommendedTracks); } UserTracks.Load(); TopArtistsLF.Load(); RecommendedTracksVK.Load(); #if !WINDOWS_UWP TryLoadBackground(FirstTrack); #endif base.OnNavigatedTo(e, viewModelState); await Task.Delay(2000); _adsService.ActivateAds(); }
public override void OnNavigatingFrom(NavigatingFromEventArgs e, Dictionary <string, object> viewModelState, bool suspending) { if (e.NavigationMode == NavigationMode.New) { #if !WINDOWS_UWP viewModelState[nameof(FirstTrack)] = JsonConvert.SerializeObject(FirstTrack); #endif viewModelState[nameof(UserTracks)] = JsonConvert.SerializeObject(UserTracks.ToList()); viewModelState[nameof(TopArtistsLF)] = JsonConvert.SerializeObject(TopArtistsLF.ToList(), _lastImageSetConverter); viewModelState[nameof(RecommendedTracksVK)] = JsonConvert.SerializeObject(RecommendedTracksVK.ToList()); } base.OnNavigatingFrom(e, viewModelState, suspending); }