Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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;
            }
        }
Exemple #3
0
        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
            }
        }