Exemple #1
0
        public static AudioEpisode GetAudioEpisode (Intent intent, Album album)
        {
            if (album == null || album.Episodes == null)
            {
                return AudioEpisode.Empty;
            }

            var episode = album
                    .Episodes
                    .FirstOrDefault (e => e.Id == intent.GetIntExtra (EPISODE_ID_INTENT_EXTRA, -1));

            return episode ?? AudioEpisode.Empty;
        }
 static void LoadRemoteEpisodes (Album album)
 {
     var client = new WebServiceClient ();
     var request = new WebServiceRequest ("/albums/" + album.Id + "/episodes", Method.GET);
     var response = client.Execute (request);
     var episodes = JsonConvert.DeserializeObject<List<AudioEpisode>> (response.Content);
     album.Episodes = episodes;
     if (DrunkAudibleApplication.Self.Database.Albums.All (a => a.Id != album.Id))
     {
         DrunkAudibleApplication.Self.Database.InsertOrUpdate (album);
         DrunkAudibleApplication.Self.Database.Albums.Add (album);
     }
 }
        public void InsertOrUpdate (Album album)
        {
            CreateTable<Album> ();
            InsertOrReplace (album);

            // Update all the related tables, because the Album instance holds the reference to the Authors collection
            // object that cannot be stored directly into the same table.
            if (album.Authors != null)
            {
                SaveAlbumAuthors (album.Authors.ToArray (), album.Id);

            }
            if (album.Episodes != null)
            {
                SaveAlbumEpisodes (album.Episodes.ToArray (), album.Id);
            }
        }
        protected override void OnCreate (Bundle savedInstanceState)
        {
            base.OnCreate (savedInstanceState);

            SetContentView (Resource.Layout.AudioListView);
            _album = ExtraUtils.GetAlbum (DrunkAudibleApplication.Self.Database, Intent);
            Title = _album.Title;
            ListAdapter = new AudioListAdapter (this, _album);
            ListView.ItemClick += OnAlbumItemClicked;

            if (_album == DrunkAudibleApplication.Self.CurrentAlbum)
            {
                var currentEpisode = DrunkAudibleApplication.Self.CurrentEpisode;
                if (!AudioEpisode.IsNullOrEmpty (currentEpisode))
                {
                    ListView.SetSelection (_album.Episodes.IndexOf(currentEpisode));
                }
            }
        }
 public AudioListAdapter (Context context, Album album)
     : base (context, album.Episodes.ToList<IIconAndTitleItem> (), Resource.Layout.AudioListViewElement)
 {
     _album = album;
 }
Exemple #6
0
 public static bool IsNullOrEmpty (Album album)
 {
     return album == null || album == Empty;
 }
 static void LoadRemoteEpisodesAsync (Album album)
 {
     Task.Factory.StartNew (() => LoadRemoteEpisodes (album));
 }