@Override public void onBindViewHolder(GiphyViewHolder holder, int position) { GiphyImage image = images.get(position); holder.modelReady = false; holder.image = image; holder.thumbnail.setAspectRatio(image.getGifAspectRatio()); holder.gifProgress.setVisibility(View.GONE); DrawableRequestBuilder<String> thumbnailRequest = Glide.with(context).load(image.getStillUrl()); if (Util.isLowMemory(context)) { Glide.with(context) .load(image.getStillUrl()) .placeholder( new ColorDrawable( Util.getRandomElement(MaterialColor.values()).toConversationColor(context))) .diskCacheStrategy(DiskCacheStrategy.ALL) .into(holder.thumbnail); holder.setModelReady(); } else { Glide.with(context) .load(image.getGifUrl()) .thumbnail(thumbnailRequest) .placeholder( new ColorDrawable( Util.getRandomElement(MaterialColor.values()).toConversationColor(context))) .diskCacheStrategy(DiskCacheStrategy.ALL) .listener(holder) .into(holder.thumbnail); } }