Skip to content

Instantly share code, notes, and snippets.

View TWiStErRob's full-sized avatar

Róbert Papp TWiStErRob

View GitHub Profile
@TWiStErRob
TWiStErRob / DrawableBitmapResourceDecoder.java
Last active October 24, 2016 15:15
Glide 3.6.0 proof of concept for loading a Drawable as Bitmap through Glide
class DrawableBitmapResourceDecoder implements ResourceDecoder<Drawable, Bitmap> {
private final BitmapPool pool;
public DrawableBitmapResourceDecoder(Context context) {
this(Glide.get(context).getBitmapPool());
}
public DrawableBitmapResourceDecoder(BitmapPool pool) {
this.pool = pool;
}
@Override public Resource<Bitmap> decode(Drawable drawable, int width, int height) throws IOException {
@TWiStErRob
TWiStErRob / DrawableDrawableResoureDecoder.java
Last active August 29, 2015 14:20
Glide 3.6.0 proof of concept for loading a Drawable as Drawable through Glide
class DrawableResoureDecoder implements ResourceDecoder<Drawable, Drawable> {
@Override public Resource<Drawable> decode(Drawable source, int width, int height) throws IOException {
return new DrawableResource<Drawable>(source) {
@Override public int getSize() { return 1; }
@Override public void recycle() { }
};
}
@Override public String getId() { return "DrawableDrawableResourceDecoder"; }
}
@TWiStErRob
TWiStErRob / ExternalCacheDiskCacheFactory.java
Last active August 29, 2015 14:19
Glide DiskCache.Factory implementation to use the context-provided externalCacheDir
import java.io.File;
import android.content.Context;
import com.bumptech.glide.load.engine.cache.*;
public final class ExternalCacheDiskCacheFactory implements DiskCache.Factory {
private final Context context;
private final String diskCacheName;
private final int diskCacheSize;
public ExternalCacheDiskCacheFactory(Context context, int diskCacheSize) {
@TWiStErRob
TWiStErRob / gist:45c8e9937c5483191ba5
Created August 31, 2014 21:47
Check if Java environment hangs on to File descriptors when using FileOutputStream
public static boolean isFOSHoldingOnToFile() {
return !canDeleteCreatedFile() || !canRenameCreatedFile();
}
public static boolean canDeleteCreatedFile() {
File temp = null;
try {
temp = File.createTempFile("canDeleteCreatedFile", null, Robolectric.application.getCacheDir());
if(!temp.delete()) {
return false;