瀏覽代碼

feat(download): Show specific error message when download fails due to invalid local filename

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Álvaro Brey 2 年之前
父節點
當前提交
a9e1609f30

+ 9 - 4
app/src/main/java/com/owncloud/android/utils/ErrorMessageAdapter.java

@@ -26,6 +26,8 @@ import com.owncloud.android.R;
 import com.owncloud.android.lib.common.operations.RemoteOperation;
 import com.owncloud.android.lib.common.operations.RemoteOperationResult;
 import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
+import com.owncloud.android.lib.resources.files.CreateLocalFileException;
+import com.owncloud.android.lib.resources.files.FileUtils;
 import com.owncloud.android.operations.CopyFileOperation;
 import com.owncloud.android.operations.CreateFolderOperation;
 import com.owncloud.android.operations.CreateShareViaLinkOperation;
@@ -324,10 +326,13 @@ public final class ErrorMessageAdapter {
                 new File(operation.getSavePath()).getName());
 
         } else {
-            if (result.getCode() == ResultCode.FILE_NOT_FOUND) {
-                return res.getString(R.string.downloader_download_file_not_found);
-            } else if (result.getCode() == ResultCode.CANNOT_CREATE_FILE) {
-                return res.getString(R.string.download_cannot_create_file);
+            switch (result.getCode()) {
+                case FILE_NOT_FOUND:
+                    return res.getString(R.string.downloader_download_file_not_found);
+                case CANNOT_CREATE_FILE:
+                    return res.getString(R.string.download_cannot_create_file);
+                case INVALID_LOCAL_FILE_NAME:
+                    return res.getString(R.string.download_download_invalid_local_file_name);
             }
         }
         return null;

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -1076,4 +1076,5 @@
     <string name="document_scan_export_dialog_pdf">PDF file</string>
     <string name="document_scan_export_dialog_images">Multiple images</string>
     <string name="download_cannot_create_file">Cannot create local file</string>
+    <string name="download_download_invalid_local_file_name">Invalid filename for local file</string>
 </resources>