فهرست منبع

Merge pull request #13972 from nextcloud/bugfix/check-folder-path-before-upload

BugFix - Check Folder Path Before Upload
Tobias Kaminsky 6 ماه پیش
والد
کامیت
e2dfea7c75

+ 7 - 0
app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java

@@ -68,6 +68,7 @@ import com.nextcloud.utils.extensions.ActivityExtensionsKt;
 import com.nextcloud.utils.extensions.BundleExtensionsKt;
 import com.nextcloud.utils.extensions.FileExtensionsKt;
 import com.nextcloud.utils.extensions.IntentExtensionsKt;
+import com.nextcloud.utils.fileNameValidator.FileNameValidator;
 import com.nextcloud.utils.view.FastScrollUtils;
 import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
@@ -952,6 +953,12 @@ public class FileDisplayActivity extends FileActivity
 
             connectivityService.isNetworkAndServerAvailable(result -> {
                 if (result) {
+                    boolean isValidFolderPath = FileNameValidator.INSTANCE.checkFolderPath(remotePathBase,getCapabilities(),this);
+                    if (!isValidFolderPath) {
+                        DisplayUtils.showSnackMessage(this, R.string.file_name_validator_error_contains_reserved_names_or_invalid_characters);
+                        return;
+                    }
+
                     FileUploadHelper.Companion.instance().uploadNewFiles(getUser().orElseThrow(RuntimeException::new),
                                                                          filePaths,
                                                                          decryptedRemotePaths,

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

@@ -35,7 +35,6 @@ import com.nextcloud.client.jobs.upload.FileUploadWorker;
 import com.nextcloud.client.preferences.AppPreferences;
 import com.nextcloud.utils.extensions.ActivityExtensionsKt;
 import com.nextcloud.utils.extensions.FileExtensionsKt;
-import com.nextcloud.utils.fileNameValidator.FileNameValidator;
 import com.owncloud.android.R;
 import com.owncloud.android.databinding.UploadFilesLayoutBinding;
 import com.owncloud.android.lib.common.utils.Log_OC;
@@ -60,7 +59,6 @@ import javax.inject.Inject;
 
 import androidx.activity.OnBackPressedCallback;
 import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.ActionBar;
 import androidx.appcompat.widget.SearchView;
 import androidx.core.view.MenuItemCompat;