diff --git a/owncloudApp/src/main/java/com/owncloud/android/files/services/FileUploader.java b/owncloudApp/src/main/java/com/owncloud/android/files/services/FileUploader.java index 4ef11ad2dba..0e956f1eb38 100644 --- a/owncloudApp/src/main/java/com/owncloud/android/files/services/FileUploader.java +++ b/owncloudApp/src/main/java/com/owncloud/android/files/services/FileUploader.java @@ -159,7 +159,7 @@ public class FileUploader extends Service //since there can be only one instance of an Android service, there also just one db connection. private UploadsStorageManager mUploadsStorageManager = null; - private IndexedForest mPendingUploads = new IndexedForest(); + private IndexedForest mPendingUploads = new IndexedForest<>(); private LocalBroadcastManager mLocalBroadcastManager; @@ -565,7 +565,7 @@ public class FileUploaderBinder extends Binder implements OnDatatransferProgress * {@link FileUploaderBinder} instance */ private Map> mBoundListeners = - new HashMap>(); + new HashMap<>(); /** * Cancels a pending or current upload of a remote file. @@ -873,7 +873,7 @@ public void uploadFile(String uploadKey) { ); } - if (!uploadResult.isSuccess()) { + if (uploadResult != null && !uploadResult.isSuccess()) { TransferRequester requester = new TransferRequester(); int jobId = mPendingUploads.buildKey( mCurrentAccount.name, @@ -917,10 +917,11 @@ public void uploadFile(String uploadKey) { Timber.v(stringToLog); } - mUploadsStorageManager.updateDatabaseUploadResult(uploadResult, mCurrentUpload); - - /// notify result - notifyUploadResult(mCurrentUpload, uploadResult); + if (uploadResult != null) { + mUploadsStorageManager.updateDatabaseUploadResult(uploadResult, mCurrentUpload); + /// notify result + notifyUploadResult(mCurrentUpload, uploadResult); + } sendBroadcastUploadFinished(mCurrentUpload, uploadResult, removeResult.second); }