Merge "Open album in filmstrip only if the item exists." into gb-ub-photos-arches
diff --git a/src/com/android/gallery3d/app/AlbumSetPage.java b/src/com/android/gallery3d/app/AlbumSetPage.java
index 7af1d44..c8c3514 100644
--- a/src/com/android/gallery3d/app/AlbumSetPage.java
+++ b/src/com/android/gallery3d/app/AlbumSetPage.java
@@ -37,6 +37,7 @@
 import com.android.gallery3d.common.Utils;
 import com.android.gallery3d.data.DataManager;
 import com.android.gallery3d.data.MediaDetails;
+import com.android.gallery3d.data.MediaItem;
 import com.android.gallery3d.data.MediaObject;
 import com.android.gallery3d.data.MediaSet;
 import com.android.gallery3d.data.Path;
@@ -60,6 +61,7 @@
 import com.android.gallery3d.util.HelpUtils;
 
 import java.lang.ref.WeakReference;
+import java.util.ArrayList;
 
 public class AlbumSetPage extends ActivityState implements
         SelectionManager.SelectionListener, GalleryActionBar.ClusterRunner,
@@ -211,7 +213,10 @@
 
     private static boolean albumShouldOpenInFilmstrip(MediaSet album) {
         int itemCount = album.getMediaItemCount();
-        return (album.isCameraRoll() && itemCount > 0) || itemCount == 1;
+        ArrayList<MediaItem> list = (itemCount == 1) ? album.getMediaItem(0, 1) : null;
+        return (album.isCameraRoll() && itemCount > 0)
+                // open in film strip only if there's one item in the album and the item exists
+                || (list != null && !list.isEmpty());
     }
 
     WeakReference<Toast> mEmptyAlbumToast = null;