X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/5d784d98b4b86e0d047ac2bdf5539495ccfb81f8..2a02a08d52656ce3259939e2448800388675a0c5:/src/com/owncloud/android/operations/UploadFileOperation.java diff --git a/src/com/owncloud/android/operations/UploadFileOperation.java b/src/com/owncloud/android/operations/UploadFileOperation.java index f9590698..82ad3336 100644 --- a/src/com/owncloud/android/operations/UploadFileOperation.java +++ b/src/com/owncloud/android/operations/UploadFileOperation.java @@ -50,6 +50,7 @@ import com.owncloud.android.lib.resources.files.ChunkedUploadRemoteFileOperation import com.owncloud.android.lib.resources.files.ExistenceCheckRemoteOperation; import com.owncloud.android.lib.resources.files.UploadRemoteFileOperation; import com.owncloud.android.utils.FileStorageUtils; +import com.owncloud.android.utils.UriUtils; /** @@ -61,10 +62,6 @@ public class UploadFileOperation extends RemoteOperation { private static final String TAG = UploadFileOperation.class.getSimpleName(); - private static final String URI_CONTENT_SCHEME = "content://"; - private static final String MIME_TYPE_PDF = "application/pdf"; - private static final String FILE_EXTENSION_PDF = ".pdf"; - private Account mAccount; private OCFile mFile; private OCFile mOldFile; @@ -79,7 +76,7 @@ public class UploadFileOperation extends RemoteOperation { private String mOriginalStoragePath = null; PutMethod mPutMethod = null; private Set mDataTransferListeners = new HashSet(); - private final AtomicBoolean mCancellationRequested = new AtomicBoolean(false); + private AtomicBoolean mCancellationRequested = new AtomicBoolean(false); private Context mContext; private UploadRemoteFileOperation mUploadOperation; @@ -225,12 +222,6 @@ public class UploadFileOperation extends RemoteOperation { } else { String temporalPath = FileStorageUtils.getTemporalPath(mAccount.name) + mFile.getRemotePath(); - - if (isPdfFileFromContentProviderWithoutExtension()){ - temporalPath += FILE_EXTENSION_PDF; - mFile.setRemotePath(mFile.getRemotePath() + FILE_EXTENSION_PDF); - } - mFile.setStoragePath(temporalPath); temporalFile = new File(temporalPath); @@ -250,7 +241,7 @@ public class UploadFileOperation extends RemoteOperation { try { // In case document provider schema as 'content://' - if (mOriginalStoragePath.startsWith(URI_CONTENT_SCHEME)) { + if (mOriginalStoragePath.startsWith(UriUtils.URI_CONTENT_SCHEME)) { Uri uri = Uri.parse(mOriginalStoragePath); @@ -409,7 +400,8 @@ public class UploadFileOperation extends RemoteOperation { * Checks if remotePath does not exist in the server and returns it, or adds * a suffix to it in order to avoid the server file is overwritten. * - * @param string + * @param wc + * @param remotePath * @return */ private String getAvailableRemotePath(OwnCloudClient wc, String remotePath) throws Exception { @@ -451,17 +443,9 @@ public class UploadFileOperation extends RemoteOperation { } public void cancel() { - mUploadOperation.cancel(); - } - - /** - * Checks if content provider, using the content:// scheme, returns a file with mime-type - * 'application/pdf' but file has not extension - * @return true if is needed to add the pdf file extension to the file - */ - private boolean isPdfFileFromContentProviderWithoutExtension() { - return mOriginalStoragePath.startsWith(URI_CONTENT_SCHEME) && - mFile.getMimetype().equals(MIME_TYPE_PDF) && - !mFile.getFileName().endsWith(FILE_EXTENSION_PDF); + mCancellationRequested = new AtomicBoolean(true); + if (mUploadOperation != null) { + mUploadOperation.cancel(); + } } }