diff options
-rw-r--r-- | src/com/android/camera/Camera.java | 6 | ||||
-rw-r--r-- | src/com/android/camera/Thumbnail.java | 14 | ||||
-rw-r--r-- | src/com/android/camera/VideoCamera.java | 3 |
3 files changed, 16 insertions, 7 deletions
diff --git a/src/com/android/camera/Camera.java b/src/com/android/camera/Camera.java index 4c576a5..1a598f2 100644 --- a/src/com/android/camera/Camera.java +++ b/src/com/android/camera/Camera.java @@ -1251,10 +1251,8 @@ public class Camera extends ActivityBase implements FocusManager.Listener, if (mFirstTimeInitialized) { mOrientationListener.disable(); - if (!mIsImageCaptureIntent) { - if (mThumbnail != null) { - mThumbnail.saveTo(new File(getFilesDir(), Thumbnail.LAST_THUMB_FILENAME)); - } + if (!mIsImageCaptureIntent && mThumbnail != null && !mThumbnail.fromFile()) { + mThumbnail.saveTo(new File(getFilesDir(), Thumbnail.LAST_THUMB_FILENAME)); } } diff --git a/src/com/android/camera/Thumbnail.java b/src/com/android/camera/Thumbnail.java index d35b966..a0f892b 100644 --- a/src/com/android/camera/Thumbnail.java +++ b/src/com/android/camera/Thumbnail.java @@ -48,6 +48,8 @@ public class Thumbnail { private Uri mUri; private Bitmap mBitmap; + // whether this thumbnail is read from file + private boolean mFromFile = false; public Thumbnail(Uri uri, Bitmap bitmap, int orientation) { mUri = uri; @@ -63,6 +65,14 @@ public class Thumbnail { return mBitmap; } + public void setFromFile(boolean fromFile) { + mFromFile = fromFile; + } + + public boolean fromFile() { + return mFromFile; + } + private static Bitmap rotateImage(Bitmap bitmap, int orientation) { if (orientation != 0) { // We only rotate the thumbnail once even if we get OOM. @@ -128,7 +138,9 @@ public class Thumbnail { Util.closeSilently(b); Util.closeSilently(d); } - return createThumbnail(uri, bitmap, 0); + Thumbnail thumbnail = createThumbnail(uri, bitmap, 0); + if (thumbnail != null) thumbnail.setFromFile(true); + return thumbnail; } public static Thumbnail getLastThumbnail(ContentResolver resolver) { diff --git a/src/com/android/camera/VideoCamera.java b/src/com/android/camera/VideoCamera.java index a95ef27..10cfc85 100644 --- a/src/com/android/camera/VideoCamera.java +++ b/src/com/android/camera/VideoCamera.java @@ -71,7 +71,6 @@ import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; -import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -928,7 +927,7 @@ public class VideoCamera extends ActivityBase } resetScreenOn(); - if (!mIsVideoCaptureIntent && mThumbnail != null) { + if (!mIsVideoCaptureIntent && mThumbnail != null && !mThumbnail.fromFile()) { mThumbnail.saveTo(new File(getFilesDir(), Thumbnail.LAST_THUMB_FILENAME)); } |