diff options
| author | Wu-cheng Li <wuchengli@google.com> | 2012-09-26 21:11:12 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2012-09-26 21:11:12 -0700 |
| commit | 0912dc4a0c546e8044ca6ed698b67264eccc7c5a (patch) | |
| tree | 84ef729a846aff19dda61e740d9dec8679edc717 | |
| parent | 8c09bd6a63613e5d0a2736e0b0960851ff72a17c (diff) | |
| parent | b904ecba4fed5c6abd877a326acfbd0440887b62 (diff) | |
| download | android_packages_apps_Gallery2-0912dc4a0c546e8044ca6ed698b67264eccc7c5a.tar.gz android_packages_apps_Gallery2-0912dc4a0c546e8044ca6ed698b67264eccc7c5a.tar.bz2 android_packages_apps_Gallery2-0912dc4a0c546e8044ca6ed698b67264eccc7c5a.zip | |
am b904ecba: Merge "Show unlock image in secure album only when camera roll has items." into gb-ub-photos-arches
* commit 'b904ecba4fed5c6abd877a326acfbd0440887b62':
Show unlock image in secure album only when camera roll has items.
| -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; |
