From 10dddd8a24a80d1d539997d8eaa9763c62bd02ad Mon Sep 17 00:00:00 2001 From: Mark Wei Date: Mon, 4 Nov 2013 21:24:34 -0800 Subject: Add some documentation. Change-Id: Ie32f29997946714d10318b111fabf4ed04e042e3 --- .../bitmap/drawable/BasicBitmapDrawable.java | 43 ++++++++++++++++++---- 1 file changed, 35 insertions(+), 8 deletions(-) (limited to 'src/com/android/bitmap/drawable/BasicBitmapDrawable.java') diff --git a/src/com/android/bitmap/drawable/BasicBitmapDrawable.java b/src/com/android/bitmap/drawable/BasicBitmapDrawable.java index 503c004..7bb29a4 100644 --- a/src/com/android/bitmap/drawable/BasicBitmapDrawable.java +++ b/src/com/android/bitmap/drawable/BasicBitmapDrawable.java @@ -105,31 +105,49 @@ public class BasicBitmapDrawable extends Drawable implements DecodeCallback, } } - public RequestKey getKey() { + public final RequestKey getKey() { return mCurrKey; } - protected ReusableBitmap getBitmap() { + protected final ReusableBitmap getBitmap() { return mBitmap; } /** - * Set the dimensions to decode into. + * Set the dimensions to decode into. These dimensions should never change while the drawable is + * attached to the same cache, because caches can only contain bitmaps of one size for re-use. + * + * All UI operations should be called from the UI thread. */ - public void setDecodeDimensions(int w, int h) { + public final void setDecodeDimensions(int w, int h) { mDecodeWidth = w; mDecodeHeight = h; loadFileDescriptorFactory(); } - public void unbind() { - setImage(null); + /** + * Binds to the given key and start the decode process. This will first look in the cache, then + * decode from the request key if not found. + * + * All UI operations should be called from the UI thread. + */ + public final void bind(RequestKey key) { + setImage(key); } - public void bind(RequestKey key) { - setImage(key); + /** + * Unbinds the current key and bitmap from the drawable. This will cause the bitmap to decrement + * its ref count. + * + * All UI operations should be called from the UI thread. + */ + public final void unbind() { + setImage(null); } + /** + * Should only be overriden, not called. + */ protected void setImage(final RequestKey key) { if (mCurrKey != null && mCurrKey.equals(key)) { return; @@ -178,6 +196,9 @@ public class BasicBitmapDrawable extends Drawable implements DecodeCallback, Trace.endSection(); } + /** + * Should only be overriden, not called. + */ protected void setBitmap(ReusableBitmap bmp) { if (mBitmap != null && mBitmap != bmp) { mBitmap.releaseReference(); @@ -186,6 +207,9 @@ public class BasicBitmapDrawable extends Drawable implements DecodeCallback, invalidateSelf(); } + /** + * Should only be overriden, not called. + */ protected void loadFileDescriptorFactory() { if (mCurrKey == null || mDecodeWidth == 0 || mDecodeHeight == 0) { return; @@ -214,6 +238,9 @@ public class BasicBitmapDrawable extends Drawable implements DecodeCallback, } } + /** + * Should only be overriden, not called. + */ protected void decode(final FileDescriptorFactory factory) { Trace.beginSection("decode"); final int bufferW; -- cgit v1.2.3