summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/app/SlideshowPage.java
diff options
context:
space:
mode:
authorChih-Chung Chang <chihchung@google.com>2011-09-09 16:41:54 +0800
committerChih-Chung Chang <chihchung@google.com>2011-09-13 12:46:27 +0800
commit96309a4205f69bd79a10d7d149a11e8b8a846acd (patch)
tree0c612800d040cadbf237c7a66bb267ffd4ffefba /src/com/android/gallery3d/app/SlideshowPage.java
parent2fc88b09bebe78917efb371274d43220b2bd86a7 (diff)
downloadandroid_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.java11
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);