From f72c37be29ba248ab0da7cdb00a39c57190e521b Mon Sep 17 00:00:00 2001 From: alperozturk Date: Mon, 29 Jul 2024 15:03:22 +0200 Subject: [PATCH 1/2] Fix Signed-off-by: alperozturk --- .../com/nextcloud/client/jobs/upload/FileUploadHelper.kt | 3 +++ .../android/ui/activity/ReceiveExternalFilesActivity.java | 7 ++++++- .../owncloud/android/ui/activity/UploadFilesActivity.java | 8 +++++++- app/src/main/res/values/strings.xml | 1 + 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/nextcloud/client/jobs/upload/FileUploadHelper.kt b/app/src/main/java/com/nextcloud/client/jobs/upload/FileUploadHelper.kt index c97fe56641cc..05d9bd1d5573 100644 --- a/app/src/main/java/com/nextcloud/client/jobs/upload/FileUploadHelper.kt +++ b/app/src/main/java/com/nextcloud/client/jobs/upload/FileUploadHelper.kt @@ -64,6 +64,9 @@ class FileUploadHelper { companion object { private val TAG = FileUploadWorker::class.java.simpleName + @Suppress("MagicNumber") + const val MAX_FILE_COUNT = 500 + val mBoundListeners = HashMap() private var instance: FileUploadHelper? = null diff --git a/app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java index aab5490acf08..60d8c944a7bd 100755 --- a/app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java @@ -880,7 +880,7 @@ private void saveTextsFromIntent(Intent intent) { } private boolean somethingToUpload() { - return (mStreamsToUpload != null && mStreamsToUpload.size() > 0 && mStreamsToUpload.get(0) != null || + return (mStreamsToUpload != null && !mStreamsToUpload.isEmpty() && mStreamsToUpload.get(0) != null || mUploadFromTmpFile); } @@ -904,6 +904,11 @@ public void uploadFiles() { return; } + if (mStreamsToUpload.size() > FileUploadHelper.MAX_FILE_COUNT) { + DisplayUtils.showSnackMessage(this, R.string.max_file_count_warning_message); + return; + } + UriUploader uploader = new UriUploader( this, mStreamsToUpload, diff --git a/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java index da59551317a1..a2c36b882463 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java @@ -30,6 +30,7 @@ import com.nextcloud.client.account.User; import com.nextcloud.client.di.Injectable; +import com.nextcloud.client.jobs.upload.FileUploadHelper; import com.nextcloud.client.jobs.upload.FileUploadWorker; import com.nextcloud.client.preferences.AppPreferences; import com.nextcloud.utils.extensions.ActivityExtensionsKt; @@ -486,7 +487,7 @@ public void onCheckAvailableSpaceFinish(boolean hasEnoughSpaceAvailable, String. mCurrentDialog = null; } - if (hasEnoughSpaceAvailable) { + if (!hasEnoughSpaceAvailable) { // return the list of files (success) Intent data = new Intent(); @@ -653,6 +654,11 @@ public void onClick(View v) { @Override public void onConfirmation(String callerTag) { Log_OC.d(TAG, "Positive button in dialog was clicked; dialog tag is " + callerTag); + if (mFileListFragment.getCheckedFilePaths().length > FileUploadHelper.MAX_FILE_COUNT) { + DisplayUtils.showSnackMessage(this, R.string.max_file_count_warning_message); + return; + } + if (QUERY_TO_MOVE_DIALOG_TAG.equals(callerTag)) { // return the list of selected files to the caller activity (success), // signaling that they should be moved to the ownCloud folder, instead of copied diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 08c9921cc356..b8eca07ba9af 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -129,6 +129,7 @@ File selected for upload not found. Please check whether the file exists. Could not copy file to a temporary folder. Try to resend it. Upload option: + You have reached the maximum file upload limit. Please upload fewer than 500 files at a time. Move file to %1$s folder Keep file in source folder Delete file from source folder From e2caaa182ebd0aa4a69dcc921748c1a6995391a0 Mon Sep 17 00:00:00 2001 From: alperozturk Date: Tue, 30 Jul 2024 09:49:22 +0200 Subject: [PATCH 2/2] Remove test check Signed-off-by: alperozturk --- .../com/owncloud/android/ui/activity/UploadFilesActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java index a2c36b882463..3bbdfe7752db 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java @@ -487,7 +487,7 @@ public void onCheckAvailableSpaceFinish(boolean hasEnoughSpaceAvailable, String. mCurrentDialog = null; } - if (!hasEnoughSpaceAvailable) { + if (hasEnoughSpaceAvailable) { // return the list of files (success) Intent data = new Intent();