Only load stills for low memory devices

// FREEBIE
This commit is contained in:
Moxie Marlinspike 2016-10-24 13:51:34 -07:00
parent 69d0242574
commit 2c7fcbed60

View File

@ -94,6 +94,11 @@ public class GiphyAdapter extends RecyclerView.Adapter<GiphyAdapter.GiphyViewHol
.downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) .downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.get(); .get();
} }
public synchronized void setModelReady() {
this.modelReady = true;
notifyAll();
}
} }
GiphyAdapter(Context context, List<GiphyImage> images) { GiphyAdapter(Context context, List<GiphyImage> images) {
@ -131,13 +136,23 @@ public class GiphyAdapter extends RecyclerView.Adapter<GiphyAdapter.GiphyViewHol
DrawableRequestBuilder<String> thumbnailRequest = Glide.with(context) DrawableRequestBuilder<String> thumbnailRequest = Glide.with(context)
.load(image.getStillUrl()); .load(image.getStillUrl());
Glide.with(context) if (Util.isLowMemory(context)) {
.load(image.getGifUrl()) Glide.with(context)
.thumbnail(thumbnailRequest) .load(image.getStillUrl())
.placeholder(new ColorDrawable(Util.getRandomElement(MaterialColor.values()).toConversationColor(context))) .placeholder(new ColorDrawable(Util.getRandomElement(MaterialColor.values()).toConversationColor(context)))
.diskCacheStrategy(DiskCacheStrategy.ALL) .diskCacheStrategy(DiskCacheStrategy.ALL)
.listener(holder) .into(holder.thumbnail);
.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);
}
} }
@Override @Override