/* * This file provided by Facebook is for non-commercial testing and evaluation * purposes only. Facebook reserves all rights not expressly granted. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ package com.facebook.fresco.sample.adapters; import android.content.Context; import com.bumptech.glide.Glide; import com.facebook.fresco.sample.Drawables; import com.facebook.fresco.sample.instrumentation.InstrumentedImageView; import com.facebook.fresco.sample.instrumentation.PerfListener; /** Populate the list view with images using the Glide library. */ public class GlideAdapter extends ImageListAdapter<InstrumentedImageView> { private final Context mContext; public GlideAdapter(Context context, int resourceId, PerfListener perfListener) { super(context, resourceId, perfListener); mContext = context; } @Override protected Class<InstrumentedImageView> getViewClass() { return InstrumentedImageView.class; } @Override protected InstrumentedImageView createView() { return new InstrumentedImageView(getContext()); } @Override protected void bind(InstrumentedImageView view, String uri) { Glide.with(mContext) .load(uri) .placeholder(Drawables.sPlaceholderDrawable) .error(Drawables.sErrorDrawable) .crossFade() .into(view); } @Override public void shutDown() { super.clear(); Glide.get(mContext).clearMemory(); } }