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;
 }
Esempio n. 2
0
 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));
  }