Esempio n. 1
0
        public IObservable <BitmapSource> GetAvatar(IAvatarContainer apiAccount)
        {
            Guard.ArgumentNotNull(apiAccount, nameof(apiAccount));

            if (apiAccount.AvatarUrl == null)
            {
                return(Observable.Return(DefaultAvatar(apiAccount)));
            }

            Uri avatarUrl;

            Uri.TryCreate(apiAccount.AvatarUrl, UriKind.Absolute, out avatarUrl);
            Log.Assert(avatarUrl != null, "Cannot have a null avatar url");

            return(imageCache.GetImage(avatarUrl)
                   .Catch <BitmapSource, Exception>(_ => Observable.Return(DefaultAvatar(apiAccount))));
        }
Esempio n. 2
0
 private static void WriteImages(IImageCache cache, IEnumerable <string> keys, ZipArchive archive, IFileSystem fileIO)
 {
     foreach (var key in keys)
     {
         var imageEntry = archive.CreateEntry(key);
         using (var imageStream = imageEntry.Open())
         {
             fileIO.WriteBinary(imageStream, cache.GetImage(key));
         }
     }
 }
Esempio n. 3
0
 private static void WriteImages(IImageCache cache, IEnumerable<string> keys, ZipArchive archive, IFileSystem fileIO)
 {
     foreach (var key in keys)
     {
         var imageEntry = archive.CreateEntry(key);
         using (var imageStream = imageEntry.Open())
         {
             fileIO.WriteBinary(imageStream, cache.GetImage(key));
         }
     }
 }
 public IObservable <BitmapSource> GetImage(Uri url)
 {
     return(cacheDelegate.GetImage(url));
 }