@Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == Activity.RESULT_OK) {
      final Uri uri = data.getData();
      Log.d(LOG_TAG, "data uri: " + uri);

      final String path = ImageSelectorUtils.getFilePathFromUri(getActivity(), uri);
      Log.d(LOG_TAG, "file path: " + path);
      final ProgressDialog dialog = new ProgressDialog(getActivity());
      dialog.setTitle(R.string.content_progress_dialog_title_wait);
      dialog.setMessage(
          getString(R.string.user_files_browser_progress_dialog_message_upload_file, path));
      dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
      dialog.setMax((int) new File(path).length());
      dialog.setCancelable(false);
      dialog.show();

      final File file = new File(path);
      userFileManager.uploadContent(
          file,
          currentPath + file.getName(),
          new ContentProgressListener() {
            @Override
            public void onSuccess(final ContentItem contentItem) {
              contentListItems.add(new ContentListItem(contentItem));
              contentListItems.sort(ContentListItem.contentAlphebeticalComparator);
              contentListItems.notifyDataSetChanged();
              dialog.dismiss();
            }

            @Override
            public void onProgressUpdate(
                final String fileName,
                final boolean isWaiting,
                final long bytesCurrent,
                final long bytesTotal) {
              dialog.setProgress((int) bytesCurrent);
            }

            @Override
            public void onError(final String fileName, final Exception ex) {
              dialog.dismiss();
              showError(R.string.user_files_browser_error_message_upload_file, ex.getMessage());
            }
          });
    }
  }