package com.bumptech.glide.load.resource.gif;
import android.util.Log;
import com.bumptech.glide.load.EncodeStrategy;
import com.bumptech.glide.load.Options;
import com.bumptech.glide.load.ResourceEncoder;
import com.bumptech.glide.load.engine.Resource;
import com.bumptech.glide.util.ByteBufferUtil;
import java.io.File;
import java.io.IOException;
/**
* Writes the original bytes of a {@link com.bumptech.glide.load.resource.gif.GifDrawable} to an
* {@link java.io.OutputStream}.
*/
public class GifDrawableEncoder implements ResourceEncoder<GifDrawable> {
private static final String TAG = "GifEncoder";
@Override
public EncodeStrategy getEncodeStrategy(Options options) {
return EncodeStrategy.SOURCE;
}
@Override
public boolean encode(Resource<GifDrawable> data, File file, Options options) {
GifDrawable drawable = data.get();
boolean success = false;
try {
ByteBufferUtil.toFile(drawable.getBuffer(), file);
success = true;
} catch (IOException e) {
if (Log.isLoggable(TAG, Log.WARN)) {
Log.w(TAG, "Failed to encode GIF drawable data", e);
}
}
return success;
}
}