diff options
-rw-r--r-- | src/com/android/gallery3d/app/AlbumPage.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/app/AlbumPage.java b/src/com/android/gallery3d/app/AlbumPage.java index 9ff205454..7f947d8f3 100644 --- a/src/com/android/gallery3d/app/AlbumPage.java +++ b/src/com/android/gallery3d/app/AlbumPage.java @@ -68,6 +68,7 @@ import com.android.gallery3d.util.Future; import com.android.gallery3d.util.GalleryUtils; import com.android.gallery3d.util.MediaSetUtils; +import java.util.ArrayList; import java.util.Locale; public class AlbumPage extends ActivityState implements GalleryActionBar.ClusterRunner, @@ -132,6 +133,8 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster private Handler mHandler; private static final int MSG_PICK_PHOTO = 0; + private Menu mActionMenu; + private PhotoFallbackEffect mResumeEffect; private Config.AlbumPage mConfig; @@ -615,6 +618,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster @Override protected boolean onCreateActionBar(Menu menu) { + mActionMenu = menu; //GalleryActionBar actionBar = mActivity.getGalleryActionBar(); MenuInflater inflator = getSupportMenuInflater(); if (mGetContent) { @@ -637,6 +641,26 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster } //actionBar.setSubtitle(null); + // remove slideshow if all are videos + if (allVideoFiles() && !mGetContent){ + menu.findItem(R.id.action_slideshow).setVisible(false); + } + return true; + } + + private boolean allVideoFiles() { + if (mMediaSet == null) + return false; + int count = mMediaSet.getMediaItemCount(); + MediaItem item; + for (int i = 0; i < count; i++) { + item = mMediaSet.getMediaItem(i, 1).get(0); + if (item == null) { + continue; + } + if (item.getMimeType().trim().startsWith("image/")) + return false; + } return true; } @@ -753,6 +777,12 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster } } + private void updateMenuItem() { + if (allVideoFiles() && !mGetContent) { + mActionMenu.findItem(R.id.action_slideshow).setVisible(false); + } + } + @Override public void onSelectionModeChange(int mode) { switch (mode) { @@ -764,6 +794,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster case SelectionManager.LEAVE_SELECTION_MODE: { mActionModeHandler.finishActionMode(); mRootPane.invalidate(); + updateMenuItem(); break; } case SelectionManager.SELECT_ALL_MODE: { |