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

Commit 4711199c authored by Vincent Bourgmayer's avatar Vincent Bourgmayer
Browse files

Clear UploadFileOperation.java

- Remove 'implements ComparableOperation'
- Remove 'checkEtag' boolean and use SyncedFileState.isMediaType() instead
- Update Constructor to remove checkEtag parameter
- Update SynchronizerService to use new UploadFileOperation's constructor signature
parent 0eff79bb
Loading
Loading
Loading
Loading
+3 −23
Original line number Diff line number Diff line
@@ -34,13 +34,12 @@ import foundation.e.drive.utils.CommonUtils;
 * @author Vincent Bourgmayer
 * High level Operation which upload a local file to a remote cloud storage
 */
public class UploadFileOperation extends RemoteOperation implements ComparableOperation, Parcelable {
public class UploadFileOperation extends RemoteOperation implements Parcelable {
    private final static String TAG = UploadFileOperation.class.getSimpleName();


    private int restartCounter =0;
    private long previousLastModified; //get to restore real value if all trials fails
    private boolean checkEtag;
    private Context mContext;
    private SyncedFileState mSyncedState;

@@ -49,7 +48,6 @@ public class UploadFileOperation extends RemoteOperation implements ComparableOp
    protected UploadFileOperation(Parcel in) {
        restartCounter = in.readInt();
        previousLastModified = in.readLong();
        checkEtag = in.readByte() != 0;
        mSyncedState = in.readParcelable(SyncedFileState.class.getClassLoader());
        availableQuota = in.readLong();
    }
@@ -66,21 +64,13 @@ public class UploadFileOperation extends RemoteOperation implements ComparableOp
        }
    };

    @Override
    public RemoteOperation toRemoteOperation() {
        return this;
    }


    /**
     * Construct an upload operation with an already known syncedFileState
     * @param syncedFileState syncedFileState corresponding to file.
     * @param checkEtag if we should use IF MATCH header with etag
     */
    public UploadFileOperation (SyncedFileState syncedFileState, boolean checkEtag){
    public UploadFileOperation (SyncedFileState syncedFileState){
        this.mSyncedState = syncedFileState;
        this.previousLastModified = mSyncedState.getLocalLastModified();
        this.checkEtag = checkEtag;
    }

    public void setContext(Context context){
@@ -209,7 +199,7 @@ public class UploadFileOperation extends RemoteOperation implements ComparableOp
        UploadFileRemoteOperation uploadRemoteFileOperation = new UploadFileRemoteOperation( mSyncedState.getLocalPath(),
                ( targetPath != null ) ? targetPath : mSyncedState.getRemotePath(),
                CommonUtils.getMimeType( file ),
            ( !checkEtag || mSyncedState.getLastETAG().isEmpty() )? null : mSyncedState.getLastETAG(), //If not null, This can cause error 412; that means remote file has change
            ( !this.mSyncedState.isMediaType() || mSyncedState.getLastETAG().isEmpty() )? null : mSyncedState.getLastETAG(), //If not null, This can cause error 412; that means remote file has change
            timeStamp );
        uploadRemoteFileOperation.askResultEtag(true);
        return uploadRemoteFileOperation;
@@ -240,15 +230,6 @@ public class UploadFileOperation extends RemoteOperation implements ComparableOp
        }
    }

    /**
     * tell what type of operation is it
     * @return true if it is an operation for media's element, then false mean its a settings operation
     */
    @Override
    public boolean isMediaType(){
        return this.mSyncedState.isMediaType();
    }

    @Override
    public int describeContents() {
        return 0;
@@ -258,7 +239,6 @@ public class UploadFileOperation extends RemoteOperation implements ComparableOp
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeInt(restartCounter);
        dest.writeLong(previousLastModified);
        dest.writeByte((byte) (checkEtag ? 1: 0) ); //No method to write boolean
        dest.writeParcelable(mSyncedState, flags);
        dest.writeLong(availableQuota);
    }
+1 −1
Original line number Diff line number Diff line
@@ -213,7 +213,7 @@ public class SynchronizationService extends Service implements OnRemoteOperation
        switch (request.getOperationType()){
            case UPLOAD:
                final SyncedFileState sfs = request.getSyncedFileState();
                operation = new UploadFileOperation(sfs, sfs.isMediaType());
                operation = new UploadFileOperation(sfs);
                break;
            case DOWNLOAD:
                final DownloadRequest downloadRequest = (DownloadRequest) request;