Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b55bfb6e authored by John Hoford's avatar John Hoford
Browse files

fix crashes in in gallery by reversing previous cl

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
parent bc7e9fff
Loading
Loading
Loading
Loading
+0 −22
Original line number Diff line number Diff line
@@ -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)
+0 −17
Original line number Diff line number Diff line
@@ -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;
    }