diff --git a/src/main/java/com/owncloud/android/files/services/FileUploader.java b/src/main/java/com/owncloud/android/files/services/FileUploader.java index a3528a817050..9b987d34a46f 100644 --- a/src/main/java/com/owncloud/android/files/services/FileUploader.java +++ b/src/main/java/com/owncloud/android/files/services/FileUploader.java @@ -975,24 +975,25 @@ public void onTransferProgress(long progressRate, long totalTransferredSoFar, long totalToTransfer, String fileName) { String key = buildRemoteName(mCurrentUpload.getAccount().name, mCurrentUpload.getFile().getRemotePath()); OnDatatransferProgressListener boundListener = mBoundListeners.get(key); + if (boundListener != null) { boundListener.onTransferProgress(progressRate, totalTransferredSoFar, - totalToTransfer, fileName); - - if (MainApp.getAppContext() != null) { - if (mCurrentUpload.isWifiRequired() && !Device.getNetworkType(MainApp.getAppContext()). - equals(JobRequest.NetworkType.UNMETERED)) { - cancel(mCurrentUpload.getAccount().name, mCurrentUpload.getFile().getRemotePath() - , ResultCode.DELAYED_FOR_WIFI); - } else if (mCurrentUpload.isChargingRequired() && - !Device.getBatteryStatus(MainApp.getAppContext()).isCharging()) { - cancel(mCurrentUpload.getAccount().name, mCurrentUpload.getFile().getRemotePath() - , ResultCode.DELAYED_FOR_CHARGING); - } else if (!mCurrentUpload.isIgnoringPowerSaveMode() && - powerManagementService.isPowerSavingEnabled()) { - cancel(mCurrentUpload.getAccount().name, mCurrentUpload.getFile().getRemotePath() - , ResultCode.DELAYED_IN_POWER_SAVE_MODE); - } + totalToTransfer, fileName); + } + + if (MainApp.getAppContext() != null) { + if (mCurrentUpload.isWifiRequired() && !Device.getNetworkType(MainApp.getAppContext()). + equals(JobRequest.NetworkType.UNMETERED)) { + cancel(mCurrentUpload.getAccount().name, mCurrentUpload.getFile().getRemotePath() + , ResultCode.DELAYED_FOR_WIFI); + } else if (mCurrentUpload.isChargingRequired() && + !Device.getBatteryStatus(MainApp.getAppContext()).isCharging()) { + cancel(mCurrentUpload.getAccount().name, mCurrentUpload.getFile().getRemotePath() + , ResultCode.DELAYED_FOR_CHARGING); + } else if (!mCurrentUpload.isIgnoringPowerSaveMode() && + powerManagementService.isPowerSavingEnabled()) { + cancel(mCurrentUpload.getAccount().name, mCurrentUpload.getFile().getRemotePath() + , ResultCode.DELAYED_IN_POWER_SAVE_MODE); } } }