| /* |
| * 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; |
| } |
| } |