diff options
author | Wu-cheng Li <wuchengli@google.com> | 2012-09-26 18:20:11 +0800 |
---|---|---|
committer | Wu-cheng Li <wuchengli@google.com> | 2012-09-26 19:12:59 +0800 |
commit | cc2f059ce62cbb04a605e6adda6f4b278210cd1a (patch) | |
tree | 5d843c12b1830bfa37f51ed1b1abf8013d8c5f79 /src/com/android/gallery3d/data/SecureAlbum.java | |
parent | 9c3912a2dcea9131a63ddcb10e1df2a1f3ae8269 (diff) | |
download | android_packages_apps_Gallery2-cc2f059ce62cbb04a605e6adda6f4b278210cd1a.tar.gz android_packages_apps_Gallery2-cc2f059ce62cbb04a605e6adda6f4b278210cd1a.tar.bz2 android_packages_apps_Gallery2-cc2f059ce62cbb04a605e6adda6f4b278210cd1a.zip |
Show unlock image in secure album only when camera roll has items.
bug:7192331
Change-Id: I8e0a9ea87181c2256632a4dc802cc0668fac1e0e
Diffstat (limited to 'src/com/android/gallery3d/data/SecureAlbum.java')
-rw-r--r-- | src/com/android/gallery3d/data/SecureAlbum.java | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/data/SecureAlbum.java b/src/com/android/gallery3d/data/SecureAlbum.java index 42364b5e9..b841df7e3 100644 --- a/src/com/android/gallery3d/data/SecureAlbum.java +++ b/src/com/android/gallery3d/data/SecureAlbum.java @@ -24,6 +24,7 @@ import android.provider.MediaStore.Images; import android.provider.MediaStore.Video; import com.android.gallery3d.app.GalleryApp; +import com.android.gallery3d.util.MediaSetUtils; import java.util.ArrayList; @@ -49,6 +50,7 @@ public class SecureAlbum extends MediaSet { // A placeholder image in the end of secure album. When it is tapped, it // will take the user to the lock screen. private MediaItem mUnlockItem; + private boolean mShowUnlockItem; public SecureAlbum(Path path, GalleryApp application, MediaItem unlock) { super(path, nextVersionNumber()); @@ -56,6 +58,8 @@ public class SecureAlbum extends MediaSet { mDataManager = application.getDataManager(); mNotifier = new ChangeNotifier(this, mWatchUris, application); mUnlockItem = unlock; + mShowUnlockItem = (!isCameraBucketEmpty(Images.Media.EXTERNAL_CONTENT_URI) + || !isCameraBucketEmpty(Video.Media.EXTERNAL_CONTENT_URI)); } public void addMediaItem(boolean isVideo, int id) { @@ -92,13 +96,13 @@ public class SecureAlbum extends MediaSet { for (int i = 0; i < buf.length; i++) { result.add(buf[i]); } - result.add(mUnlockItem); + if (mShowUnlockItem) result.add(mUnlockItem); return result; } @Override public int getMediaItemCount() { - return mExistingItems.size() + 1; + return mExistingItems.size() + (mShowUnlockItem ? 1 : 0); } @Override @@ -133,6 +137,20 @@ public class SecureAlbum extends MediaSet { return ids; } + private boolean isCameraBucketEmpty(Uri baseUri) { + Uri uri = baseUri.buildUpon() + .appendQueryParameter("limit", "1").build(); + String[] selection = {String.valueOf(MediaSetUtils.CAMERA_BUCKET_ID)}; + Cursor cursor = mContext.getContentResolver().query(uri, PROJECTION, + "bucket_id = ?", selection, null); + if (cursor == null) return true; + try { + return (cursor.getCount() == 0); + } finally { + cursor.close(); + } + } + private void updateExistingItems() { if (mAllItems.size() == 0) return; |