Browse Source

Rebase master

Signed-off-by: alperozturk <alper_ozturk@proton.me>
alperozturk 1 year ago
parent
commit
e507317005
19 changed files with 70 additions and 67 deletions
  1. 1 1
      app/src/androidTest/java/com/owncloud/android/files/services/FileUploaderIT.kt
  2. 2 2
      app/src/main/java/com/nextcloud/client/di/AppComponent.java
  3. 0 2
      app/src/main/java/com/nextcloud/client/di/AppModule.java
  4. 2 2
      app/src/main/java/com/nextcloud/client/documentscan/DocumentScanViewModel.kt
  5. 1 1
      app/src/main/java/com/nextcloud/client/documentscan/GeneratePdfFromImagesWork.kt
  6. 1 1
      app/src/main/java/com/nextcloud/client/editimage/EditImageActivity.kt
  7. 8 0
      app/src/main/java/com/nextcloud/client/files/uploader/FileUploadHelper.kt
  8. 7 4
      app/src/main/java/com/nextcloud/client/files/uploader/FileUploadWorker.kt
  9. 16 0
      app/src/main/java/com/nextcloud/client/files/uploader/FileUploaderIntents.kt
  10. 18 42
      app/src/main/java/com/nextcloud/client/files/uploader/UploadNotificationManager.kt
  11. 2 2
      app/src/main/java/com/nextcloud/client/jobs/FilesSyncWork.kt
  12. 1 1
      app/src/main/java/com/owncloud/android/db/OCUpload.java
  13. 1 0
      app/src/main/java/com/owncloud/android/ui/activity/FileActivity.java
  14. 2 2
      app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java
  15. 1 1
      app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java
  16. 2 2
      app/src/main/java/com/owncloud/android/ui/adapter/UploadListAdapter.java
  17. 2 2
      app/src/main/java/com/owncloud/android/ui/asynctasks/CopyAndUploadContentUrisTask.java
  18. 1 0
      app/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java
  19. 2 2
      app/src/main/java/com/owncloud/android/ui/helpers/UriUploader.kt

+ 1 - 1
app/src/androidTest/java/com/owncloud/android/files/services/FileUploaderIT.kt

@@ -26,6 +26,7 @@ import com.nextcloud.client.account.UserAccountManager
 import com.nextcloud.client.account.UserAccountManagerImpl
 import com.nextcloud.client.device.BatteryStatus
 import com.nextcloud.client.device.PowerManagementService
+import com.nextcloud.client.files.uploader.FileUploadHelper
 import com.nextcloud.client.files.uploader.FileUploadWorker
 import com.nextcloud.client.network.Connectivity
 import com.nextcloud.client.network.ConnectivityService
@@ -37,7 +38,6 @@ import com.owncloud.android.lib.common.operations.OperationCancelledException
 import com.owncloud.android.lib.resources.files.ReadFileRemoteOperation
 import com.owncloud.android.lib.resources.files.model.RemoteFile
 import com.owncloud.android.operations.UploadFileOperation
-import com.nextcloud.client.files.uploader.FileUploadHelper
 import junit.framework.Assert.assertEquals
 import junit.framework.Assert.assertFalse
 import junit.framework.Assert.assertTrue

+ 2 - 2
app/src/main/java/com/nextcloud/client/di/AppComponent.java

@@ -26,9 +26,10 @@ import com.nextcloud.appReview.InAppReviewModule;
 import com.nextcloud.client.appinfo.AppInfoModule;
 import com.nextcloud.client.database.DatabaseModule;
 import com.nextcloud.client.device.DeviceModule;
-import com.nextcloud.client.files.downloader.FileDownloadHelper;
 import com.nextcloud.client.integrations.IntegrationsModule;
 import com.nextcloud.client.jobs.JobsModule;
+import com.nextcloud.client.jobs.download.FileDownloadHelper;
+import com.nextcloud.client.jobs.upload.FileUploadHelper;
 import com.nextcloud.client.network.NetworkModule;
 import com.nextcloud.client.onboarding.OnboardingModule;
 import com.nextcloud.client.preferences.PreferencesModule;
@@ -36,7 +37,6 @@ import com.owncloud.android.MainApp;
 import com.owncloud.android.media.MediaControlView;
 import com.owncloud.android.ui.ThemeableSwitchPreference;
 import com.owncloud.android.ui.whatsnew.ProgressIndicator;
-import com.nextcloud.client.files.uploader.FileUploadHelper;
 
 import javax.inject.Singleton;
 

+ 0 - 2
app/src/main/java/com/nextcloud/client/di/AppModule.java

@@ -41,8 +41,6 @@ import com.nextcloud.client.core.ClockImpl;
 import com.nextcloud.client.core.ThreadPoolAsyncRunner;
 import com.nextcloud.client.database.dao.ArbitraryDataDao;
 import com.nextcloud.client.device.DeviceInfo;
-import com.nextcloud.client.files.uploader.FileUploadHelper;
-import com.nextcloud.client.jobs.BackgroundJobManager;
 import com.nextcloud.client.logger.FileLogHandler;
 import com.nextcloud.client.logger.Logger;
 import com.nextcloud.client.logger.LoggerImpl;

+ 2 - 2
app/src/main/java/com/nextcloud/client/documentscan/DocumentScanViewModel.kt

@@ -29,6 +29,7 @@ import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.viewModelScope
 import com.nextcloud.client.account.CurrentAccountProvider
 import com.nextcloud.client.di.IoDispatcher
+import com.nextcloud.client.files.uploader.FileUploadHelper
 import com.nextcloud.client.files.uploader.FileUploadWorker
 import com.nextcloud.client.jobs.BackgroundJobManager
 import com.nextcloud.client.logger.Logger
@@ -36,7 +37,6 @@ import com.owncloud.android.datamodel.OCFile
 import com.owncloud.android.files.services.NameCollisionPolicy
 import com.owncloud.android.operations.UploadFileOperation
 import com.owncloud.android.ui.helpers.FileOperationsHelper
-import com.nextcloud.client.files.uploader.FileUploadHelper
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
@@ -184,7 +184,7 @@ class DocumentScanViewModel @Inject constructor(
             uploadFolder + OCFile.PATH_SEPARATOR + File(it).name
         }.toTypedArray()
 
-        FileUploadHelper().uploadNewFiles(
+        FileUploadHelper.instance().uploadNewFiles(
             currentAccountProvider.user,
             pageList.toTypedArray(),
             uploadPaths,

+ 1 - 1
app/src/main/java/com/nextcloud/client/documentscan/GeneratePdfFromImagesWork.kt

@@ -32,6 +32,7 @@ import androidx.work.WorkerParameters
 import com.nextcloud.client.account.AnonymousUser
 import com.nextcloud.client.account.User
 import com.nextcloud.client.account.UserAccountManager
+import com.nextcloud.client.files.uploader.FileUploadHelper
 import com.nextcloud.client.files.uploader.FileUploadWorker
 import com.nextcloud.client.logger.Logger
 import com.owncloud.android.R
@@ -39,7 +40,6 @@ import com.owncloud.android.datamodel.OCFile
 import com.owncloud.android.files.services.NameCollisionPolicy
 import com.owncloud.android.operations.UploadFileOperation
 import com.owncloud.android.ui.notifications.NotificationUtils
-import com.nextcloud.client.files.uploader.FileUploadHelper
 import com.owncloud.android.utils.theme.ViewThemeUtils
 import java.io.File
 import java.security.SecureRandom

+ 1 - 1
app/src/main/java/com/nextcloud/client/editimage/EditImageActivity.kt

@@ -34,6 +34,7 @@ import androidx.core.view.WindowCompat
 import androidx.core.view.WindowInsetsCompat
 import com.canhub.cropper.CropImageView
 import com.nextcloud.client.di.Injectable
+import com.nextcloud.client.files.uploader.FileUploadHelper
 import com.nextcloud.client.files.uploader.FileUploadWorker
 import com.nextcloud.utils.extensions.getParcelableArgument
 import com.owncloud.android.R
@@ -44,7 +45,6 @@ import com.owncloud.android.lib.common.operations.OnRemoteOperationListener
 import com.owncloud.android.operations.UploadFileOperation
 import com.owncloud.android.ui.activity.FileActivity
 import com.owncloud.android.utils.DisplayUtils
-import com.nextcloud.client.files.uploader.FileUploadHelper
 import com.owncloud.android.utils.MimeType
 import java.io.File
 

+ 8 - 0
app/src/main/java/com/nextcloud/client/files/uploader/FileUploadHelper.kt

@@ -58,6 +58,14 @@ class FileUploadHelper {
 
         val mBoundListeners = HashMap<String, OnDatatransferProgressListener>()
 
+        private var instance: FileUploadHelper? = null
+
+        fun instance(): FileUploadHelper {
+            return instance ?: synchronized(this) {
+                instance ?: FileUploadHelper().also { instance = it }
+            }
+        }
+
         fun buildRemoteName(accountName: String, remotePath: String): String {
             return accountName + remotePath
         }

+ 7 - 4
app/src/main/java/com/nextcloud/client/files/uploader/FileUploadWorker.kt

@@ -152,7 +152,11 @@ class FileUploadWorker(
     private fun upload(uploadFileOperation: UploadFileOperation, user: User): RemoteOperationResult<Any?> {
         lateinit var uploadResult: RemoteOperationResult<Any?>
 
-        notificationManager.notifyForStart(uploadFileOperation, intents.startIntent(uploadFileOperation))
+        notificationManager.notifyForStart(
+            uploadFileOperation,
+            intents.startIntent(uploadFileOperation),
+            intents.notificationStartIntent(uploadFileOperation)
+        )
 
         try {
             val storageManager = uploadFileOperation.storageManager
@@ -349,7 +353,7 @@ class FileUploadWorker(
                     canUploadBeRetried(failedUpload, gotWifi, charging) && !connectivityService.isInternetWalled
                 ) {
                     // 2B. for existing local files, try restarting it if possible
-                    FileUploadHelper().retryUpload(failedUpload, uploadUser.get())
+                    FileUploadHelper.instance().retryUpload(failedUpload, uploadUser.get())
                 }
             }
         }
@@ -388,8 +392,7 @@ class FileUploadWorker(
                         return
                     }
 
-                    val uploadHelper = FileUploadHelper()
-                    uploadHelper.cancelFileUpload(remotePath, accountName)
+                    FileUploadHelper.instance().cancelFileUpload(remotePath, accountName)
                 }
             }
         }

+ 16 - 0
app/src/main/java/com/nextcloud/client/files/uploader/FileUploaderIntents.kt

@@ -97,6 +97,22 @@ class FileUploaderIntents(private val context: Context) {
         )
     }
 
+    fun notificationStartIntent(operation: UploadFileOperation): PendingIntent {
+        val intent = UploadListActivity.createIntent(
+            operation.file,
+            operation.user,
+            Intent.FLAG_ACTIVITY_CLEAR_TOP,
+            context
+        )
+
+        return PendingIntent.getActivity(
+            context,
+            System.currentTimeMillis().toInt(),
+            intent,
+            PendingIntent.FLAG_IMMUTABLE
+        )
+    }
+
     fun conflictResolveActionIntents(context: Context, uploadFileOperation: UploadFileOperation): PendingIntent {
         val intent = createIntent(
             uploadFileOperation.file,

+ 18 - 42
app/src/main/java/com/nextcloud/client/files/uploader/UploadNotificationManager.kt

@@ -25,14 +25,11 @@ import android.app.Notification
 import android.app.NotificationManager
 import android.app.PendingIntent
 import android.content.Context
-import android.content.Intent
 import android.graphics.BitmapFactory
-import android.os.Build
 import androidx.core.app.NotificationCompat
 import com.owncloud.android.R
 import com.owncloud.android.lib.resources.files.FileUtils
 import com.owncloud.android.operations.UploadFileOperation
-import com.owncloud.android.ui.activity.UploadListActivity
 import com.owncloud.android.ui.notifications.NotificationUtils
 import com.owncloud.android.utils.theme.ViewThemeUtils
 import java.security.SecureRandom
@@ -53,63 +50,42 @@ class UploadNotificationManager(private val context: Context, private val viewTh
     }
 
     private fun initNotificationBuilder() {
-        notificationBuilder = NotificationUtils.newNotificationBuilder(context, viewThemeUtils)
-            .setContentTitle(context.resources.getString(R.string.app_name))
-            .setContentText(context.resources.getString(R.string.foreground_service_upload))
-            .setSmallIcon(R.drawable.notification_icon)
-            .setLargeIcon(BitmapFactory.decodeResource(context.resources, R.drawable.notification_icon))
-
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
-            notificationBuilder.setChannelId(NotificationUtils.NOTIFICATION_CHANNEL_UPLOAD)
+        notificationBuilder = NotificationUtils.newNotificationBuilder(context, viewThemeUtils).apply {
+            setContentTitle(context.resources.getString(R.string.app_name))
+            setContentText(context.resources.getString(R.string.foreground_service_upload))
+            setSmallIcon(R.drawable.notification_icon)
+            setLargeIcon(BitmapFactory.decodeResource(context.resources, R.drawable.notification_icon))
+            setChannelId(NotificationUtils.NOTIFICATION_CHANNEL_UPLOAD)
         }
 
         notification = notificationBuilder.build()
     }
 
     @Suppress("MagicNumber")
-    fun notifyForStart(upload: UploadFileOperation, pendingIntent: PendingIntent) {
-        notificationBuilder = NotificationUtils.newNotificationBuilder(context, viewThemeUtils)
-
-        notificationBuilder
-            .setOngoing(true)
-            .setSmallIcon(R.drawable.notification_icon)
-            .setTicker(context.getString(R.string.uploader_upload_in_progress_ticker))
-            .setContentTitle(context.getString(R.string.uploader_upload_in_progress_ticker))
-            .setProgress(100, 0, false)
-            .setContentText(
+    fun notifyForStart(upload: UploadFileOperation, pendingIntent: PendingIntent, startIntent: PendingIntent) {
+        notificationBuilder = NotificationUtils.newNotificationBuilder(context, viewThemeUtils).apply {
+            setOngoing(true)
+            setSmallIcon(R.drawable.notification_icon)
+            setTicker(context.getString(R.string.uploader_upload_in_progress_ticker))
+            setContentTitle(context.getString(R.string.uploader_upload_in_progress_ticker))
+            setProgress(100, 0, false)
+            setContentText(
                 String.format(
                     context.getString(R.string.uploader_upload_in_progress_content),
                     0,
                     upload.fileName
                 )
             )
-            .clearActions()
-            .addAction(
+            clearActions()
+            addAction(
                 R.drawable.ic_action_cancel_grey,
                 context.getString(R.string.common_cancel),
                 pendingIntent
             )
-
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
-            notificationBuilder.setChannelId(NotificationUtils.NOTIFICATION_CHANNEL_UPLOAD)
+            setChannelId(NotificationUtils.NOTIFICATION_CHANNEL_UPLOAD)
+            setContentIntent(startIntent)
         }
 
-        val intent = UploadListActivity.createIntent(
-            upload.file,
-            upload.user,
-            Intent.FLAG_ACTIVITY_CLEAR_TOP,
-            context
-        )
-
-        notificationBuilder.setContentIntent(
-            PendingIntent.getActivity(
-                context,
-                System.currentTimeMillis().toInt(),
-                intent,
-                PendingIntent.FLAG_IMMUTABLE
-            )
-        )
-
         if (!upload.isInstantPicture && !upload.isInstantVideo) {
             showWorkerNotification()
         }

+ 2 - 2
app/src/main/java/com/nextcloud/client/jobs/FilesSyncWork.kt

@@ -34,6 +34,7 @@ import androidx.work.ForegroundInfo
 import androidx.work.WorkerParameters
 import com.nextcloud.client.account.UserAccountManager
 import com.nextcloud.client.device.PowerManagementService
+import com.nextcloud.client.files.uploader.FileUploadHelper
 import com.nextcloud.client.files.uploader.FileUploadWorker
 import com.nextcloud.client.network.ConnectivityService
 import com.nextcloud.client.preferences.SubFolderRule
@@ -52,7 +53,6 @@ import com.owncloud.android.ui.activity.SettingsActivity
 import com.owncloud.android.ui.notifications.NotificationUtils
 import com.owncloud.android.utils.FileStorageUtils
 import com.owncloud.android.utils.FilesSyncHelper
-import com.nextcloud.client.files.uploader.FileUploadHelper
 import com.owncloud.android.utils.MimeType
 import com.owncloud.android.utils.MimeTypeUtil
 import java.io.File
@@ -210,7 +210,7 @@ class FilesSyncWork(
             uploadAction = syncedFolder.uploadAction
         }
 
-        FileUploadHelper().uploadNewFiles(
+        FileUploadHelper.instance().uploadNewFiles(
             user,
             localPaths,
             remotePaths,

+ 1 - 1
app/src/main/java/com/owncloud/android/db/OCUpload.java

@@ -27,6 +27,7 @@ import android.os.Parcel;
 import android.os.Parcelable;
 
 import com.nextcloud.client.account.User;
+import com.nextcloud.client.files.uploader.FileUploadHelper;
 import com.nextcloud.client.files.uploader.FileUploadWorker;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.datamodel.UploadsStorageManager;
@@ -34,7 +35,6 @@ import com.owncloud.android.datamodel.UploadsStorageManager.UploadStatus;
 import com.owncloud.android.files.services.NameCollisionPolicy;
 import com.owncloud.android.lib.common.utils.Log_OC;
 import com.owncloud.android.operations.UploadFileOperation;
-import com.nextcloud.client.files.uploader.FileUploadHelper;
 import com.owncloud.android.utils.MimeTypeUtil;
 
 import java.io.File;

+ 1 - 0
app/src/main/java/com/owncloud/android/ui/activity/FileActivity.java

@@ -43,6 +43,7 @@ import android.text.TextUtils;
 import com.google.android.material.snackbar.Snackbar;
 import com.nextcloud.client.account.User;
 import com.nextcloud.client.account.UserAccountManager;
+import com.nextcloud.client.files.uploader.FileUploadHelper;
 import com.nextcloud.client.jobs.BackgroundJobManager;
 import com.nextcloud.client.jobs.download.FileDownloadWorker;
 import com.nextcloud.client.jobs.upload.FileUploadHelper;

+ 2 - 2
app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java

@@ -59,6 +59,7 @@ import android.widget.Toast;
 import com.google.android.material.button.MaterialButton;
 import com.nextcloud.client.account.User;
 import com.nextcloud.client.di.Injectable;
+import com.nextcloud.client.files.uploader.FileUploadHelper;
 import com.nextcloud.client.files.uploader.FileUploadWorker;
 import com.nextcloud.client.preferences.AppPreferences;
 import com.nextcloud.utils.extensions.BundleExtensionsKt;
@@ -92,7 +93,6 @@ import com.owncloud.android.utils.DataHolderUtil;
 import com.owncloud.android.utils.DisplayUtils;
 import com.owncloud.android.utils.ErrorMessageAdapter;
 import com.owncloud.android.utils.FileSortOrder;
-import com.nextcloud.client.files.uploader.FileUploadHelper;
 import com.owncloud.android.utils.MimeType;
 import com.owncloud.android.utils.theme.ViewThemeUtils;
 
@@ -885,7 +885,7 @@ public class ReceiveExternalFilesActivity extends FileActivity
     }
 
     public void uploadFile(String tmpName, String filename) {
-        new FileUploadHelper().uploadNewFiles(
+        FileUploadHelper.Companion.instance().uploadNewFiles(
             getUser().orElseThrow(RuntimeException::new),
             new String[]{ tmpName },
             new String[]{ mFile.getRemotePath() + filename},

+ 1 - 1
app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java

@@ -171,7 +171,7 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
 
         this.viewThemeUtils = viewThemeUtils;
 
-        ocFileListDelegate = new OCFileListDelegate(new FileUploadHelper(),
+        ocFileListDelegate = new OCFileListDelegate(FileUploadHelper.Companion.instance(),
                                                     activity,
                                                     ocFileListFragmentInterface,
                                                     user,

+ 2 - 2
app/src/main/java/com/owncloud/android/ui/adapter/UploadListAdapter.java

@@ -43,6 +43,7 @@ import com.nextcloud.client.account.User;
 import com.nextcloud.client.account.UserAccountManager;
 import com.nextcloud.client.core.Clock;
 import com.nextcloud.client.device.PowerManagementService;
+import com.nextcloud.client.files.uploader.FileUploadHelper;
 import com.nextcloud.client.files.uploader.FileUploadWorker;
 import com.nextcloud.client.network.ConnectivityService;
 import com.nextcloud.java.util.Optional;
@@ -67,7 +68,6 @@ import com.owncloud.android.ui.activity.FileDisplayActivity;
 import com.owncloud.android.ui.notifications.NotificationUtils;
 import com.owncloud.android.ui.preview.PreviewImageFragment;
 import com.owncloud.android.utils.DisplayUtils;
-import com.nextcloud.client.files.uploader.FileUploadHelper;
 import com.owncloud.android.utils.MimeTypeUtil;
 import com.owncloud.android.utils.theme.ViewThemeUtils;
 
@@ -95,7 +95,7 @@ public class UploadListAdapter extends SectionedRecyclerViewAdapter<SectionedVie
     private final ViewThemeUtils viewThemeUtils;
     private NotificationManager mNotificationManager;
 
-    private final FileUploadHelper uploadHelper = new FileUploadHelper();
+    private final FileUploadHelper uploadHelper = FileUploadHelper.Companion.instance();
 
     @Override
     public int getSectionCount() {

+ 2 - 2
app/src/main/java/com/owncloud/android/ui/asynctasks/CopyAndUploadContentUrisTask.java

@@ -30,13 +30,13 @@ import android.provider.DocumentsContract;
 import android.widget.Toast;
 
 import com.nextcloud.client.account.User;
+import com.nextcloud.client.files.uploader.FileUploadHelper;
 import com.owncloud.android.R;
 import com.owncloud.android.files.services.NameCollisionPolicy;
 import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
 import com.owncloud.android.lib.common.utils.Log_OC;
 import com.owncloud.android.operations.UploadFileOperation;
 import com.owncloud.android.utils.FileStorageUtils;
-import com.nextcloud.client.files.uploader.FileUploadHelper;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -247,7 +247,7 @@ public class CopyAndUploadContentUrisTask extends AsyncTask<Object, Void, Result
     }
 
     private void requestUpload(User user, String localPath, String remotePath, int behaviour) {
-        new FileUploadHelper().uploadNewFiles(
+        FileUploadHelper.Companion.instance().uploadNewFiles(
             user,
             new String[]{ localPath },
             new String[]{ remotePath },

+ 1 - 0
app/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java

@@ -47,6 +47,7 @@ import android.webkit.MimeTypeMap;
 
 import com.nextcloud.client.account.CurrentAccountProvider;
 import com.nextcloud.client.account.User;
+import com.nextcloud.client.files.uploader.FileUploadHelper;
 import com.nextcloud.client.jobs.BackgroundJobManager;
 import com.nextcloud.client.jobs.download.FileDownloadHelper;
 import com.nextcloud.client.jobs.upload.FileUploadHelper;

+ 2 - 2
app/src/main/java/com/owncloud/android/ui/helpers/UriUploader.kt

@@ -23,6 +23,7 @@ import android.content.ContentResolver
 import android.net.Uri
 import android.os.Parcelable
 import com.nextcloud.client.account.User
+import com.nextcloud.client.files.uploader.FileUploadHelper
 import com.owncloud.android.R
 import com.owncloud.android.files.services.NameCollisionPolicy
 import com.owncloud.android.lib.common.utils.Log_OC
@@ -31,7 +32,6 @@ import com.owncloud.android.ui.activity.FileActivity
 import com.owncloud.android.ui.asynctasks.CopyAndUploadContentUrisTask
 import com.owncloud.android.ui.asynctasks.CopyAndUploadContentUrisTask.OnCopyTmpFilesTaskListener
 import com.owncloud.android.ui.fragment.TaskRetainerFragment
-import com.nextcloud.client.files.uploader.FileUploadHelper
 import com.owncloud.android.utils.UriUtils.getDisplayNameForUri
 
 /**
@@ -125,7 +125,7 @@ class UriUploader(
      * @param remotePath    Absolute path in the current OC account to set to the uploaded file.
      */
     private fun requestUpload(localPath: String?, remotePath: String) {
-        FileUploadHelper().uploadNewFiles(
+        FileUploadHelper.instance().uploadNewFiles(
             user,
             arrayOf(localPath ?: ""),
             arrayOf(remotePath),