Exemplo n.º 1
0
        protected override void ModelChanged()
        {
            base.ModelChanged();
            Model.ShowHeaders = true;
            Model.CellFor    += (item) => {
                if (item is Song)
                {
                    return new SongSearchCell {
                               BindingContext = item
                    }
                }
                ;
                return(null);
            };
            Model.CellForHeader += (header) => new HeaderCell {
                Title = header
            };
            Model.ItemSelected += ModelOnItemSelected;
        }

        async void ModelOnItemSelected(object sender, EventArgs <MediaItemBase> eventArgs)
        {
            var song = eventArgs.Data as Song;

            if (song != null)
            {
                return;
            }

            TableView.DeselectAll(this);
            if (eventArgs.Data == null)
            {
                return;
            }

            var album = eventArgs.Data as Album;

            if (album != null)
            {
                var vc = new AlbumDetailViewController().View;
                vc.Album = album;
                Parent.NavigationController.Push(vc);
                return;
            }

            var onlineArtist = eventArgs.Data as OnlineArtist;

            if (onlineArtist != null)
            {
//				var vc = new OnlineArtistDetailsViewController
//				{
//					Artist = onlineArtist,
//				};
//				this.NavigationController.PushViewController(vc, true);
                return;
            }

            var artist = eventArgs.Data as Artist;

            if (artist != null)
            {
//				var vc = new ArtistDetailViewController
//				{
//					Artist = artist,
//				};
//				this.NavigationController.PushViewController(vc,true);
                return;
            }

            var onlineRadio = eventArgs.Data as OnlineRadioStation;

            if (onlineRadio != null)
            {
                using (new Spinner("Creating Station"))
                {
                    var statsion = await MusicManager.Shared.CreateRadioStation(onlineRadio);

                    await PlaybackManager.Shared.Play(statsion);
                }
                return;
            }
            var radio = eventArgs.Data as RadioStation;

            if (radio != null)
            {
                return;
            }

            var onlinePlaylist = eventArgs.Data as OnlinePlaylist;

            if (onlinePlaylist != null)
            {
//				var vc = new OnlinePlaylistViewController()
//				{
//					Playlist = onlinePlaylist,
//				};
//				this.NavigationController.PushViewController(vc, true);
                return;
            }
            App.ShowNotImplmented();
        }
    }
Exemplo n.º 2
0
 public async Task Download(Track track)
 {
     App.ShowNotImplmented();
 }