diff options
author | Chih-Chung Chang <chihchung@google.com> | 2011-09-09 16:41:54 +0800 |
---|---|---|
committer | Chih-Chung Chang <chihchung@google.com> | 2011-09-13 12:46:27 +0800 |
commit | 96309a4205f69bd79a10d7d149a11e8b8a846acd (patch) | |
tree | 0c612800d040cadbf237c7a66bb267ffd4ffefba /src/com/android/gallery3d/app/SlideshowPage.java | |
parent | 2fc88b09bebe78917efb371274d43220b2bd86a7 (diff) | |
download | android_packages_apps_Snap-96309a4205f69bd79a10d7d149a11e8b8a846acd.tar.gz android_packages_apps_Snap-96309a4205f69bd79a10d7d149a11e8b8a846acd.tar.bz2 android_packages_apps_Snap-96309a4205f69bd79a10d7d149a11e8b8a846acd.zip |
Fix 5058723: Don't show screennails of videos in slide show
Change-Id: I25c3ee3f1ae69c9c54c1e579a6469ee20f1774be
Diffstat (limited to 'src/com/android/gallery3d/app/SlideshowPage.java')
-rw-r--r-- | src/com/android/gallery3d/app/SlideshowPage.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/app/SlideshowPage.java b/src/com/android/gallery3d/app/SlideshowPage.java index cdf9308ec..5ba7fc777 100644 --- a/src/com/android/gallery3d/app/SlideshowPage.java +++ b/src/com/android/gallery3d/app/SlideshowPage.java @@ -188,8 +188,12 @@ public class SlideshowPage extends ActivityState { } private void initializeData(Bundle data) { - String mediaPath = data.getString(KEY_SET_PATH); boolean random = data.getBoolean(KEY_RANDOM_ORDER, false); + + // We only want to show slideshow for images only, not videos. + String mediaPath = data.getString(KEY_SET_PATH); + mediaPath = FilterUtils.newFilterPath(mediaPath, + FilterUtils.FILTER_IMAGE_ONLY); MediaSet mediaSet = mActivity.getDataManager().getMediaSet(mediaPath); if (random) { @@ -243,6 +247,7 @@ public class SlideshowPage extends ActivityState { public MediaItem getMediaItem(int index) { if (!mRepeat && index >= mOrder.length) return null; + if (mOrder.length == 0) return null; mLastIndex = mOrder[index % mOrder.length]; MediaItem item = findMediaItem(mMediaSet, mLastIndex); for (int i = 0; i < RETRY_COUNT && item == null; ++i) { @@ -305,7 +310,9 @@ public class SlideshowPage extends ActivityState { int dataEnd = mDataStart + mData.size(); if (mRepeat) { - index = index % mMediaSet.getMediaItemCount(); + int count = mMediaSet.getMediaItemCount(); + if (count == 0) return null; + index = index % count; } if (index < mDataStart || index >= dataEnd) { mData = mMediaSet.getMediaItem(index, DATA_SIZE); |