package com.bumptech.glide.load.resource.transcode; import com.bumptech.glide.load.engine.Resource; import com.bumptech.glide.load.resource.bytes.BytesResource; import com.bumptech.glide.load.resource.gif.GifDrawable; import com.bumptech.glide.util.ByteBufferUtil; import java.nio.ByteBuffer; /** * An {@link com.bumptech.glide.load.resource.transcode.ResourceTranscoder} that converts {@link * com.bumptech.glide.load.resource.gif.GifDrawable} into bytes by obtaining the original bytes of * the GIF from the {@link com.bumptech.glide.load.resource.gif.GifDrawable}. */ public class GifDrawableBytesTranscoder implements ResourceTranscoder<GifDrawable, byte[]> { @Override public Resource<byte[]> transcode(Resource<GifDrawable> toTranscode) { GifDrawable gifData = toTranscode.get(); ByteBuffer byteBuffer = gifData.getBuffer(); return new BytesResource(ByteBufferUtil.toBytes(byteBuffer)); } }