public static void Download(string url, ImageView imageView, Resources resources, Bitmap placeholder) { if(CancelPotentialDownload(url, imageView)) { var task = new DownloadImageTask(imageView); var drawable = new AsyncDrawable(resources, placeholder, task); imageView.SetImageDrawable(drawable); task.Execute(url); } }
public static void Download(string url, ImageView imageView, Resources resources, Bitmap placeholder) { if (CancelPotentialDownload(url, imageView)) { var task = new DownloadImageTask(imageView); var drawable = new AsyncDrawable(resources, placeholder, task); imageView.SetImageDrawable(drawable); task.Execute(url); } }
private static bool CancelPotentialDownload(string url, ImageView imageView) { DownloadImageTask task = GetTask(imageView); if (task != null) { string bitmapData = task.Url; if (bitmapData != url) { task.Cancel(true); } else { return(false); } } return(true); }
protected override void OnPostExecute(Java.Lang.Object result) { Bitmap bitmap = result as Bitmap; if (IsCancelled) { bitmap = null; } if (imgRef != null && bitmap != null) { ImageView img = (ImageView)imgRef.Target; DownloadImageTask task = BitmapUtils.GetTask(img); if (this == task && img != null) { img.SetImageBitmap(bitmap); } } }
public AsyncDrawable(Resources resources, Bitmap bitmap, DownloadImageTask task) : base(resources, bitmap) { taskRef = new WeakReference(task); }