10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/* 20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2006 The Android Open Source Project 30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License. 60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at 70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software 110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and 140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License. 150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 170825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.internal.telephony.cat; 180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/** 210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Enumeration for the return code in TERMINAL RESPONSE. 22cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville * To get the actual return code for each enum value, call {@link #value} 230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * method. 240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@hide} 260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 270825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic enum ResultCode { 280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /* 300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Results '0X' and '1X' indicate that the command has been performed. 310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Command performed successfully */ 340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville OK(0x00), 350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Command performed with partial comprehension */ 370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PRFRMD_WITH_PARTIAL_COMPREHENSION(0x01), 380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Command performed, with missing information */ 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PRFRMD_WITH_MISSING_INFO(0x02), 410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** REFRESH performed with additional EFs read */ 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PRFRMD_WITH_ADDITIONAL_EFS_READ(0x03), 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Command performed successfully, but requested icon could not be 470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * displayed 480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PRFRMD_ICON_NOT_DISPLAYED(0x04), 500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Command performed, but modified by call control by NAA */ 520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PRFRMD_MODIFIED_BY_NAA(0x05), 530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Command performed successfully, limited service */ 550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PRFRMD_LIMITED_SERVICE(0x06), 560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Command performed with modification */ 580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PRFRMD_WITH_MODIFICATION(0x07), 590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** REFRESH performed but indicated NAA was not active */ 610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PRFRMD_NAA_NOT_ACTIVE(0x08), 620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Command performed successfully, tone not played */ 640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PRFRMD_TONE_NOT_PLAYED(0x09), 650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Proactive UICC session terminated by the user */ 670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville UICC_SESSION_TERM_BY_USER(0x10), 680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Backward move in the proactive UICC session requested by the user */ 700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville BACKWARD_MOVE_BY_USER(0x11), 710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** No response from user */ 730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville NO_RESPONSE_FROM_USER(0x12), 740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Help information required by the user */ 760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville HELP_INFO_REQUIRED(0x13), 770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** USSD or SS transaction terminated by the user */ 790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville USSD_SS_SESSION_TERM_BY_USER(0x14), 800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /* 830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Results '2X' indicate to the UICC that it may be worth re-trying the 840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * command at a later opportunity. 850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Terminal currently unable to process command */ 880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville TERMINAL_CRNTLY_UNABLE_TO_PROCESS(0x20), 890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Network currently unable to process command */ 910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville NETWORK_CRNTLY_UNABLE_TO_PROCESS(0x21), 920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** User did not accept the proactive command */ 940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville USER_NOT_ACCEPT(0x22), 950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** User cleared down call before connection or network release */ 970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville USER_CLEAR_DOWN_CALL(0x23), 980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Action in contradiction with the current timer state */ 1000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTRADICTION_WITH_TIMER(0x24), 1010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Interaction with call control by NAA, temporary problem */ 1030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville NAA_CALL_CONTROL_TEMPORARY(0x25), 1040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Launch browser generic error code */ 1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville LAUNCH_BROWSER_ERROR(0x26), 1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** MMS temporary problem. */ 1090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MMS_TEMPORARY(0x27), 1100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /* 1130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Results '3X' indicate that it is not worth the UICC re-trying with an 1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * identical command, as it will only get the same response. However, the 1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * decision to retry lies with the application. 1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Command beyond terminal's capabilities */ 1190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville BEYOND_TERMINAL_CAPABILITY(0x30), 1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Command type not understood by terminal */ 1220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMD_TYPE_NOT_UNDERSTOOD(0x31), 1230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Command data not understood by terminal */ 1250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMD_DATA_NOT_UNDERSTOOD(0x32), 1260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Command number not known by terminal */ 1280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMD_NUM_NOT_KNOWN(0x33), 1290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** SS Return Error */ 1310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SS_RETURN_ERROR(0x34), 1320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** SMS RP-ERROR */ 1340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SMS_RP_ERROR(0x35), 1350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Error, required values are missing */ 1370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville REQUIRED_VALUES_MISSING(0x36), 1380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** USSD Return Error */ 1400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville USSD_RETURN_ERROR(0x37), 1410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** MultipleCard commands error */ 1430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MULTI_CARDS_CMD_ERROR(0x38), 1440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Interaction with call control by USIM or MO short message control by 1470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * USIM, permanent problem 1480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville USIM_CALL_CONTROL_PERMANENT(0x39), 1500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Bearer Independent Protocol error */ 1520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville BIP_ERROR(0x3a), 1530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Access Technology unable to process command */ 1550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ACCESS_TECH_UNABLE_TO_PROCESS(0x3b), 1560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** Frames error */ 1580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville FRAMES_ERROR(0x3c), 1590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** MMS Error */ 1610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MMS_ERROR(0x3d); 1620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private int mCode; 1650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ResultCode(int code) { 1670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mCode = code; 1680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Retrieves the actual result code that this object represents. 1720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return Actual result code 1730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int value() { 1750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mCode; 1760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static ResultCode fromInt(int value) { 1790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville for (ResultCode r : ResultCode.values()) { 1800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (r.mCode == value) { 1810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return r; 1820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return null; 1850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 187