summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChih-Chung Chang <chihchung@google.com>2011-09-13 00:25:15 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-09-13 00:25:15 -0700
commit6af98c9e0f4125d658b10303a01adef6a5a9e8f1 (patch)
tree097fb32d8a22a12d51ac1f46b7144c6d5b2f90a4
parent2cd8cc06b813cd8d55010f91b78e30e096b2681f (diff)
parent78979fc21d1e1111a504cc07ae6b0e0bc4d61447 (diff)
downloadandroid_packages_apps_Gallery2-6af98c9e0f4125d658b10303a01adef6a5a9e8f1.tar.gz
android_packages_apps_Gallery2-6af98c9e0f4125d658b10303a01adef6a5a9e8f1.tar.bz2
android_packages_apps_Gallery2-6af98c9e0f4125d658b10303a01adef6a5a9e8f1.zip
Merge "Fix 5058723: Don't show screennails of videos in slide show"
-rw-r--r--src/com/android/gallery3d/app/SlideshowDataAdapter.java2
-rw-r--r--src/com/android/gallery3d/app/SlideshowPage.java11
2 files changed, 10 insertions, 3 deletions
diff --git a/src/com/android/gallery3d/app/SlideshowDataAdapter.java b/src/com/android/gallery3d/app/SlideshowDataAdapter.java
index 6f9b98e8e..fb7eec886 100644
--- a/src/com/android/gallery3d/app/SlideshowDataAdapter.java
+++ b/src/com/android/gallery3d/app/SlideshowDataAdapter.java
@@ -68,7 +68,7 @@ public class SlideshowDataAdapter implements SlideshowPage.Model {
mThreadPool = context.getThreadPool();
}
- public MediaItem loadItem() {
+ private MediaItem loadItem() {
if (mNeedReload.compareAndSet(true, false)) {
long v = mSource.reload();
if (v != mDataVersion) {
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);