| /* |
| * Copyright (C) 2011 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.android.email; |
| |
| import com.android.emailcommon.mail.MessagingException; |
| |
| import android.content.Context; |
| |
| /** |
| * @return the error message associated with this exception. |
| */ |
| public class MessagingExceptionStrings { |
| public static String getErrorString(Context context, MessagingException e) { |
| return context.getResources().getString(getErrorStringResourceId(e)); |
| } |
| |
| /** |
| * @return the resource ID of the error message associated with this exception. |
| */ |
| private static int getErrorStringResourceId(MessagingException e) { |
| switch (e.getExceptionType()) { |
| case MessagingException.IOERROR: |
| return R.string.account_setup_failed_ioerror; |
| case MessagingException.ATTACHMENT_NOT_FOUND: |
| return R.string.attachment_not_found; |
| case MessagingException.TLS_REQUIRED: |
| return R.string.account_setup_failed_tls_required; |
| case MessagingException.AUTH_REQUIRED: |
| return R.string.account_setup_failed_auth_required; |
| case MessagingException.GENERAL_SECURITY: |
| return R.string.account_setup_failed_security; |
| // TODO Generate a unique string for this case, which is the case |
| // where the security policy needs to be updated. |
| case MessagingException.SECURITY_POLICIES_REQUIRED: |
| return R.string.account_setup_failed_security; |
| case MessagingException.ACCESS_DENIED: |
| return R.string.account_setup_failed_access_denied; |
| case MessagingException.CLIENT_CERTIFICATE_ERROR: |
| return R.string.account_setup_failed_certificate_inaccessible; |
| } |
| return R.string.status_network_error; // default |
| } |
| } |