package org.ebookdroid.common.bitmaps; import android.graphics.Bitmap; import android.graphics.Canvas; class BitmapRef extends AbstractBitmapRef { private volatile Bitmap bitmap; BitmapRef(final Bitmap bitmap, final long generation) { super(bitmap.getConfig(), bitmap.hasAlpha(), bitmap.getWidth(), bitmap.getHeight(), generation); this.bitmap = bitmap; } @Override public Canvas getCanvas() { return new Canvas(bitmap); } @Override public Bitmap getBitmap() { return bitmap; } @Override public boolean isRecycled() { if (bitmap != null) { if (!bitmap.isRecycled()) { return false; } bitmap = null; } return true; } @Override void recycle() { bitmap = null; } @Override public String toString() { return "BitmapRef [id=" + id + ", name=" + name + ", width=" + width + ", height=" + height + ", size=" + size + "]"; } }