private void GetTrackData() { try { Android.Net.Uri musicUri = Android.Provider.MediaStore.Audio.Media.ExternalContentUri; ICursor musicCursor = _activity.ContentResolver.Query(musicUri, null, null, null, null); if (musicCursor != null && musicCursor.Count > 0) { musicCursor.MoveToFirst(); do { var track = new ExtendedTrack(); track.PlayListID = _playListID; track.TrackName = musicCursor.GetString(musicCursor.GetColumnIndex(Android.Provider.MediaStore.Audio.AudioColumns.Title)).Trim(); track.TrackArtist = musicCursor.GetString(musicCursor.GetColumnIndex(Android.Provider.MediaStore.Audio.AudioColumns.Artist)); track.TrackDuration = Convert.ToInt32(musicCursor.GetString(musicCursor.GetColumnIndex(Android.Provider.MediaStore.Audio.AudioColumns.Duration))); var uri = ContentUris.WithAppendedId(musicUri, (long)musicCursor.GetLong(musicCursor.GetColumnIndex(Android.Provider.MediaStore.Audio.AudioColumns.Id))); track.TrackUri = uri.ToString(); _tracksOnDevice.Add(track); }while (musicCursor.MoveToNext()); } } catch (Exception e) { Log.Error(TAG, "GetTrackData: Exception - " + e.Message); if (GlobalData.ShowErrorDialog) { ErrorDisplay.ShowErrorAlert(_activity, e, _activity.GetString(Resource.String.ErrorMusicPickerGetData), "MusicPickerTrackListAdapter.GetTrackData"); } } }
public MainViewModel(ISoundCloudClient client) { playList = new ExtendedPlayList(); track = new ExtendedTrack(); _userPlayListService = new UserPlayListService(client); ExtendedTracks = new ObservableCollection <ExtendedTrack>(); PlayLists = new ObservableCollection <ExtendedPlayList>(); }