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
commit78979fc21d1e1111a504cc07ae6b0e0bc4d61447 (patch)
treee1b787b586e2b8654b152613cfd89d832f5e59c7 /src/com/android/gallery3d/app/SlideshowPage.java
parentfd06154c0d51fd8686ffec3955e54f5c18e87da0 (diff)
downloadandroid_packages_apps_Gallery2-78979fc21d1e1111a504cc07ae6b0e0bc4d61447.tar.gz
android_packages_apps_Gallery2-78979fc21d1e1111a504cc07ae6b0e0bc4d61447.tar.bz2
android_packages_apps_Gallery2-78979fc21d1e1111a504cc07ae6b0e0bc4d61447.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);