private async Task SetSongs() { MusicFiles = new List <MediaItem>(); AllMusicFiles = new List <MediaItem>(); ClearMessage(); _musicDictionary.Messages = new List <string>(); var musicFiles = _musicDictionary.GetSongs(); AllMusicFiles = musicFiles?.Select(music => { music._Duration = music.Duration; music._DurationTimeSpan = TimeSpan.FromSeconds(music.Duration) .ToString(music.Duration > (60 * 60) ? @"hh\:mm\:ss" : @"mm\:ss"); return(music); }).OrderBy(m => m.Title).ToList(); IsMediaExists = AllMusicFiles.Count > 0; MusicFiles = AllMusicFiles; IsPermissionGranted = IsMediaExists && _musicDictionary.MediaLibraryAuthorized; SortOrderBy(PlaylistSortBy); if (MusicFiles.Count == 0) { if (!_songReloaded) { _songReloaded = true; SetActivityResource(false, showBusy: true, busyMessage: "Reloading . . ."); await Task.Delay(TimeSpan.FromMilliseconds(1500)); //await SetSongs(); RefreshCommand.Execute(null); } else { SetActivityResource(); } } else { SetActivityResource(); } }