private void doShow(ImageLoaderQueueItem item, BitmapImage image) { if (item.View != null && image != null) { Util.call(() => { item.View.Source = image; }); } if (item.Listener != null) { Util.call(() => { if (image == null) { item.Listener(LoadingState.Failed, item.Url, item.View, image); } else { item.Listener(LoadingState.Completed, item.Url, item.View, image); } }); } }
private async Task doProcess(ImageLoaderQueueItem item) { IBuffer buffer = null; BitmapImage image = null; if (buffer == null) { item.Listener(LoadingState.Started, item.Url, item.View, null); buffer = await config.ImageDownloader.download(item.Url, item.Options.ExtraForDownloader); image = await doDecode(item, buffer); await doSave(item, buffer); } doShow(item, image); }
//--------- private ImageLoaderQueueItem add(ImageLoaderQueueItem item) { item.Code = item.Url.GetHashCode(); if (queue.FirstOrDefault(m => m.Code == item.Code) != null) { if (item.Listener != null) { item.Listener(LoadingState.Cancelled, item.Url, item.View, null); } return(item); } doTryAdd(item); return(item); }
//--------- private ImageLoaderQueueItem add(ImageLoaderQueueItem item) { item.Code = item.Url.GetHashCode(); if (queue.FirstOrDefault(m => m.Code == item.Code) != null) { if (item.Listener != null) { item.Listener(LoadingState.Cancelled, item.Url, item.View, null); } return item; } doTryAdd(item); return item; }
private void doShow(ImageLoaderQueueItem item, BitmapImage image) { if (item.View != null && image != null) { Util.call(() => { item.View.Source = image; }); } if (item.Listener != null) { Util.call(() => { if (image == null) item.Listener(LoadingState.Failed, item.Url, item.View, image); else item.Listener(LoadingState.Completed, item.Url, item.View, image); }); } }
private async Task doProcess(ImageLoaderQueueItem item) { IBuffer buffer = null; BitmapImage image = null; if (buffer == null) { item.Listener(LoadingState.Started, item.Url, item.View, null); buffer = await config.ImageDownloader.download(item.Url, item.Options.ExtraForDownloader); image = await doDecode(item, buffer); await doSave(item, buffer); } doShow(item, image); }