/**
  * Creates and populates a new {@link OCFile} object with the data read from the server.
  *
  * @param we WebDAV entry read from the server for a WebDAV resource (remote file or folder).
  * @return New OCFile instance representing the remote resource described by we.
  */
 private OCFile fillOCFile(WebdavEntry we) {
   OCFile file = new OCFile(we.decodedPath());
   file.setCreationTimestamp(we.createTimestamp());
   file.setFileLength(we.contentLength());
   file.setMimetype(we.contentType());
   file.setModificationTimestamp(we.modifiedTimesamp());
   file.setLastSyncDate(mCurrentSyncTime);
   return file;
 }
Exemplo n.º 2
0
  public void onDismiss(EditNameFragment dialog) {
    if (dialog instanceof EditNameFragment) {
      if (((EditNameFragment) dialog).getResult()) {
        String newFilename = ((EditNameFragment) dialog).getNewFilename();
        Log.d(TAG, "name edit dialog dismissed with new name " + newFilename);
        if (!newFilename.equals(mFile.getFileName())) {
          FileDataStorageManager fdsm =
              new FileDataStorageManager(mAccount, getActivity().getContentResolver());
          if (fdsm.getFileById(mFile.getFileId()) != null) {
            OCFile newFile =
                new OCFile(fdsm.getFileById(mFile.getParentId()).getRemotePath() + newFilename);
            newFile.setCreationTimestamp(mFile.getCreationTimestamp());
            newFile.setFileId(mFile.getFileId());
            newFile.setFileLength(mFile.getFileLength());
            newFile.setKeepInSync(mFile.keepInSync());
            newFile.setLastSyncDate(mFile.getLastSyncDate());
            newFile.setMimetype(mFile.getMimetype());
            newFile.setModificationTimestamp(mFile.getModificationTimestamp());
            newFile.setParentId(mFile.getParentId());
            boolean localRenameFails = false;
            if (mFile.isDown()) {
              File f = new File(mFile.getStoragePath());
              Log.e(TAG, f.getAbsolutePath());
              localRenameFails =
                  !(f.renameTo(new File(f.getParent() + File.separator + newFilename)));
              Log.e(TAG, f.getParent() + File.separator + newFilename);
              newFile.setStoragePath(f.getParent() + File.separator + newFilename);
            }

            if (localRenameFails) {
              Toast msg =
                  Toast.makeText(getActivity(), R.string.rename_local_fail_msg, Toast.LENGTH_LONG);
              msg.show();

            } else {
              new Thread(new RenameRunnable(mFile, newFile, mAccount, new Handler())).start();
              boolean inDisplayActivity = getActivity() instanceof FileDisplayActivity;
              getActivity()
                  .showDialog(
                      (inDisplayActivity)
                          ? FileDisplayActivity.DIALOG_SHORT_WAIT
                          : FileDetailActivity.DIALOG_SHORT_WAIT);
            }
          }
        }
      }
    } else {
      Log.e(
          TAG,
          "Unknown dialog instance passed to onDismissDalog: "
              + dialog.getClass().getCanonicalName());
    }
  }