private void prepareAnimationBackToFilmstrip(int slotIndex) { if (mAlbumDataAdapter == null || !mAlbumDataAdapter.isActive(slotIndex)) return; MediaItem item = mAlbumDataAdapter.get(slotIndex); if (item == null) return; TransitionStore transitions = mActivity.getTransitionStore(); transitions.put(PhotoPage.KEY_INDEX_HINT, slotIndex); transitions.put(PhotoPage.KEY_OPEN_ANIMATION_RECT, mSlotView.getSlotRect(slotIndex, mRootPane)); }
public void onLongTap(int slotIndex) { if (mGetContent) return; MediaItem item = mAlbumDataAdapter.get(slotIndex); if (item == null) return; mSelectionManager.setAutoLeaveSelectionMode(true); mSelectionManager.toggle(item.getPath()); mSlotView.invalidate(); }
@Override public int getItemIndex(Path path) { int start = mSlotView.getVisibleStart(); int end = mSlotView.getVisibleEnd(); for (int i = start; i < end; ++i) { MediaItem item = mAlbumDataAdapter.get(i); if (item != null && item.getPath() == path) return i; } return -1; }
private void onSingleTapUp(int slotIndex) { if (!mIsActive) return; if (mSelectionManager.inSelectionMode()) { MediaItem item = mAlbumDataAdapter.get(slotIndex); if (item == null) return; // Item not ready yet, ignore the click mSelectionManager.toggle(item.getPath()); mSlotView.invalidate(); } else { // Render transition in pressed state mAlbumView.setPressedIndex(slotIndex); mAlbumView.setPressedUp(); mHandler.sendMessageDelayed( mHandler.obtainMessage(MSG_PICK_PHOTO, slotIndex, 0), FadeTexture.DURATION); } }
private void pickPhoto(int slotIndex, boolean startInFilmstrip) { if (!mIsActive) return; if (!startInFilmstrip) { // Launch photos in lights out mode mActivity.getGLRoot().setLightsOutMode(true); } MediaItem item = mAlbumDataAdapter.get(slotIndex); if (item == null) return; // Item not ready yet, ignore the click if (mGetContent) { onGetContent(item); } else if (mLaunchedFromPhotoPage) { TransitionStore transitions = mActivity.getTransitionStore(); transitions.put(PhotoPage.KEY_ALBUMPAGE_TRANSITION, PhotoPage.MSG_ALBUMPAGE_PICKED); transitions.put(PhotoPage.KEY_INDEX_HINT, slotIndex); onBackPressed(); } else { // Get into the PhotoPage. // mAlbumView.savePositions(PositionRepository.getInstance(mActivity)); Bundle data = new Bundle(); data.putInt(PhotoPage.KEY_INDEX_HINT, slotIndex); data.putParcelable( PhotoPage.KEY_OPEN_ANIMATION_RECT, mSlotView.getSlotRect(slotIndex, mRootPane)); data.putString(PhotoPage.KEY_MEDIA_SET_PATH, mMediaSetPath.toString()); data.putString(PhotoPage.KEY_MEDIA_ITEM_PATH, item.getPath().toString()); data.putInt(PhotoPage.KEY_ALBUMPAGE_TRANSITION, PhotoPage.MSG_ALBUMPAGE_STARTED); data.putBoolean(PhotoPage.KEY_START_IN_FILMSTRIP, startInFilmstrip); data.putBoolean(PhotoPage.KEY_IN_CAMERA_ROLL, mMediaSet.isCameraRoll()); if (startInFilmstrip) { mActivity.getStateManager().switchState(this, FilmstripPage.class, data); } else { mActivity.getStateManager().startStateForResult(SinglePhotoPage.class, REQUEST_PHOTO, data); } } }