Loading sample_client/src/com/owncloud/android/lib/sampleclient/MainActivity.java +2 −7 Original line number Diff line number Diff line Loading @@ -157,12 +157,7 @@ public class MainActivity extends Activity implements OnRemoteOperationListener, File fileToUpload = upFolder.listFiles()[0]; String remotePath = FileUtils.PATH_SEPARATOR + fileToUpload.getName(); String mimeType = getString(R.string.sample_file_mimetype); // Get the last modification date of the file from the file system Long timeStampLong = fileToUpload.lastModified()/1000; String timeStamp = timeStampLong.toString(); UploadRemoteFileOperation uploadOperation = new UploadRemoteFileOperation(fileToUpload.getAbsolutePath(), remotePath, mimeType, timeStamp); UploadRemoteFileOperation uploadOperation = new UploadRemoteFileOperation(fileToUpload.getAbsolutePath(), remotePath, mimeType); uploadOperation.addDatatransferProgressListener(this); uploadOperation.execute(mClient, this, mHandler); } Loading src/com/owncloud/android/lib/resources/files/ChunkedUploadRemoteFileOperation.java +2 −12 Original line number Diff line number Diff line Loading @@ -54,22 +54,15 @@ public class ChunkedUploadRemoteFileOperation extends UploadRemoteFileOperation public static final long CHUNK_SIZE = 1024000; private static final String OC_CHUNKED_HEADER = "OC-Chunked"; private static final String OC_CHUNK_SIZE_HEADER = "OC-Chunk-Size"; private static final String OC_CHUNK_X_OC_MTIME_HEADER = "X-OC-Mtime"; private static final String TAG = ChunkedUploadRemoteFileOperation.class.getSimpleName(); private Context mContext; public ChunkedUploadRemoteFileOperation( Context context, String storagePath, String remotePath, String mimeType, String requiredEtag, String fileLastModifTimestamp) { super(storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp); Context context, String storagePath, String remotePath, String mimeType, String requiredEtag) { super(storagePath, remotePath, mimeType, requiredEtag); mContext = context; } public ChunkedUploadRemoteFileOperation( String storagePath, String remotePath, String mimeType, String requiredEtag, String fileLastModifTimestamp ) { super(storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp); } @Override protected int uploadFile(OwnCloudClient client) throws IOException { int status = -1; Loading Loading @@ -119,9 +112,6 @@ public class ChunkedUploadRemoteFileOperation extends UploadRemoteFileOperation mPutMethod.addRequestHeader(OC_CHUNKED_HEADER, OC_CHUNKED_HEADER); mPutMethod.addRequestHeader(OC_CHUNK_SIZE_HEADER, chunkSizeStr); mPutMethod.addRequestHeader(OC_TOTAL_LENGTH_HEADER, totalLengthStr); mPutMethod.addRequestHeader(OC_CHUNK_X_OC_MTIME_HEADER, mFileLastModifTimestamp); ((ChunkFromFileChannelRequestEntity) mEntity).setOffset(offset); mPutMethod.setRequestEntity(mEntity); if (mCancellationRequested.get()) { Loading src/com/owncloud/android/lib/resources/files/UploadRemoteFileOperation.java +116 −122 Original line number Diff line number Diff line Loading @@ -61,13 +61,11 @@ public class UploadRemoteFileOperation extends RemoteOperation { private static final String TAG = UploadRemoteFileOperation.class.getSimpleName(); protected static final String OC_TOTAL_LENGTH_HEADER = "OC-Total-Length"; protected static final String OC_X_OC_MTIME_HEADER = "X-OC-Mtime"; protected static final String IF_MATCH_HEADER = "If-Match"; protected String mLocalPath; protected String mRemotePath; protected String mMimeType; protected String mFileLastModifTimestamp; protected PutMethod mPutMethod = null; protected boolean mForbiddenCharsInServer = false; protected String mRequiredEtag = null; Loading @@ -77,15 +75,14 @@ public class UploadRemoteFileOperation extends RemoteOperation { protected RequestEntity mEntity = null; public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType, String fileLastModifTimestamp) { public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType) { mLocalPath = localPath; mRemotePath = remotePath; mMimeType = mimeType; mFileLastModifTimestamp = fileLastModifTimestamp; } public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType, String requiredEtag, String fileLastModifTimestamp) { this(localPath, remotePath, mimeType, fileLastModifTimestamp); public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType, String requiredEtag) { this(localPath, remotePath, mimeType); mRequiredEtag = requiredEtag; } Loading Loading @@ -155,9 +152,6 @@ public class UploadRemoteFileOperation extends RemoteOperation { mPutMethod.addRequestHeader(IF_MATCH_HEADER, "\"" + mRequiredEtag + "\""); } mPutMethod.addRequestHeader(OC_TOTAL_LENGTH_HEADER, String.valueOf(f.length())); mPutMethod.addRequestHeader(OC_X_OC_MTIME_HEADER, mFileLastModifTimestamp); mPutMethod.setRequestEntity(mEntity); status = client.executeMethod(mPutMethod); Loading test_client/src/com/owncloud/android/lib/test_project/TestActivity.java +25 −24 Original line number Diff line number Diff line Loading @@ -251,37 +251,34 @@ public class TestActivity extends Activity { return TestActivity.uploadFile(this, storagePath, remotePath, mimeType, mClient, requiredEtag); } /** * Access to the library method to Upload a File /** Access to the library method to Upload a File * * @param context * @param storagePath * @param remotePath * @param mimeType * @param client Client instance configured to access the target OC server. * @param requiredEtag * * @return */ public static RemoteOperationResult uploadFile( Context context, String storagePath, String remotePath, String mimeType, OwnCloudClient client, String requiredEtag ) { String fileLastModifTimestamp = getFileLastModifTimeStamp(storagePath); UploadRemoteFileOperation uploadOperation; if ((new File(storagePath)).length() > ChunkedUploadRemoteFileOperation.CHUNK_SIZE) { uploadOperation = new ChunkedUploadRemoteFileOperation( context, storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp context, storagePath, remotePath, mimeType, requiredEtag ); } else { uploadOperation = new UploadRemoteFileOperation( storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp storagePath, remotePath, mimeType ); } return uploadOperation.execute(client); RemoteOperationResult result = uploadOperation.execute(client); return result; } /** Access to the library method to Get Shares Loading @@ -289,8 +286,11 @@ public class TestActivity extends Activity { * @return */ public RemoteOperationResult getShares(){ GetRemoteSharesOperation getOperation = new GetRemoteSharesOperation(); return getOperation.execute(mClient); RemoteOperationResult result = getOperation.execute(mClient); return result; } /** Access to the library method to Create Share Loading @@ -316,7 +316,9 @@ public class TestActivity extends Activity { String password, int permissions){ CreateRemoteShareOperation createOperation = new CreateRemoteShareOperation(path, shareType, shareWith, publicUpload, password, permissions); return createOperation.execute(mClient); RemoteOperationResult result = createOperation.execute(mClient); return result; } Loading @@ -328,7 +330,10 @@ public class TestActivity extends Activity { public RemoteOperationResult removeShare(int idShare) { RemoveRemoteShareOperation removeOperation = new RemoveRemoteShareOperation(idShare); return removeOperation.execute(mClient); RemoteOperationResult result = removeOperation.execute(mClient); return result; } Loading Loading @@ -368,9 +373,5 @@ public class TestActivity extends Activity { return extractedFile; } private static String getFileLastModifTimeStamp (String storagePath) { File file = new File(storagePath); Long timeStampLong = file.lastModified()/1000; return timeStampLong.toString(); } } test_client/tests/src/com/owncloud/android/lib/test_project/test/UploadFileTest.java +2 −1 Original line number Diff line number Diff line Loading @@ -121,4 +121,5 @@ public class UploadFileTest extends RemoteTest { } super.tearDown(); } } Loading
sample_client/src/com/owncloud/android/lib/sampleclient/MainActivity.java +2 −7 Original line number Diff line number Diff line Loading @@ -157,12 +157,7 @@ public class MainActivity extends Activity implements OnRemoteOperationListener, File fileToUpload = upFolder.listFiles()[0]; String remotePath = FileUtils.PATH_SEPARATOR + fileToUpload.getName(); String mimeType = getString(R.string.sample_file_mimetype); // Get the last modification date of the file from the file system Long timeStampLong = fileToUpload.lastModified()/1000; String timeStamp = timeStampLong.toString(); UploadRemoteFileOperation uploadOperation = new UploadRemoteFileOperation(fileToUpload.getAbsolutePath(), remotePath, mimeType, timeStamp); UploadRemoteFileOperation uploadOperation = new UploadRemoteFileOperation(fileToUpload.getAbsolutePath(), remotePath, mimeType); uploadOperation.addDatatransferProgressListener(this); uploadOperation.execute(mClient, this, mHandler); } Loading
src/com/owncloud/android/lib/resources/files/ChunkedUploadRemoteFileOperation.java +2 −12 Original line number Diff line number Diff line Loading @@ -54,22 +54,15 @@ public class ChunkedUploadRemoteFileOperation extends UploadRemoteFileOperation public static final long CHUNK_SIZE = 1024000; private static final String OC_CHUNKED_HEADER = "OC-Chunked"; private static final String OC_CHUNK_SIZE_HEADER = "OC-Chunk-Size"; private static final String OC_CHUNK_X_OC_MTIME_HEADER = "X-OC-Mtime"; private static final String TAG = ChunkedUploadRemoteFileOperation.class.getSimpleName(); private Context mContext; public ChunkedUploadRemoteFileOperation( Context context, String storagePath, String remotePath, String mimeType, String requiredEtag, String fileLastModifTimestamp) { super(storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp); Context context, String storagePath, String remotePath, String mimeType, String requiredEtag) { super(storagePath, remotePath, mimeType, requiredEtag); mContext = context; } public ChunkedUploadRemoteFileOperation( String storagePath, String remotePath, String mimeType, String requiredEtag, String fileLastModifTimestamp ) { super(storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp); } @Override protected int uploadFile(OwnCloudClient client) throws IOException { int status = -1; Loading Loading @@ -119,9 +112,6 @@ public class ChunkedUploadRemoteFileOperation extends UploadRemoteFileOperation mPutMethod.addRequestHeader(OC_CHUNKED_HEADER, OC_CHUNKED_HEADER); mPutMethod.addRequestHeader(OC_CHUNK_SIZE_HEADER, chunkSizeStr); mPutMethod.addRequestHeader(OC_TOTAL_LENGTH_HEADER, totalLengthStr); mPutMethod.addRequestHeader(OC_CHUNK_X_OC_MTIME_HEADER, mFileLastModifTimestamp); ((ChunkFromFileChannelRequestEntity) mEntity).setOffset(offset); mPutMethod.setRequestEntity(mEntity); if (mCancellationRequested.get()) { Loading
src/com/owncloud/android/lib/resources/files/UploadRemoteFileOperation.java +116 −122 Original line number Diff line number Diff line Loading @@ -61,13 +61,11 @@ public class UploadRemoteFileOperation extends RemoteOperation { private static final String TAG = UploadRemoteFileOperation.class.getSimpleName(); protected static final String OC_TOTAL_LENGTH_HEADER = "OC-Total-Length"; protected static final String OC_X_OC_MTIME_HEADER = "X-OC-Mtime"; protected static final String IF_MATCH_HEADER = "If-Match"; protected String mLocalPath; protected String mRemotePath; protected String mMimeType; protected String mFileLastModifTimestamp; protected PutMethod mPutMethod = null; protected boolean mForbiddenCharsInServer = false; protected String mRequiredEtag = null; Loading @@ -77,15 +75,14 @@ public class UploadRemoteFileOperation extends RemoteOperation { protected RequestEntity mEntity = null; public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType, String fileLastModifTimestamp) { public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType) { mLocalPath = localPath; mRemotePath = remotePath; mMimeType = mimeType; mFileLastModifTimestamp = fileLastModifTimestamp; } public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType, String requiredEtag, String fileLastModifTimestamp) { this(localPath, remotePath, mimeType, fileLastModifTimestamp); public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType, String requiredEtag) { this(localPath, remotePath, mimeType); mRequiredEtag = requiredEtag; } Loading Loading @@ -155,9 +152,6 @@ public class UploadRemoteFileOperation extends RemoteOperation { mPutMethod.addRequestHeader(IF_MATCH_HEADER, "\"" + mRequiredEtag + "\""); } mPutMethod.addRequestHeader(OC_TOTAL_LENGTH_HEADER, String.valueOf(f.length())); mPutMethod.addRequestHeader(OC_X_OC_MTIME_HEADER, mFileLastModifTimestamp); mPutMethod.setRequestEntity(mEntity); status = client.executeMethod(mPutMethod); Loading
test_client/src/com/owncloud/android/lib/test_project/TestActivity.java +25 −24 Original line number Diff line number Diff line Loading @@ -251,37 +251,34 @@ public class TestActivity extends Activity { return TestActivity.uploadFile(this, storagePath, remotePath, mimeType, mClient, requiredEtag); } /** * Access to the library method to Upload a File /** Access to the library method to Upload a File * * @param context * @param storagePath * @param remotePath * @param mimeType * @param client Client instance configured to access the target OC server. * @param requiredEtag * * @return */ public static RemoteOperationResult uploadFile( Context context, String storagePath, String remotePath, String mimeType, OwnCloudClient client, String requiredEtag ) { String fileLastModifTimestamp = getFileLastModifTimeStamp(storagePath); UploadRemoteFileOperation uploadOperation; if ((new File(storagePath)).length() > ChunkedUploadRemoteFileOperation.CHUNK_SIZE) { uploadOperation = new ChunkedUploadRemoteFileOperation( context, storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp context, storagePath, remotePath, mimeType, requiredEtag ); } else { uploadOperation = new UploadRemoteFileOperation( storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp storagePath, remotePath, mimeType ); } return uploadOperation.execute(client); RemoteOperationResult result = uploadOperation.execute(client); return result; } /** Access to the library method to Get Shares Loading @@ -289,8 +286,11 @@ public class TestActivity extends Activity { * @return */ public RemoteOperationResult getShares(){ GetRemoteSharesOperation getOperation = new GetRemoteSharesOperation(); return getOperation.execute(mClient); RemoteOperationResult result = getOperation.execute(mClient); return result; } /** Access to the library method to Create Share Loading @@ -316,7 +316,9 @@ public class TestActivity extends Activity { String password, int permissions){ CreateRemoteShareOperation createOperation = new CreateRemoteShareOperation(path, shareType, shareWith, publicUpload, password, permissions); return createOperation.execute(mClient); RemoteOperationResult result = createOperation.execute(mClient); return result; } Loading @@ -328,7 +330,10 @@ public class TestActivity extends Activity { public RemoteOperationResult removeShare(int idShare) { RemoveRemoteShareOperation removeOperation = new RemoveRemoteShareOperation(idShare); return removeOperation.execute(mClient); RemoteOperationResult result = removeOperation.execute(mClient); return result; } Loading Loading @@ -368,9 +373,5 @@ public class TestActivity extends Activity { return extractedFile; } private static String getFileLastModifTimeStamp (String storagePath) { File file = new File(storagePath); Long timeStampLong = file.lastModified()/1000; return timeStampLong.toString(); } }
test_client/tests/src/com/owncloud/android/lib/test_project/test/UploadFileTest.java +2 −1 Original line number Diff line number Diff line Loading @@ -121,4 +121,5 @@ public class UploadFileTest extends RemoteTest { } super.tearDown(); } }