private async void TryLoadBackground(VKAudioWithImage track) { if (_backgroundLoaded) { return; } else if (track == null) { HubBackgroundImage = HUB_BACKGROUND_DEFAULT; return; } _backgroundLoaded = true; string imagePath = await _imagesCacheService.GetCachedArtistImage(track.Artist); if (imagePath == null) { HubBackgroundImage = HUB_BACKGROUND_DEFAULT; imagePath = await _imagesCacheService.CacheAndGetArtistImage(track.Artist); } if (imagePath != null) { HubBackgroundImage = imagePath; } else { _backgroundLoaded = false; } }
private async void TryLoadFirstTrackInfo(VKAudioWithImage track) { string imagePath = await _imagesCacheService.GetCachedAlbumImage(track.Title); if (imagePath == null) { imagePath = await _imagesCacheService.CacheAndGetAlbumImage(track.Title, track.Artist); } if (imagePath != null) { track.ImageURL = imagePath; } }
private async Task <IEnumerable <Audio> > LoadUserTracks() { if (UserTracks.Any()) { return(new List <Audio>()); } int trackToLoad = 10; #if WINDOWS_UWP trackToLoad = 10; #endif var response = await _inTouchWrapper.ExecuteRequest(_inTouch.Audio.Get(count: trackToLoad)); if (response.IsError) { throw new Exception(response.Error.ToString()); } else { if (response.Data.Items.Count == 0) { return(new List <Audio>()); } #if WINDOWS_UWP TotalTracksCount = response.Data.Count; var tracks = new List <Audio>(response.Data.Items); tracks.Add(new Audio { Title = VKSAVER_SEE_ALSO_TEXT }); return(tracks); #else FirstTrack = new VKAudioWithImage { VKTrack = response.Data.Items[0] }; TryLoadFirstTrackInfo(FirstTrack); TryLoadBackground(FirstTrack); return(response.Data.Items.Skip(1)); #endif } }