From: Hung-ying Tyan Date: Thu, 4 Oct 2012 10:49:01 +0000 (+0800) Subject: Open album in filmstrip only if the item exists. X-Git-Tag: android-x86-7.1-r1~1268^2~299^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=27565de3ab86e81a20c9804ebc7f8d3f737031a0;p=android-x86%2Fpackages-apps-Gallery2.git Open album in filmstrip only if the item exists. Metadata of picasa photos may not be available when user taps to view a picasa album. Cannot enter PhotoPage directly in such a case. Bug: 7213464 Change-Id: Ife2e8768fc9b8d8757235610a02f029f40205b5b --- diff --git a/src/com/android/gallery3d/app/AlbumSetPage.java b/src/com/android/gallery3d/app/AlbumSetPage.java index 7af1d445e..c8c351496 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.R; 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.GalleryUtils; 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 @@ public class AlbumSetPage extends ActivityState implements private static boolean albumShouldOpenInFilmstrip(MediaSet album) { int itemCount = album.getMediaItemCount(); - return (album.isCameraRoll() && itemCount > 0) || itemCount == 1; + ArrayList 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 mEmptyAlbumToast = null;