Merge "Fixes save filename for panos after edit." into gb-ub-photos-carlsbad
diff --git a/src/com/android/camera/data/LocalData.java b/src/com/android/camera/data/LocalData.java
index 9f9be8e..5acdee1 100644
--- a/src/com/android/camera/data/LocalData.java
+++ b/src/com/android/camera/data/LocalData.java
@@ -21,6 +21,7 @@
 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.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 @@
             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 @@
                     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 @@
         }
 
         @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);