internal static void SetBitmap(ImageView target, Context context, Bitmap bitmap, LoadedFrom loadedFrom, FadeMode fadeMode) { Drawable placeholder = target.Drawable; var drawable = new PicassoDrawable(context, bitmap, placeholder, loadedFrom, fadeMode); target.SetImageDrawable(drawable); }
protected override void OnComplete(Bitmap bitmap, LoadedFrom loadedFrom) { if (bitmap == null) { throw new Exception(String.Format("Attempted to complete action with no result!\n{0}", this)); } var target = this.Target as ImageView; if (target == null || target.Handle == IntPtr.Zero) { return; } PicassoDrawable.SetBitmap(target, m_Picasso.Context, bitmap, loadedFrom, FadeMode); }
public void Into(ImageView target) { if (target == null) { throw new ArgumentNullException("target"); } if (!m_Data.HasImage) { m_Picasso.CancelRequest(target); return; } if (m_OnStartListener != null) { m_OnStartListener(); } if (m_Deferred) { if (m_Data.HasSize) { throw new InvalidOperationException("Fit cannot be used with resize."); } int width = target.Width; int height = target.Height; if (width == 0 || height == 0) { PicassoDrawable.SetPlaceholder(target, m_PlaceholderDrawable); m_Picasso.Defer(target, new DeferredRequestCreator(this, target)); return; } m_Data.Resize(width, height); } Request <Bitmap> request = CreateRequest(); string key = Utils.CreateKey(request); var action = new ImageViewAction( m_Picasso, target, request, m_SkipCache, m_FadeMode, key, m_ErrorDrawable, m_OnSuccessListener, m_OnFailureListener, m_OnFinishListener); if (!m_SkipCache) { Bitmap cachedImage = m_Picasso.QuickMemoryCacheCheck(key); if (cachedImage != null && !cachedImage.IsRecycled) { m_Picasso.CancelRequest(target); action.Complete(cachedImage, LoadedFrom.Memory); return; } } PicassoDrawable.SetPlaceholder(target, m_PlaceholderDrawable); m_Picasso.EnqueueAndSubmit(action); }