Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d4cde06a authored by Mario Đanić's avatar Mario Đanić Committed by GitHub
Browse files

Merge pull request #38 from nextcloud/revertPR36

Revert "Merge pull request #36 
parents 1a32b9a9 b0bf7f46
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -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);
    }
+2 −12
Original line number Diff line number Diff line
@@ -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;
@@ -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()) {
+116 −122
Original line number Diff line number Diff line
@@ -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;
@@ -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;
	}

@@ -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);

+25 −24
Original line number Diff line number Diff line
@@ -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 
@@ -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
@@ -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;
	}
	
	
@@ -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;
		
	}

	
@@ -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();
    }

}
+2 −1
Original line number Diff line number Diff line
@@ -121,4 +121,5 @@ public class UploadFileTest extends RemoteTest {
		}
		super.tearDown();
	}
	
}