From 95b65b1c84ad44b43bd3defbdba5d881c0881d35 Mon Sep 17 00:00:00 2001 From: Chung-yih Wang Date: Tue, 7 Dec 2010 16:25:31 +0800 Subject: Don't show camera/video thumbnails if no pic/video taken. Camera: Don't show camera roll stack control if no images were taken yet. bug:3252739 Change-Id: I5998ceade0172a45be637fa7c967d266e2079832 --- src/com/android/camera/Camera.java | 6 ++++- src/com/android/camera/VideoCamera.java | 41 ++++++++++++++++++--------------- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/src/com/android/camera/Camera.java b/src/com/android/camera/Camera.java index 98e0e7a..ab4ef7b 100644 --- a/src/com/android/camera/Camera.java +++ b/src/com/android/camera/Camera.java @@ -382,7 +382,6 @@ public class Camera extends NoSearchActivity implements View.OnClickListener, mThumbnailButton = (RotateImageView) findViewById(R.id.review_thumbnail); if (mThumbnailButton != null) { - mThumbnailButton.setVisibility(View.VISIBLE); mThumbnailButton.setOnClickListener(this); mThumbnailButton.loadData(ImageManager.getLastImageThumbPath()); updateThumbnailButton(); @@ -409,6 +408,8 @@ public class Camera extends NoSearchActivity implements View.OnClickListener, } list.close(); } + mThumbnailButton.setVisibility( + (mThumbnailButton.getUri() != null) ? View.VISIBLE : View.GONE); } private void setLastPictureThumb(byte[] data, int degree, Uri uri) { @@ -419,6 +420,9 @@ public class Camera extends NoSearchActivity implements View.OnClickListener, BitmapFactory.decodeByteArray(data, 0, data.length, options); lastPictureThumb = Util.rotate(lastPictureThumb, degree); mThumbnailButton.setData(uri, lastPictureThumb); + if (lastPictureThumb != null) { + mThumbnailButton.setVisibility(View.VISIBLE); + } } // If the activity is paused and resumed, this method will be called in diff --git a/src/com/android/camera/VideoCamera.java b/src/com/android/camera/VideoCamera.java index abfa52e..db6cffd 100644 --- a/src/com/android/camera/VideoCamera.java +++ b/src/com/android/camera/VideoCamera.java @@ -790,9 +790,7 @@ public class VideoCamera extends NoSearchActivity // Update the last video thumbnail. if (!mIsVideoCaptureIntent) { - if (mThumbnailButton != null && !mThumbnailButton.isUriValid()) { - updateThumbnailButton(); - } + updateThumbnailButton(); } } @@ -1572,34 +1570,41 @@ public class VideoCamera extends NoSearchActivity Bitmap videoFrame = ThumbnailUtils.createVideoThumbnail( mCurrentVideoFilename, Video.Thumbnails.MINI_KIND); mThumbnailButton.setData(mCurrentVideoUri, videoFrame); + if (videoFrame != null) { + mThumbnailButton.setVisibility(View.VISIBLE); + } } } private void initThumbnailButton() { mThumbnailButton = (RotateImageView)findViewById(R.id.review_thumbnail); if (mThumbnailButton != null) { - mThumbnailButton.setVisibility(View.VISIBLE); mThumbnailButton.setOnClickListener(this); mThumbnailButton.loadData(ImageManager.getLastVideoThumbPath()); } } private void updateThumbnailButton() { - IImageList list = ImageManager.makeImageList( - mContentResolver, - dataLocation(), - ImageManager.INCLUDE_VIDEOS, - ImageManager.SORT_ASCENDING, - ImageManager.CAMERA_IMAGE_BUCKET_ID); - int count = list.getCount(); - if (count > 0) { - IImage image = list.getImageAt(count - 1); - Uri uri = image.fullSizeImageUri(); - mThumbnailButton.setData(uri, image.miniThumbBitmap()); - } else { - mThumbnailButton.setData(null, null); + if (mThumbnailButton == null) return; + if (!mThumbnailButton.isUriValid()) { + IImageList list = ImageManager.makeImageList( + mContentResolver, + dataLocation(), + ImageManager.INCLUDE_VIDEOS, + ImageManager.SORT_ASCENDING, + ImageManager.CAMERA_IMAGE_BUCKET_ID); + int count = list.getCount(); + if (count > 0) { + IImage image = list.getImageAt(count - 1); + Uri uri = image.fullSizeImageUri(); + mThumbnailButton.setData(uri, image.miniThumbBitmap()); + } else { + mThumbnailButton.setData(null, null); + } + list.close(); } - list.close(); + mThumbnailButton.setVisibility( + (mThumbnailButton.getUri() != null) ? View.VISIBLE : View.GONE); } private static ImageManager.DataLocation dataLocation() { -- cgit v1.1