/* * Copyright (C) 2006 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.internal.telephony.cat; /** * Enumeration for the return code in TERMINAL RESPONSE. * To get the actual return code for each enum value, call {@link #value} * method. * * {@hide} */ public enum ResultCode { /* * Results '0X' and '1X' indicate that the command has been performed. */ /** Command performed successfully */ OK(0x00), /** Command performed with partial comprehension */ PRFRMD_WITH_PARTIAL_COMPREHENSION(0x01), /** Command performed, with missing information */ PRFRMD_WITH_MISSING_INFO(0x02), /** REFRESH performed with additional EFs read */ PRFRMD_WITH_ADDITIONAL_EFS_READ(0x03), /** * Command performed successfully, but requested icon could not be * displayed */ PRFRMD_ICON_NOT_DISPLAYED(0x04), /** Command performed, but modified by call control by NAA */ PRFRMD_MODIFIED_BY_NAA(0x05), /** Command performed successfully, limited service */ PRFRMD_LIMITED_SERVICE(0x06), /** Command performed with modification */ PRFRMD_WITH_MODIFICATION(0x07), /** REFRESH performed but indicated NAA was not active */ PRFRMD_NAA_NOT_ACTIVE(0x08), /** Command performed successfully, tone not played */ PRFRMD_TONE_NOT_PLAYED(0x09), /** Proactive UICC session terminated by the user */ UICC_SESSION_TERM_BY_USER(0x10), /** Backward move in the proactive UICC session requested by the user */ BACKWARD_MOVE_BY_USER(0x11), /** No response from user */ NO_RESPONSE_FROM_USER(0x12), /** Help information required by the user */ HELP_INFO_REQUIRED(0x13), /** USSD or SS transaction terminated by the user */ USSD_SS_SESSION_TERM_BY_USER(0x14), /* * Results '2X' indicate to the UICC that it may be worth re-trying the * command at a later opportunity. */ /** Terminal currently unable to process command */ TERMINAL_CRNTLY_UNABLE_TO_PROCESS(0x20), /** Network currently unable to process command */ NETWORK_CRNTLY_UNABLE_TO_PROCESS(0x21), /** User did not accept the proactive command */ USER_NOT_ACCEPT(0x22), /** User cleared down call before connection or network release */ USER_CLEAR_DOWN_CALL(0x23), /** Action in contradiction with the current timer state */ CONTRADICTION_WITH_TIMER(0x24), /** Interaction with call control by NAA, temporary problem */ NAA_CALL_CONTROL_TEMPORARY(0x25), /** Launch browser generic error code */ LAUNCH_BROWSER_ERROR(0x26), /** MMS temporary problem. */ MMS_TEMPORARY(0x27), /* * Results '3X' indicate that it is not worth the UICC re-trying with an * identical command, as it will only get the same response. However, the * decision to retry lies with the application. */ /** Command beyond terminal's capabilities */ BEYOND_TERMINAL_CAPABILITY(0x30), /** Command type not understood by terminal */ CMD_TYPE_NOT_UNDERSTOOD(0x31), /** Command data not understood by terminal */ CMD_DATA_NOT_UNDERSTOOD(0x32), /** Command number not known by terminal */ CMD_NUM_NOT_KNOWN(0x33), /** SS Return Error */ SS_RETURN_ERROR(0x34), /** SMS RP-ERROR */ SMS_RP_ERROR(0x35), /** Error, required values are missing */ REQUIRED_VALUES_MISSING(0x36), /** USSD Return Error */ USSD_RETURN_ERROR(0x37), /** MultipleCard commands error */ MULTI_CARDS_CMD_ERROR(0x38), /** * Interaction with call control by USIM or MO short message control by * USIM, permanent problem */ USIM_CALL_CONTROL_PERMANENT(0x39), /** Bearer Independent Protocol error */ BIP_ERROR(0x3a), /** Access Technology unable to process command */ ACCESS_TECH_UNABLE_TO_PROCESS(0x3b), /** Frames error */ FRAMES_ERROR(0x3c), /** MMS Error */ MMS_ERROR(0x3d); private int mCode; ResultCode(int code) { mCode = code; } /** * Retrieves the actual result code that this object represents. * @return Actual result code */ public int value() { return mCode; } public static ResultCode fromInt(int value) { for (ResultCode r : ResultCode.values()) { if (r.mCode == value) { return r; } } return null; } }