OSDN Git Service

fix crashes in in gallery by reversing previous cl
authorJohn Hoford <hoford@google.com>
Fri, 13 Sep 2013 17:42:21 +0000 (10:42 -0700)
committerJohn Hoford <hoford@google.com>
Fri, 13 Sep 2013 17:51:17 +0000 (10:51 -0700)
cl 348551 tried to fix a long existing bug which but
introduced race conditions in the system

bug:10652636
bug:10551751
bug:8794694
Change-Id: Ieb617f85df32a5d82293e555621a7e44b8b84708

src/com/android/gallery3d/app/AlbumPage.java
src/com/android/gallery3d/app/PhotoPage.java

index ad757da..658abbb 100644 (file)
@@ -538,27 +538,6 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
         mSlotView.invalidate();
     }
 
-    private boolean canDoSlideShow() {
-        if (mMediaSet == null) {
-            return false;
-        }
-
-        final int[] count = new int[]{0};
-        mMediaSet.enumerateMediaItems(new MediaSet.ItemConsumer() {
-            @Override
-            public void consume(int index, MediaItem item) {
-                if (item.getMediaType() == MediaObject.MEDIA_TYPE_IMAGE) {
-                    count[0]++;
-                }
-            }
-        });
-
-        if (count[0] < 2) { // you must have 2 pictures to go into slide show
-            return false;
-        }
-        return true;
-    }
-
     @Override
     protected boolean onCreateActionBar(Menu menu) {
         GalleryActionBar actionBar = mActivity.getGalleryActionBar();
@@ -574,7 +553,6 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
 
             FilterUtils.setupMenuItems(actionBar, mMediaSetPath, true);
 
-            menu.findItem(R.id.action_slideshow).setVisible(canDoSlideShow());
             menu.findItem(R.id.action_group_by).setVisible(mShowClusterMenu);
             menu.findItem(R.id.action_camera).setVisible(
                     MediaSetUtils.isCameraSource(mMediaSetPath)
index 8f7b1ed..e52e044 100644 (file)
@@ -777,33 +777,16 @@ public abstract class PhotoPage extends ActivityState implements
                 supportedOperations &= ~MediaObject.SUPPORT_EDIT;
             }
         }
-
         MenuExecutor.updateMenuOperation(menu, supportedOperations);
     }
 
     private boolean canDoSlideShow() {
-
         if (mMediaSet == null || mCurrentPhoto == null) {
             return false;
         }
         if (mCurrentPhoto.getMediaType() != MediaObject.MEDIA_TYPE_IMAGE) {
             return false;
         }
-        final int[] count = new int[]{0};
-
-        mMediaSet.enumerateMediaItems(new MediaSet.ItemConsumer() {
-            @Override
-            public void consume(int index, MediaItem item) {
-                if (item != null
-                        && item.getMediaType() == MediaObject.MEDIA_TYPE_IMAGE) {
-                    count[0]++;
-                }
-            }
-        });
-
-        if (count[0] < 2) { // you must have 3 pictures to go into slide show
-            return false;
-        }
         return true;
     }