@Override
  public boolean onOptionsItemSelected(final MenuItem item) {
    final CharSequence itemTitle = item.getTitle();
    if (refreshText.equals(itemTitle)) {
      refreshContent(currentPath);
      return true;
    } else if (downloadRecentText.equals(itemTitle)) {
      userFileManager.downloadRecentContent(currentPath, contentListItems);
      return true;
    } else if (setCacheSizeText.equals(itemTitle)) {
      final View fragmentView = getView();
      if (fragmentView != null) {
        // Show selector for cache size.
        getActivity().openContextMenu(cacheLimitTextView);
      }
      return true;
    } else if (clearCacheText.equals(itemTitle)) {
      userFileManager.clearCache();
      return true;
    } else if (uploadText.equals(itemTitle)) {
      final Activity activity = getActivity();
      if (activity == null) {
        return true;
      }

      if (ContextCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE)
          != PackageManager.PERMISSION_GRANTED) {
        requestPermissions(
            new String[] {Manifest.permission.READ_EXTERNAL_STORAGE},
            EXTERNAL_STORAGE_PERMISSION_REQUEST_CODE);
        return true;
      }

      // We have permission, so show the image selector.
      final Intent intent = ImageSelectorUtils.getImageSelectionIntent();
      startActivityForResult(intent, 0);
      return true;
    } else if (newFolderText.equals(itemTitle)) {
      final EditText txtFolder = new EditText(getActivity());
      txtFolder.setSingleLine(true);
      new AlertDialog.Builder(getActivity())
          .setTitle(R.string.user_files_browser_dialog_create_folder_title)
          .setView(txtFolder)
          .setPositiveButton(
              android.R.string.ok,
              new DialogInterface.OnClickListener() {
                @Override
                public void onClick(final DialogInterface dialog, final int which) {
                  final String folderKey = currentPath + txtFolder.getText().toString() + "/";
                  createFolder(folderKey);
                }
              })
          .setNegativeButton(android.R.string.cancel, null)
          .show();
      return true;
    }

    return super.onOptionsItemSelected(item);
  }