private boolean handleContextItemSelected(MenuItem menu, int position) { if (position >= mVideoAdapter.getCount()) return false; MediaWrapper media = mVideoAdapter.getItem(position); if (media == null) return false; switch (menu.getItemId()) { case R.id.video_list_play_from_start: playVideo(media, true); return true; case R.id.video_list_play_audio: playAudio(media); return true; case R.id.video_list_info: Activity activity = getActivity(); if (activity instanceof MainActivity) ((MainActivity) activity) .showSecondaryFragment(SecondaryActivity.MEDIA_INFO, media.getLocation()); else { Intent i = new Intent(activity, SecondaryActivity.class); i.putExtra("fragment", "mediaInfo"); i.putExtra("param", media.getLocation()); startActivity(i); } return true; case R.id.video_list_delete: Snackbar.make(getView(), getString(R.string.file_deleted), Snackbar.LENGTH_LONG) .setAction(android.R.string.cancel, mCancelDeleteMediaListener) .show(); Message msg = mDeleteHandler.obtainMessage(DELETE_MEDIA, position, 0); mDeleteHandler.sendMessageDelayed(msg, DELETE_DURATION); return true; } return false; }
public void browse(MediaWrapper media, int position, boolean scanned) { FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction(); Fragment next = createFragment(); Bundle args = new Bundle(); args.putParcelable(KEY_MEDIA, media); args.putBoolean(KEY_IN_MEDIALIB, mScannedDirectory || scanned); next.setArguments(args); ft.replace(R.id.fragment_placeholder, next, media.getLocation()); ft.addToBackStack(mMrl); ft.commit(); }
private void setContextMenuItems(Menu menu, MediaWrapper mediaWrapper) { long lastTime = mediaWrapper.getTime(); if (lastTime > 0) menu.findItem(R.id.video_list_play_from_start).setVisible(true); boolean hasInfo = false; final Media media = new Media(VLCInstance.get(), mediaWrapper.getUri()); media.parse(); media.release(); if (media.getMeta(Media.Meta.Title) != null) hasInfo = true; menu.findItem(R.id.video_list_info).setVisible(hasInfo); menu.findItem(R.id.video_list_delete) .setVisible( !AndroidUtil.isLolliPopOrLater() || mediaWrapper .getLocation() .startsWith("file://" + AndroidDevices.EXTERNAL_PUBLIC_DIRECTORY)); }