Browse Source

Use helper files

Signed-off-by: alperozturk <alper_ozturk@proton.me>
alperozturk 1 năm trước cách đây
mục cha
commit
4c428aef35

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

@@ -36,6 +36,7 @@ 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.owncloud.android.utils.FilesUploadHelper
 import junit.framework.Assert.assertEquals
 import junit.framework.Assert.assertFalse
 import junit.framework.Assert.assertTrue
@@ -138,10 +139,10 @@ abstract class FileUploaderIT : AbstractOnServerIT() {
     fun testKeepLocalAndOverwriteRemoteStatic() {
         val file = getDummyFile("chunkedFile.txt")
 
-        FileUploader.uploadNewFile(
+        FilesUploadHelper().uploadNewFiles(
             user,
-            file.absolutePath,
-            "/testFile.txt",
+            arrayOf(file.absolutePath),
+            arrayOf("/testFile.txt"),
             FileUploader.LOCAL_BEHAVIOUR_COPY,
             true,
             UploadFileOperation.CREATED_BY_USER,
@@ -255,10 +256,10 @@ abstract class FileUploaderIT : AbstractOnServerIT() {
     fun testKeepBothStatic() {
         val file = getDummyFile("nonEmpty.txt")
 
-        FileUploader.uploadNewFile(
+        FilesUploadHelper().uploadNewFiles(
             user,
-            file.absolutePath,
-            "/testFile.txt",
+            arrayOf(file.absolutePath),
+            arrayOf("/testFile.txt"),
             FileUploader.LOCAL_BEHAVIOUR_COPY,
             true,
             UploadFileOperation.CREATED_BY_USER,
@@ -364,10 +365,10 @@ abstract class FileUploaderIT : AbstractOnServerIT() {
     fun testKeepServerStatic() {
         val file = getDummyFile("chunkedFile.txt")
 
-        FileUploader.uploadNewFile(
+        FilesUploadHelper().uploadNewFiles(
             user,
-            file.absolutePath,
-            "/testFile.txt",
+            arrayOf(file.absolutePath),
+            arrayOf("/testFile.txt"),
             FileUploader.LOCAL_BEHAVIOUR_COPY,
             true,
             UploadFileOperation.CREATED_BY_USER,
@@ -469,10 +470,10 @@ abstract class FileUploaderIT : AbstractOnServerIT() {
     fun testKeepCancelStatic() {
         val file = getDummyFile("chunkedFile.txt")
 
-        FileUploader.uploadNewFile(
+        FilesUploadHelper().uploadNewFiles(
             user,
-            file.absolutePath,
-            "/testFile.txt",
+            arrayOf(file.absolutePath),
+            arrayOf("/testFile.txt"),
             FileUploader.LOCAL_BEHAVIOUR_COPY,
             true,
             UploadFileOperation.CREATED_BY_USER,

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

@@ -36,6 +36,7 @@ import com.owncloud.android.files.services.FileUploader
 import com.owncloud.android.files.services.NameCollisionPolicy
 import com.owncloud.android.operations.UploadFileOperation
 import com.owncloud.android.ui.helpers.FileOperationsHelper
+import com.owncloud.android.utils.FilesUploadHelper
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
@@ -183,7 +184,7 @@ class DocumentScanViewModel @Inject constructor(
             uploadFolder + OCFile.PATH_SEPARATOR + File(it).name
         }.toTypedArray()
 
-        FileUploader.uploadNewFile(
+        FilesUploadHelper().uploadNewFiles(
             currentAccountProvider.user,
             pageList.toTypedArray(),
             uploadPaths,

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

@@ -39,6 +39,7 @@ import com.owncloud.android.files.services.FileUploader
 import com.owncloud.android.files.services.NameCollisionPolicy
 import com.owncloud.android.operations.UploadFileOperation
 import com.owncloud.android.ui.notifications.NotificationUtils
+import com.owncloud.android.utils.FilesUploadHelper
 import com.owncloud.android.utils.theme.ViewThemeUtils
 import java.io.File
 import java.security.SecureRandom
@@ -122,10 +123,10 @@ class GeneratePdfFromImagesWork(
     private fun uploadFile(user: User, uploadFolder: String, pdfPath: String) {
         val uploadPath = uploadFolder + OCFile.PATH_SEPARATOR + File(pdfPath).name
 
-        FileUploader.uploadNewFile(
+        FilesUploadHelper().uploadNewFiles(
             user,
-            pdfPath,
-            uploadPath,
+            arrayOf(pdfPath),
+            arrayOf(uploadPath),
             FileUploader.LOCAL_BEHAVIOUR_DELETE, // MIME type will be detected from file name
             true,
             UploadFileOperation.CREATED_BY_USER,

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

@@ -52,6 +52,7 @@ 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.owncloud.android.utils.FilesUploadHelper
 import com.owncloud.android.utils.MimeType
 import com.owncloud.android.utils.MimeTypeUtil
 import java.io.File
@@ -209,7 +210,7 @@ class FilesSyncWork(
             uploadAction = syncedFolder.uploadAction
         }
 
-        FileUploader.uploadNewFile(
+        FilesUploadHelper().uploadNewFiles(
             user,
             localPaths,
             remotePaths,

+ 0 - 55
app/src/main/java/com/owncloud/android/files/services/FileUploader.java

@@ -125,9 +125,6 @@ public class FileUploader extends Service
     public static final String ACTION_CANCEL_BROADCAST = "CANCEL";
     public static final String ACTION_PAUSE_BROADCAST = "PAUSE";
 
-    private static final int FOREGROUND_SERVICE_ID = 411;
-    private static final int NOTIFICATION_ERROR_ID = FilesUploadWorker.NOTIFICATION_ERROR_ID;
-
     public static final String KEY_FILE = "FILE";
     public static final String KEY_LOCAL_FILE = "LOCAL_FILE";
     public static final String KEY_REMOTE_FILE = "REMOTE_FILE";
@@ -770,58 +767,6 @@ public class FileUploader extends Service
         mUploadsStorageManager.removeUploads(accountName);
     }
 
-    /**
-     * Upload a new file
-     */
-    public static void uploadNewFile(
-        User user,
-        String localPath,
-        String remotePath,
-        int behaviour,
-        boolean createRemoteFile,
-        int createdBy,
-        boolean requiresWifi,
-        boolean requiresCharging,
-        NameCollisionPolicy nameCollisionPolicy
-                                    ) {
-        uploadNewFile(
-            user,
-            new String[]{localPath},
-            new String[]{remotePath},
-            behaviour,
-            createRemoteFile,
-            createdBy,
-            requiresWifi,
-            requiresCharging,
-            nameCollisionPolicy
-                     );
-    }
-
-    /**
-     * Upload multiple new files
-     */
-    public static void uploadNewFile(
-        User user,
-        String[] localPaths,
-        String[] remotePaths,
-        Integer behaviour,
-        Boolean createRemoteFolder,
-        int createdBy,
-        boolean requiresWifi,
-        boolean requiresCharging,
-        NameCollisionPolicy nameCollisionPolicy
-                                    ) {
-        new FilesUploadHelper().uploadNewFiles(user,
-                                               localPaths,
-                                               remotePaths,
-                                               createRemoteFolder,
-                                               createdBy,
-                                               requiresWifi,
-                                               requiresCharging,
-                                               nameCollisionPolicy,
-                                               behaviour);
-    }
-
     /**
      * Upload and overwrite an already uploaded file with disabled retries
      */

+ 10 - 9
app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java

@@ -136,6 +136,7 @@ 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.owncloud.android.utils.FilesUploadHelper;
 import com.owncloud.android.utils.MimeTypeUtil;
 import com.owncloud.android.utils.PermissionUtil;
 import com.owncloud.android.utils.PushUtils;
@@ -914,15 +915,15 @@ public class FileDisplayActivity extends FileActivity
                 default -> FileUploader.LOCAL_BEHAVIOUR_FORGET;
             };
 
-            FileUploader.uploadNewFile(getUser().orElseThrow(RuntimeException::new),
-                                       filePaths,
-                                       remotePaths,
-                                       behaviour,
-                                       true,
-                                       UploadFileOperation.CREATED_BY_USER,
-                                       false,
-                                       false,
-                                       NameCollisionPolicy.ASK_USER);
+            new FilesUploadHelper().uploadNewFiles(getUser().orElseThrow(RuntimeException::new),
+                                                   filePaths,
+                                                   remotePaths,
+                                                   behaviour,
+                                                   true,
+                                                   UploadFileOperation.CREATED_BY_USER,
+                                                   false,
+                                                   false,
+                                                   NameCollisionPolicy.ASK_USER);
 
         } else {
             Log_OC.d(TAG, "User clicked on 'Update' with no selection");

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

@@ -92,6 +92,7 @@ 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.owncloud.android.utils.FilesUploadHelper;
 import com.owncloud.android.utils.MimeType;
 import com.owncloud.android.utils.theme.ViewThemeUtils;
 
@@ -884,17 +885,17 @@ public class ReceiveExternalFilesActivity extends FileActivity
     }
 
     public void uploadFile(String tmpName, String filename) {
-        FileUploader.uploadNewFile(
+        new FilesUploadHelper().uploadNewFiles(
             getUser().orElseThrow(RuntimeException::new),
-            tmpName,
-            mFile.getRemotePath() + filename,
+            new String[]{ tmpName },
+            new String[]{ mFile.getRemotePath() + filename},
             FileUploader.LOCAL_BEHAVIOUR_COPY,
             true,
             UploadFileOperation.CREATED_BY_USER,
             false,
             false,
             NameCollisionPolicy.ASK_USER
-                                  );
+                                              );
         finish();
     }
 

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

@@ -37,6 +37,7 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCo
 import com.owncloud.android.lib.common.utils.Log_OC;
 import com.owncloud.android.operations.UploadFileOperation;
 import com.owncloud.android.utils.FileStorageUtils;
+import com.owncloud.android.utils.FilesUploadHelper;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -247,17 +248,16 @@ public class CopyAndUploadContentUrisTask extends AsyncTask<Object, Void, Result
     }
 
     private void requestUpload(User user, String localPath, String remotePath, int behaviour) {
-        FileUploader.uploadNewFile(
+        new FilesUploadHelper().uploadNewFiles(
             user,
-            localPath,
-            remotePath,
+            new String[]{ localPath },
+            new String[]{ remotePath },
             behaviour,
             false,      // do not create parent folder if not existent
             UploadFileOperation.CREATED_BY_USER,
             false,
             false,
-            NameCollisionPolicy.ASK_USER
-                                  );
+            NameCollisionPolicy.ASK_USER);
     }
 
     @Override

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

@@ -32,6 +32,7 @@ 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.owncloud.android.utils.FilesUploadHelper
 import com.owncloud.android.utils.UriUtils.getDisplayNameForUri
 
 /**
@@ -125,10 +126,10 @@ class UriUploader(
      * @param remotePath    Absolute path in the current OC account to set to the uploaded file.
      */
     private fun requestUpload(localPath: String?, remotePath: String) {
-        FileUploader.uploadNewFile(
+        FilesUploadHelper().uploadNewFiles(
             user,
-            localPath,
-            remotePath,
+            arrayOf(localPath ?: ""),
+            arrayOf(remotePath),
             mBehaviour,
             false, // do not create parent folder if not existent
             UploadFileOperation.CREATED_BY_USER,

+ 4 - 1
app/src/main/java/com/owncloud/android/utils/FilesUploadHelper.kt

@@ -22,12 +22,15 @@
 
 package com.owncloud.android.utils
 
+import android.content.Context
+import android.content.Intent
 import com.nextcloud.client.account.User
 import com.nextcloud.client.jobs.BackgroundJobManager
 import com.owncloud.android.MainApp
 import com.owncloud.android.datamodel.OCFile
 import com.owncloud.android.datamodel.UploadsStorageManager
 import com.owncloud.android.db.OCUpload
+import com.owncloud.android.files.services.FileUploader
 import com.owncloud.android.files.services.FileUploader.FileUploaderBinder
 import com.owncloud.android.files.services.NameCollisionPolicy
 import com.owncloud.android.lib.common.network.OnDatatransferProgressListener
@@ -50,12 +53,12 @@ class FilesUploadHelper {
         user: User,
         localPaths: Array<String>,
         remotePaths: Array<String>,
+        localBehavior: Int,
         createRemoteFolder: Boolean,
         createdBy: Int,
         requiresWifi: Boolean,
         requiresCharging: Boolean,
         nameCollisionPolicy: NameCollisionPolicy,
-        localBehavior: Int
     ) {
         val uploads = localPaths.mapIndexed { index, localPath ->
             OCUpload(localPath, remotePaths[index], user.accountName).apply {