Loading sample_client/src/com/owncloud/android/lib/sampleclient/MainActivity.java +14 −8 Original line number Diff line number Diff line Loading @@ -157,7 +157,13 @@ 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); UploadRemoteFileOperation uploadOperation = new UploadRemoteFileOperation(fileToUpload.getAbsolutePath(), remotePath, 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); uploadOperation.addDatatransferProgressListener(this); uploadOperation.execute(mClient, this, mHandler); } Loading src/com/owncloud/android/lib/resources/files/ChunkedUploadRemoteFileOperation.java +11 −3 Original line number Diff line number Diff line Loading @@ -54,15 +54,21 @@ 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) { super(storagePath, remotePath, mimeType, requiredEtag); public ChunkedUploadRemoteFileOperation(Context context, String storagePath, String remotePath, String mimeType, String requiredEtag, String fileLastModifTimestamp) { super(storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp); 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 @@ -112,6 +118,8 @@ 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 +11 −5 Original line number Diff line number Diff line Loading @@ -62,10 +62,12 @@ public class UploadRemoteFileOperation extends RemoteOperation { protected static final String OC_TOTAL_LENGTH_HEADER = "OC-Total-Length"; protected static final String IF_MATCH_HEADER = "If-Match"; protected static final String OC_X_OC_MTIME_HEADER = "X-OC-Mtime"; 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 @@ -75,14 +77,17 @@ public class UploadRemoteFileOperation extends RemoteOperation { protected RequestEntity mEntity = null; public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType) { public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType, String fileLastModifTimestamp) { mLocalPath = localPath; mRemotePath = remotePath; mMimeType = mimeType; mFileLastModifTimestamp = fileLastModifTimestamp; } public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType, String requiredEtag) { this(localPath, remotePath, mimeType); public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType, String requiredEtag, String fileLastModifTimestamp) { this(localPath, remotePath, mimeType, fileLastModifTimestamp); mRequiredEtag = requiredEtag; } Loading Loading @@ -152,6 +157,7 @@ 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 +28 −31 Original line number Diff line number Diff line Loading @@ -245,9 +245,8 @@ public class TestActivity extends Activity { * * @return */ public RemoteOperationResult uploadFile( String storagePath, String remotePath, String mimeType, String requiredEtag ) { public RemoteOperationResult uploadFile(String storagePath, String remotePath, String mimeType, String requiredEtag) { return TestActivity.uploadFile(this, storagePath, remotePath, mimeType, mClient, requiredEtag); } Loading @@ -259,26 +258,27 @@ public class TestActivity extends Activity { * @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 ) { 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 context, storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp ); } else { uploadOperation = new UploadRemoteFileOperation( storagePath, remotePath, mimeType storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp ); } RemoteOperationResult result = uploadOperation.execute(client); return result; return uploadOperation.execute(client); } /** Access to the library method to Get Shares Loading @@ -286,11 +286,8 @@ public class TestActivity extends Activity { * @return */ public RemoteOperationResult getShares() { GetRemoteSharesOperation getOperation = new GetRemoteSharesOperation(); RemoteOperationResult result = getOperation.execute(mClient); return result; return getOperation.execute(mClient); } /** Access to the library method to Create Share Loading @@ -315,10 +312,9 @@ public class TestActivity extends Activity { public RemoteOperationResult createShare(String path, ShareType shareType, String shareWith, boolean publicUpload, String password, int permissions){ CreateRemoteShareOperation createOperation = new CreateRemoteShareOperation(path, shareType, shareWith, publicUpload, password, permissions); RemoteOperationResult result = createOperation.execute(mClient); return result; CreateRemoteShareOperation createOperation = new CreateRemoteShareOperation(path, shareType, shareWith, publicUpload, password, permissions); return createOperation.execute(mClient); } Loading @@ -330,10 +326,7 @@ public class TestActivity extends Activity { public RemoteOperationResult removeShare(int idShare) { RemoveRemoteShareOperation removeOperation = new RemoveRemoteShareOperation(idShare); RemoteOperationResult result = removeOperation.execute(mClient); return result; return removeOperation.execute(mClient); } Loading Loading @@ -373,5 +366,9 @@ 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 −2 File changed.Contains only whitespace changes. Show changes Loading
sample_client/src/com/owncloud/android/lib/sampleclient/MainActivity.java +14 −8 Original line number Diff line number Diff line Loading @@ -157,7 +157,13 @@ 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); UploadRemoteFileOperation uploadOperation = new UploadRemoteFileOperation(fileToUpload.getAbsolutePath(), remotePath, 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); uploadOperation.addDatatransferProgressListener(this); uploadOperation.execute(mClient, this, mHandler); } Loading
src/com/owncloud/android/lib/resources/files/ChunkedUploadRemoteFileOperation.java +11 −3 Original line number Diff line number Diff line Loading @@ -54,15 +54,21 @@ 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) { super(storagePath, remotePath, mimeType, requiredEtag); public ChunkedUploadRemoteFileOperation(Context context, String storagePath, String remotePath, String mimeType, String requiredEtag, String fileLastModifTimestamp) { super(storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp); 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 @@ -112,6 +118,8 @@ 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 +11 −5 Original line number Diff line number Diff line Loading @@ -62,10 +62,12 @@ public class UploadRemoteFileOperation extends RemoteOperation { protected static final String OC_TOTAL_LENGTH_HEADER = "OC-Total-Length"; protected static final String IF_MATCH_HEADER = "If-Match"; protected static final String OC_X_OC_MTIME_HEADER = "X-OC-Mtime"; 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 @@ -75,14 +77,17 @@ public class UploadRemoteFileOperation extends RemoteOperation { protected RequestEntity mEntity = null; public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType) { public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType, String fileLastModifTimestamp) { mLocalPath = localPath; mRemotePath = remotePath; mMimeType = mimeType; mFileLastModifTimestamp = fileLastModifTimestamp; } public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType, String requiredEtag) { this(localPath, remotePath, mimeType); public UploadRemoteFileOperation(String localPath, String remotePath, String mimeType, String requiredEtag, String fileLastModifTimestamp) { this(localPath, remotePath, mimeType, fileLastModifTimestamp); mRequiredEtag = requiredEtag; } Loading Loading @@ -152,6 +157,7 @@ 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 +28 −31 Original line number Diff line number Diff line Loading @@ -245,9 +245,8 @@ public class TestActivity extends Activity { * * @return */ public RemoteOperationResult uploadFile( String storagePath, String remotePath, String mimeType, String requiredEtag ) { public RemoteOperationResult uploadFile(String storagePath, String remotePath, String mimeType, String requiredEtag) { return TestActivity.uploadFile(this, storagePath, remotePath, mimeType, mClient, requiredEtag); } Loading @@ -259,26 +258,27 @@ public class TestActivity extends Activity { * @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 ) { 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 context, storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp ); } else { uploadOperation = new UploadRemoteFileOperation( storagePath, remotePath, mimeType storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp ); } RemoteOperationResult result = uploadOperation.execute(client); return result; return uploadOperation.execute(client); } /** Access to the library method to Get Shares Loading @@ -286,11 +286,8 @@ public class TestActivity extends Activity { * @return */ public RemoteOperationResult getShares() { GetRemoteSharesOperation getOperation = new GetRemoteSharesOperation(); RemoteOperationResult result = getOperation.execute(mClient); return result; return getOperation.execute(mClient); } /** Access to the library method to Create Share Loading @@ -315,10 +312,9 @@ public class TestActivity extends Activity { public RemoteOperationResult createShare(String path, ShareType shareType, String shareWith, boolean publicUpload, String password, int permissions){ CreateRemoteShareOperation createOperation = new CreateRemoteShareOperation(path, shareType, shareWith, publicUpload, password, permissions); RemoteOperationResult result = createOperation.execute(mClient); return result; CreateRemoteShareOperation createOperation = new CreateRemoteShareOperation(path, shareType, shareWith, publicUpload, password, permissions); return createOperation.execute(mClient); } Loading @@ -330,10 +326,7 @@ public class TestActivity extends Activity { public RemoteOperationResult removeShare(int idShare) { RemoveRemoteShareOperation removeOperation = new RemoveRemoteShareOperation(idShare); RemoteOperationResult result = removeOperation.execute(mClient); return result; return removeOperation.execute(mClient); } Loading Loading @@ -373,5 +366,9 @@ 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 −2 File changed.Contains only whitespace changes. Show changes