34 lines
1.2 KiB
Java
34 lines
1.2 KiB
Java
package code.name.monkey.retromusic.glide.palette;
|
|
|
|
import android.content.Context;
|
|
import android.graphics.Bitmap;
|
|
|
|
import com.bumptech.glide.Glide;
|
|
import com.bumptech.glide.load.engine.Resource;
|
|
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
|
import com.bumptech.glide.load.resource.transcode.ResourceTranscoder;
|
|
import code.name.monkey.retromusic.util.RetroColorUtil;
|
|
|
|
public class BitmapPaletteTranscoder implements ResourceTranscoder<Bitmap, BitmapPaletteWrapper> {
|
|
private final BitmapPool bitmapPool;
|
|
|
|
public BitmapPaletteTranscoder(Context context) {
|
|
this(Glide.get(context).getBitmapPool());
|
|
}
|
|
|
|
public BitmapPaletteTranscoder(BitmapPool bitmapPool) {
|
|
this.bitmapPool = bitmapPool;
|
|
}
|
|
|
|
@Override
|
|
public Resource<BitmapPaletteWrapper> transcode(Resource<Bitmap> bitmapResource) {
|
|
Bitmap bitmap = bitmapResource.get();
|
|
BitmapPaletteWrapper bitmapPaletteWrapper = new BitmapPaletteWrapper(bitmap, RetroColorUtil.generatePalette(bitmap));
|
|
return new BitmapPaletteResource(bitmapPaletteWrapper, bitmapPool);
|
|
}
|
|
|
|
@Override
|
|
public String getId() {
|
|
return "BitmapPaletteTranscoder.code.name.monkey.retromusic.glide.palette";
|
|
}
|
|
} |