summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryanglv <yanglv@codeaurora.org>2013-11-14 17:13:08 +0800
committerArne Coucheron <arco68@gmail.com>2017-12-16 06:52:18 +0100
commitb9bd9cd9e400bf9932493792edc7511fe0a5251d (patch)
tree4434b8cb5a38acea7fdbae271b686e2e3cd27806
parentb2a4f894acc5f1801dbf82d6104e1bf7071ee5dd (diff)
downloadandroid_packages_apps_Gallery2-b9bd9cd9e400bf9932493792edc7511fe0a5251d.tar.gz
android_packages_apps_Gallery2-b9bd9cd9e400bf9932493792edc7511fe0a5251d.tar.bz2
android_packages_apps_Gallery2-b9bd9cd9e400bf9932493792edc7511fe0a5251d.zip
Gallery2: Remove slideshow option if there are only videos
Enter Gallery and open folder whose files are all video, press menu key should no slideshow option. Add condition to remove slideshow if the folder are all video files. CRs-Fixed: 574984 Change-Id: Ib1603f1609b6490e44039ab64abefb44f14bd477
-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: {