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

Commit 3e6ca169 authored by John Hoford's avatar John Hoford Committed by Android (Google) Code Review
Browse files

Merge "Prevent slide show request with only on slide" into gb-ub-photos-carlsbad

parents fa2b9222 601bbb6d
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -538,6 +538,27 @@ 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();
@@ -553,6 +574,7 @@ 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)
+16 −0
Original line number Diff line number Diff line
@@ -760,16 +760,32 @@ 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.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;
    }