Example #1
0
  @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);
    }
  }