183d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick/* 283d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * Copyright (C) 2010 The Android Open Source Project 383d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * 483d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * Licensed under the Apache License, Version 2.0 (the "License"); 583d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * you may not use this file except in compliance with the License. 683d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * You may obtain a copy of the License at 783d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * 883d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * http://www.apache.org/licenses/LICENSE-2.0 983d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * 1083d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * Unless required by applicable law or agreed to in writing, software 1183d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * distributed under the License is distributed on an "AS IS" BASIS, 1283d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1383d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * See the License for the specific language governing permissions and 1483d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * limitations under the License. 1583d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick */ 1683d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 17f1a9b1bc249161fe1a9b0d85d4ed31153e4421c1Narayan Kamathpackage android.webkit; 1883d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 1983d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrickimport android.content.Context; 2083d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrickimport android.util.Log; 2183d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 2283d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick/** 2383d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * Localized strings for the error codes defined in EventHandler. 2483d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * 2583d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * {@hide} 2683d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick */ 27f1a9b1bc249161fe1a9b0d85d4ed31153e4421c1Narayan Kamathclass LegacyErrorStrings { 28f1a9b1bc249161fe1a9b0d85d4ed31153e4421c1Narayan Kamath private LegacyErrorStrings() { /* Utility class, don't instantiate. */ } 2983d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 3083d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick private static final String LOGTAG = "Http"; 3183d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 3283d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick /** 3383d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * Get the localized error message resource for the given error code. 3483d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * If the code is unknown, we'll return a generic error message. 3583d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick */ 36f1a9b1bc249161fe1a9b0d85d4ed31153e4421c1Narayan Kamath static String getString(int errorCode, Context context) { 3783d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return context.getText(getResource(errorCode)).toString(); 3883d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick } 3983d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 4083d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick /** 4183d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * Get the localized error message resource for the given error code. 4283d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick * If the code is unknown, we'll return a generic error message. 4383d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick */ 44f1a9b1bc249161fe1a9b0d85d4ed31153e4421c1Narayan Kamath private static int getResource(int errorCode) { 4583d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick switch(errorCode) { 463bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case 0: /* EventHandler.OK: */ 4783d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorOk; 4883d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 493bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -1: /* EventHandler.ERROR: */ 5083d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpError; 5183d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 523bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -2: /* EventHandler.ERROR_LOOKUP: */ 5383d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorLookup; 5483d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 553bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -3: /* EventHandler.ERROR_UNSUPPORTED_AUTH_SCHEME: */ 5683d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorUnsupportedAuthScheme; 5783d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 583bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -4: /* EventHandler.ERROR_AUTH: */ 5983d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorAuth; 6083d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 613bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -5: /* EventHandler.ERROR_PROXYAUTH: */ 6283d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorProxyAuth; 6383d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 643bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -6: /* EventHandler.ERROR_CONNECT: */ 6583d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorConnect; 6683d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 673bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -7: /* EventHandler.ERROR_IO: */ 6883d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorIO; 6983d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 703bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -8: /* EventHandler.ERROR_TIMEOUT: */ 7183d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorTimeout; 7283d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 733bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -9: /* EventHandler.ERROR_REDIRECT_LOOP: */ 7483d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorRedirectLoop; 7583d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 763bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -10: /* EventHandler.ERROR_UNSUPPORTED_SCHEME: */ 7783d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorUnsupportedScheme; 7883d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 793bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -11: /* EventHandler.ERROR_FAILED_SSL_HANDSHAKE: */ 8083d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorFailedSslHandshake; 8183d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 823bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -12: /* EventHandler.ERROR_BAD_URL: */ 8383d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorBadUrl; 8483d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 853bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -13: /* EventHandler.FILE_ERROR: */ 8683d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorFile; 8783d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 883bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -14: /* EventHandler.FILE_NOT_FOUND_ERROR: */ 8983d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorFileNotFound; 9083d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 913bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath case -15: /* EventHandler.TOO_MANY_REQUESTS_ERROR: */ 9283d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpErrorTooManyRequests; 9383d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick 9483d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick default: 9583d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick Log.w(LOGTAG, "Using generic message for unknown error code: " + errorCode); 9683d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick return com.android.internal.R.string.httpError; 9783d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick } 9883d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick } 9983d4a23c280bdcaf6c301651b76ddc6fbf08949cIain Merrick} 100