From: jabarros Date: Thu, 10 Jul 2014 15:32:45 +0000 (+0200) Subject: Update ErrorMessageAdapter class to generate appropiate error messages for operations... X-Git-Tag: oc-android-1.7.0_signed~245^2~4 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/a28fa921c99125f9f879aded96c4e783008b5c68?ds=inline;hp=--cc Update ErrorMessageAdapter class to generate appropiate error messages for operations failed due to lack of permissions (ResultCode.FORBIDDEN) --- a28fa921c99125f9f879aded96c4e783008b5c68 diff --git a/owncloud-android-library b/owncloud-android-library index 5ebf81e2..7636d9e0 160000 --- a/owncloud-android-library +++ b/owncloud-android-library @@ -1 +1 @@ -Subproject commit 5ebf81e26ed0827359aa468fb813353656b7cf27 +Subproject commit 7636d9e0373bafd63dfd79c032ef927d87d0872e diff --git a/res/values/strings.xml b/res/values/strings.xml index c1a1e2cb..42743bff 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -270,4 +270,11 @@ An error occurred while waiting for the server, the operation couldn\'t have been done The operation couldn\'t be completed, server is unavailable + You do not have permissions %s + to rename this file + to delete this file + to share this file + to unshare this file + to create the file + diff --git a/src/com/owncloud/android/utils/ErrorMessageAdapter.java b/src/com/owncloud/android/utils/ErrorMessageAdapter.java index 25791bc7..ec0ddd8b 100644 --- a/src/com/owncloud/android/utils/ErrorMessageAdapter.java +++ b/src/com/owncloud/android/utils/ErrorMessageAdapter.java @@ -20,7 +20,9 @@ package com.owncloud.android.utils; import java.io.File; import java.net.SocketTimeoutException; + import org.apache.commons.httpclient.ConnectTimeoutException; + import android.content.res.Resources; import com.owncloud.android.R; @@ -91,7 +93,11 @@ public class ErrorMessageAdapter { message = res.getString(R.string.remove_success_msg); } else { - if (isNetworkError(result.getCode())) { + if (result.getCode().equals(ResultCode.FORBIDDEN)) { + // Error --> No permissions + message = String.format(res.getString(R.string.forbidden_permissions), + res.getString(R.string.forbidden_permissions_delete)); + } else if (isNetworkError(result.getCode())) { message = getErrorMessage(result, res); } else { @@ -102,10 +108,15 @@ public class ErrorMessageAdapter { } else if (operation instanceof RenameFileOperation) { if (result.getCode().equals(ResultCode.INVALID_LOCAL_FILE_NAME)) { message = res.getString(R.string.rename_local_fail_msg); - - } if (result.getCode().equals(ResultCode.INVALID_CHARACTER_IN_NAME)) { + + } else if (result.getCode().equals(ResultCode.FORBIDDEN)) { + // Error --> No permissions + message = String.format(res.getString(R.string.forbidden_permissions), + res.getString(R.string.forbidden_permissions_rename)); + + } else if (result.getCode().equals(ResultCode.INVALID_CHARACTER_IN_NAME)) { message = res.getString(R.string.filename_forbidden_characters); - + } else if (isNetworkError(result.getCode())) { message = getErrorMessage(result, res); @@ -121,7 +132,11 @@ public class ErrorMessageAdapter { } else if (operation instanceof CreateFolderOperation) { if (result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME) { message = res.getString(R.string.filename_forbidden_characters); - + + } else if (result.getCode().equals(ResultCode.FORBIDDEN)) { + message = String.format(res.getString(R.string.forbidden_permissions), + res.getString(R.string.forbidden_permissions_create)); + } else if (isNetworkError(result.getCode())) { message = getErrorMessage(result, res); @@ -132,6 +147,11 @@ public class ErrorMessageAdapter { 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) { + // Error --> No permissions + message = String.format(res.getString(R.string.forbidden_permissions), + res.getString(R.string.share_link_forbidden_permissions)); + } else if (isNetworkError(result.getCode())) { message = getErrorMessage(result, res); @@ -145,6 +165,11 @@ public class ErrorMessageAdapter { 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) { + // Error --> No permissions + message = String.format(res.getString(R.string.forbidden_permissions), + res.getString(R.string.unshare_link_forbidden_permissions)); + } else if (isNetworkError(result.getCode())) { message = getErrorMessage(result, res);