X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/1e7e893321e3939bf773349d41efc18caad7ab99..1551a5280afc682baf84582c150b3a9a4e47f219:/src/com/owncloud/android/utils/ErrorMessageAdapter.java diff --git a/src/com/owncloud/android/utils/ErrorMessageAdapter.java b/src/com/owncloud/android/utils/ErrorMessageAdapter.java index e56e8760..75736e53 100644 --- a/src/com/owncloud/android/utils/ErrorMessageAdapter.java +++ b/src/com/owncloud/android/utils/ErrorMessageAdapter.java @@ -1,4 +1,7 @@ -/* ownCloud Android client application +/** + * ownCloud Android client application + * + * @author masensio * Copyright (C) 2014 ownCloud Inc. * * This program is free software: you can redistribute it and/or modify @@ -36,14 +39,13 @@ import com.owncloud.android.operations.MoveFileOperation; import com.owncloud.android.operations.RemoveFileOperation; import com.owncloud.android.operations.RenameFileOperation; import com.owncloud.android.operations.SynchronizeFileOperation; +import com.owncloud.android.operations.SynchronizeFolderOperation; import com.owncloud.android.operations.UnshareLinkOperation; import com.owncloud.android.operations.UploadFileOperation; /** - * Class to choose proper error messages to show to the user depending on the results of operations, always following the same policy - * - * @author masensio - * + * Class to choose proper error messages to show to the user depending on the results of operations, + * always following the same policy */ public class ErrorMessageAdapter { @@ -52,19 +54,22 @@ public class ErrorMessageAdapter { } - public static String getErrorCauseMessage(RemoteOperationResult result, RemoteOperation operation, Resources res) { + public static String getErrorCauseMessage(RemoteOperationResult result, + RemoteOperation operation, Resources res) { String message = null; if (operation instanceof UploadFileOperation) { if (result.isSuccess()) { - message = String.format(res.getString(R.string.uploader_upload_succeeded_content_single), + message = String.format( + res.getString(R.string.uploader_upload_succeeded_content_single), ((UploadFileOperation) operation).getFileName()); } else { if (result.getCode() == ResultCode.LOCAL_STORAGE_FULL || result.getCode() == ResultCode.LOCAL_STORAGE_NOT_COPIED) { - message = String.format(res.getString(R.string.error__upload__local_file_not_copied), + message = String.format( + res.getString(R.string.error__upload__local_file_not_copied), ((UploadFileOperation) operation).getFileName(), res.getString(R.string.app_name)); /* @@ -76,8 +81,12 @@ public class ErrorMessageAdapter { message = String.format(res.getString(R.string.forbidden_permissions), res.getString(R.string.uploader_upload_forbidden_permissions)); + } else if (result.getCode() == ResultCode.INVALID_CHARACTER_DETECT_IN_SERVER) { + message = res.getString(R.string.filename_forbidden_charaters_from_server); + } else { - message = String.format(res.getString(R.string.uploader_upload_failed_content_single), + message = String.format( + res.getString(R.string.uploader_upload_failed_content_single), ((UploadFileOperation) operation).getFileName()); } } @@ -85,7 +94,8 @@ public class ErrorMessageAdapter { } else if (operation instanceof DownloadFileOperation) { if (result.isSuccess()) { - message = String.format(res.getString(R.string.downloader_download_succeeded_content), + message = String.format( + res.getString(R.string.downloader_download_succeeded_content), new File(((DownloadFileOperation) operation).getSavePath()).getName()); } else { @@ -93,7 +103,8 @@ public class ErrorMessageAdapter { message = res.getString(R.string.downloader_download_file_not_found); } else { - message = String.format(res.getString(R.string.downloader_download_failed_content), new File( + message = String.format( + res.getString(R.string.downloader_download_failed_content), new File( ((DownloadFileOperation) operation).getSavePath()).getName()); } } @@ -130,6 +141,9 @@ public class ErrorMessageAdapter { } else if (isNetworkError(result.getCode())) { message = getErrorMessage(result, res); + } else if (result.getCode() == ResultCode.INVALID_CHARACTER_DETECT_IN_SERVER) { + message = res.getString(R.string.filename_forbidden_charaters_from_server); + } else { message = res.getString(R.string.rename_server_fail_msg); } @@ -150,11 +164,13 @@ public class ErrorMessageAdapter { } else if (isNetworkError(result.getCode())) { message = getErrorMessage(result, res); + } else if (result.getCode() == ResultCode.INVALID_CHARACTER_DETECT_IN_SERVER) { + message = res.getString(R.string.filename_forbidden_charaters_from_server); } else { message = res.getString(R.string.create_dir_fail_msg); } } else if (operation instanceof CreateShareOperation) { - if (result.getCode() == ResultCode.SHARE_NOT_FOUND) { // Error --> SHARE_NOT_FOUND + if (result.getCode() == ResultCode.SHARE_NOT_FOUND) { // Error --> SHARE_NOT_FOUND message = res.getString(R.string.share_link_file_no_exist); } else if (result.getCode() == ResultCode.SHARE_FORBIDDEN) { @@ -172,7 +188,7 @@ public class ErrorMessageAdapter { } else if (operation instanceof UnshareLinkOperation) { - if (result.getCode() == ResultCode.SHARE_NOT_FOUND) { // Error --> SHARE_NOT_FOUND + if (result.getCode() == ResultCode.SHARE_NOT_FOUND) { // Error --> SHARE_NOT_FOUND message = res.getString(R.string.unshare_link_file_no_exist); } else if (result.getCode() == ResultCode.SHARE_FORBIDDEN) { @@ -202,10 +218,28 @@ public class ErrorMessageAdapter { message = String.format(res.getString(R.string.forbidden_permissions), res.getString(R.string.forbidden_permissions_move)); - }else { // Generic error + } else if (result.getCode() == ResultCode.INVALID_CHARACTER_DETECT_IN_SERVER) { + message = res.getString(R.string.filename_forbidden_charaters_from_server); + + } else { // Generic error // Show a Message, operation finished without success message = res.getString(R.string.move_file_error); } + } else if (operation instanceof SynchronizeFolderOperation) { + + if (!result.isSuccess()) { + String folderPathName = new File( + ((SynchronizeFolderOperation) operation).getFolderPath()).getName(); + if (result.getCode() == ResultCode.FILE_NOT_FOUND) { + message = String.format(res.getString(R.string.sync_current_folder_was_removed), + folderPathName); + + } else { // Generic error + // Show a Message, operation finished without success + message = String.format(res.getString(R.string.download_folder_failed_content), + folderPathName); + } + } } return message;