diff options
Diffstat (limited to 'src/com/android/camera/data/LocalData.java')
-rw-r--r-- | src/com/android/camera/data/LocalData.java | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/src/com/android/camera/data/LocalData.java b/src/com/android/camera/data/LocalData.java index 9f9be8e80..5acdee162 100644 --- a/src/com/android/camera/data/LocalData.java +++ b/src/com/android/camera/data/LocalData.java @@ -21,6 +21,7 @@ import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; +import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.media.MediaMetadataRetriever; import android.os.AsyncTask; @@ -32,6 +33,7 @@ import android.view.View; import android.widget.ImageView; import com.android.camera.ui.FilmStripView; +import com.android.gallery3d.R; import java.util.Comparator; import java.util.Date; @@ -123,19 +125,23 @@ abstract interface LocalData extends FilmStripView.ImageData { return false; } - @Override - public View getView(Context c, + protected ImageView getImageView(Context c, int decodeWidth, int decodeHeight, Drawable placeHolder) { ImageView v = new ImageView(c); - v.setImageDrawable(placeHolder); + v.setBackground(placeHolder); - v.setScaleType(ImageView.ScaleType.FIT_XY); BitmapLoadTask task = getBitmapLoadTask(v, decodeWidth, decodeHeight); task.execute(); return v; } @Override + public View getView(Context c, + int decodeWidth, int decodeHeight, Drawable placeHolder) { + return getImageView(c, decodeWidth, decodeHeight, placeHolder); + } + + @Override public void prepare() { synchronized (mUsing) { mUsing = true; @@ -179,8 +185,9 @@ abstract interface LocalData extends FilmStripView.ImageData { Log.e(TAG, "Failed decoding bitmap for file:" + path); return; } - mView.setScaleType(ImageView.ScaleType.FIT_XY); - mView.setImageBitmap(bitmap); + BitmapDrawable d = new BitmapDrawable(bitmap); + d.setGravity(android.view.Gravity.FILL); + mView.setBackground(d); } } } @@ -403,6 +410,15 @@ abstract interface LocalData extends FilmStripView.ImageData { } @Override + public View getView(Context c, + int decodeWidth, int decodeHeight, Drawable placeHolder) { + ImageView v = getImageView(c, decodeWidth, decodeHeight, placeHolder); + v.setImageResource(R.drawable.ic_control_play); + v.setScaleType(ImageView.ScaleType.CENTER); + return v; + } + + @Override protected BitmapLoadTask getBitmapLoadTask( ImageView v, int decodeWidth, int decodeHeight) { return new VideoBitmapLoadTask(v); |