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)))); }
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)); } } }
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)); }