summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/gallery3d/app/AlbumPage.java31
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: {