1c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela/* 2c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Copyright (C) 2014 The Android Open Source Project 3c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * 4c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Licensed under the Apache License, Version 2.0 (the "License"); 5c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * you may not use this file except in compliance with the License. 6c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * You may obtain a copy of the License at 7c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * 8c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * http://www.apache.org/licenses/LICENSE-2.0 9c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * 10c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Unless required by applicable law or agreed to in writing, software 11c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * distributed under the License is distributed on an "AS IS" BASIS, 12c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * See the License for the specific language governing permissions and 14c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * limitations under the License. 15c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela */ 16c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 17c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuelapackage android.telephony; 18c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 19c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela/** 2020e3f02c2de4efd4ccf56112b39b6056582f283aSantos Cordon * Contains disconnect call causes generated by the framework and the RIL. 217f3d41fd124dd7c4a8b72c1d48df08a8ee7209ecAndrew Lee * @hide 22c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela */ 23c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuelapublic class DisconnectCause { 24c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 25c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** The disconnect cause is not valid (Not received a disconnect cause) */ 26c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int NOT_VALID = -1; 27c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Has not yet disconnected */ 28c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int NOT_DISCONNECTED = 0; 29c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** An incoming call that was missed and never answered */ 30c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int INCOMING_MISSED = 1; 31c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Normal; Remote hangup*/ 32c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int NORMAL = 2; 33c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Normal; Local hangup */ 34c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int LOCAL = 3; 35c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Outgoing call to busy line */ 36c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int BUSY = 4; 37c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Outgoing call to congested network */ 38c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CONGESTION = 5; 39c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Not presently used */ 40c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int MMI = 6; 41c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Invalid dial string */ 42c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int INVALID_NUMBER = 7; 43c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Cannot reach the peer */ 44c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int NUMBER_UNREACHABLE = 8; 45c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Cannot reach the server */ 46c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int SERVER_UNREACHABLE = 9; 47c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Invalid credentials */ 48c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int INVALID_CREDENTIALS = 10; 49c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Calling from out of network is not allowed */ 50c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int OUT_OF_NETWORK = 11; 51c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Server error */ 52c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int SERVER_ERROR = 12; 53c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Client timed out */ 54c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int TIMED_OUT = 13; 55c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Client went out of network range */ 56c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int LOST_SIGNAL = 14; 57c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** GSM or CDMA ACM limit exceeded */ 58c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int LIMIT_EXCEEDED = 15; 59c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** An incoming call that was rejected */ 60c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int INCOMING_REJECTED = 16; 61c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Radio is turned off explicitly */ 62c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int POWER_OFF = 17; 63c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Out of service */ 64c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int OUT_OF_SERVICE = 18; 65c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** No ICC, ICC locked, or other ICC error */ 66c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int ICC_ERROR = 19; 67c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Call was blocked by call barring */ 68c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CALL_BARRED = 20; 69c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Call was blocked by fixed dial number */ 70c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int FDN_BLOCKED = 21; 71c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Call was blocked by restricted all voice access */ 72c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CS_RESTRICTED = 22; 73c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Call was blocked by restricted normal voice access */ 74c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CS_RESTRICTED_NORMAL = 23; 75c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Call was blocked by restricted emergency voice access */ 76c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CS_RESTRICTED_EMERGENCY = 24; 77c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Unassigned number */ 78c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int UNOBTAINABLE_NUMBER = 25; 79c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** MS is locked until next power cycle */ 80c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 26; 81c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Drop call*/ 82c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CDMA_DROP = 27; 83c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** INTERCEPT order received, MS state idle entered */ 84c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CDMA_INTERCEPT = 28; 85c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** MS has been redirected, call is cancelled */ 86c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CDMA_REORDER = 29; 87c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Service option rejection */ 88c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CDMA_SO_REJECT = 30; 89c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Requested service is rejected, retry delay is set */ 90c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CDMA_RETRY_ORDER = 31; 91c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Unable to obtain access to the CDMA system */ 92c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CDMA_ACCESS_FAILURE = 32; 93c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Not a preempted call */ 94c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CDMA_PREEMPTED = 33; 95c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Not an emergency call */ 96c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CDMA_NOT_EMERGENCY = 34; 97c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Access Blocked by CDMA network */ 98c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int CDMA_ACCESS_BLOCKED = 35; 99c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Unknown error or not specified */ 100c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final int ERROR_UNSPECIFIED = 36; 101fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad /** 102fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * Only emergency numbers are allowed, but we tried to dial 103fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * a non-emergency number. 104fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad */ 105fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad // TODO: This should be the same as NOT_EMERGENCY 106fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad public static final int EMERGENCY_ONLY = 37; 107fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad /** 108fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * The supplied CALL Intent didn't contain a valid phone number. 109fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad */ 110fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad public static final int NO_PHONE_NUMBER_SUPPLIED = 38; 111fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad /** 112fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * Our initial phone number was actually an MMI sequence. 113fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad */ 114fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad public static final int DIALED_MMI = 39; 115fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad /** 116fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * We tried to call a voicemail: URI but the device has no 117fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * voicemail number configured. 118fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad */ 119fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad public static final int VOICEMAIL_NUMBER_MISSING = 40; 120fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad /** 121fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * This status indicates that InCallScreen should display the 122fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * CDMA-specific "call lost" dialog. (If an outgoing call fails, 123fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * and the CDMA "auto-retry" feature is enabled, *and* the retried 124fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * call fails too, we display this specific dialog.) 125fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * 126fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * TODO: this is currently unused, since the "call lost" dialog 127fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * needs to be triggered by a *disconnect* event, rather than when 128fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * the InCallScreen first comes to the foreground. For now we use 129fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * the needToShowCallLostDialog field for this (see below.) 130fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad */ 131fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad public static final int CDMA_CALL_LOST = 41; 132fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad /** 133fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * This status indicates that the call was placed successfully, 134fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * but additionally, the InCallScreen needs to display the 135fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * "Exiting ECM" dialog. 136fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * 137fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * (Details: "Emergency callback mode" is a CDMA-specific concept 138fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * where the phone disallows data connections over the cell 139fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * network for some period of time after you make an emergency 140fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * call. If the phone is in ECM and you dial a non-emergency 141fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * number, that automatically *cancels* ECM, but we additionally 142fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * need to warn the user that ECM has been canceled (see bug 143fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * 4207607.)) 144fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * 145fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * TODO: Rethink where the best place to put this is. It is not a notification 146fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * of a failure of the connection -- it is an additional message that accompanies 147fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * a successful connection giving the user important information about what happened. 148fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * 149fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad * {@hide} 150fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad */ 151fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad public static final int EXITED_ECM = 42; 152c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 1539d0f7c4fbce9445de763ac08b5f387412393359cSantos Cordon /** 1549d0f7c4fbce9445de763ac08b5f387412393359cSantos Cordon * The outgoing call failed with an unknown cause. 1559d0f7c4fbce9445de763ac08b5f387412393359cSantos Cordon */ 1560c4d2e84cf9028e2de75e54f742df4fa7c4574a6Andrew Lee public static final int OUTGOING_FAILURE = 43; 1579d0f7c4fbce9445de763ac08b5f387412393359cSantos Cordon 1589d0f7c4fbce9445de763ac08b5f387412393359cSantos Cordon /** 159ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn * The outgoing call was canceled by the {@link android.telecom.ConnectionService}. 1609d0f7c4fbce9445de763ac08b5f387412393359cSantos Cordon */ 1610c4d2e84cf9028e2de75e54f742df4fa7c4574a6Andrew Lee public static final int OUTGOING_CANCELED = 44; 1629d0f7c4fbce9445de763ac08b5f387412393359cSantos Cordon 163840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee /** 164840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee * The call, which was an IMS call, disconnected because it merged with another call. 165840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee */ 1660c4d2e84cf9028e2de75e54f742df4fa7c4574a6Andrew Lee public static final int IMS_MERGED_SUCCESSFULLY = 45; 167840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee 168d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja /** 169d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja * Stk Call Control modified DIAL request to USSD request. 170d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja * {@hide} 171d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja */ 172d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja public static final int DIAL_MODIFIED_TO_USSD = 46; 173d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja /** 174d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja * Stk Call Control modified DIAL request to SS request. 175d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja * {@hide} 176d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja */ 177d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja public static final int DIAL_MODIFIED_TO_SS = 47; 178d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja /** 179d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja * Stk Call Control modified DIAL request to DIAL with modified data. 180d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja * {@hide} 181d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja */ 182d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja public static final int DIAL_MODIFIED_TO_DIAL = 48; 183d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja 1840c4d2e84cf9028e2de75e54f742df4fa7c4574a6Andrew Lee /** 1850c4d2e84cf9028e2de75e54f742df4fa7c4574a6Andrew Lee * The call was terminated because CDMA phone service and roaming have already been activated. 1860c4d2e84cf9028e2de75e54f742df4fa7c4574a6Andrew Lee * {@hide} 1870c4d2e84cf9028e2de75e54f742df4fa7c4574a6Andrew Lee */ 1880c4d2e84cf9028e2de75e54f742df4fa7c4574a6Andrew Lee public static final int CDMA_ALREADY_ACTIVATED = 49; 1890c4d2e84cf9028e2de75e54f742df4fa7c4574a6Andrew Lee 1900384c53c4ec45111c88a6124f6b7233f19f2710dTyler Gunn /** 1910384c53c4ec45111c88a6124f6b7233f19f2710dTyler Gunn * The call was terminated because it is not possible to place a video call while TTY is 1920384c53c4ec45111c88a6124f6b7233f19f2710dTyler Gunn * enabled. 1930384c53c4ec45111c88a6124f6b7233f19f2710dTyler Gunn * {@hide} 1940384c53c4ec45111c88a6124f6b7233f19f2710dTyler Gunn */ 1950384c53c4ec45111c88a6124f6b7233f19f2710dTyler Gunn public static final int VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED = 50; 1960384c53c4ec45111c88a6124f6b7233f19f2710dTyler Gunn 197840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee //********************************************************************************************* 198840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee // When adding a disconnect type: 199840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee // 1) Please assign the new type the next id value below. 200840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee // 2) Increment the next id value below to a new value. 201840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee // 3) Update MAXIMUM_VALID_VALUE to the new disconnect type. 202840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee // 4) Update toString() with the newly added disconnect type. 203840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee // 5) Update android.telecom.DisconnectCauseUtil with any mappings to a telecom.DisconnectCause. 204840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee // 2050c4d2e84cf9028e2de75e54f742df4fa7c4574a6Andrew Lee // NextId: 50 206840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee //********************************************************************************************* 207840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee 208b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen /** Smallest valid value for call disconnect codes. */ 209b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen public static final int MINIMUM_VALID_VALUE = NOT_DISCONNECTED; 2109d0f7c4fbce9445de763ac08b5f387412393359cSantos Cordon 211b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen /** Largest valid value for call disconnect codes. */ 2120384c53c4ec45111c88a6124f6b7233f19f2710dTyler Gunn public static final int MAXIMUM_VALID_VALUE = VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED; 213b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen 214c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** Private constructor to avoid class instantiation. */ 215c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela private DisconnectCause() { 216c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela // Do nothing. 217c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 218b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen 219b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen /** Returns descriptive string for the specified disconnect cause. */ 220b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen public static String toString(int cause) { 221b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen switch (cause) { 222b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case NOT_DISCONNECTED: 223b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "NOT_DISCONNECTED"; 224b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case INCOMING_MISSED: 225b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "INCOMING_MISSED"; 226b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case NORMAL: 227b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "NORMAL"; 228b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case LOCAL: 229b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "LOCAL"; 230b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case BUSY: 231b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "BUSY"; 232b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CONGESTION: 233b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CONGESTION"; 234b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case INVALID_NUMBER: 235b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "INVALID_NUMBER"; 236b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case NUMBER_UNREACHABLE: 237b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "NUMBER_UNREACHABLE"; 238b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case SERVER_UNREACHABLE: 239b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "SERVER_UNREACHABLE"; 240b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case INVALID_CREDENTIALS: 241b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "INVALID_CREDENTIALS"; 242b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case OUT_OF_NETWORK: 243b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "OUT_OF_NETWORK"; 244b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case SERVER_ERROR: 245b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "SERVER_ERROR"; 246b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case TIMED_OUT: 247b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "TIMED_OUT"; 248b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case LOST_SIGNAL: 249b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "LOST_SIGNAL"; 250b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case LIMIT_EXCEEDED: 251b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "LIMIT_EXCEEDED"; 252b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case INCOMING_REJECTED: 253b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "INCOMING_REJECTED"; 254b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case POWER_OFF: 255b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "POWER_OFF"; 256b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case OUT_OF_SERVICE: 257b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "OUT_OF_SERVICE"; 258b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case ICC_ERROR: 259b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "ICC_ERROR"; 260b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CALL_BARRED: 261b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CALL_BARRED"; 262b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case FDN_BLOCKED: 263b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "FDN_BLOCKED"; 264b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CS_RESTRICTED: 265b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CS_RESTRICTED"; 266b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CS_RESTRICTED_NORMAL: 267b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CS_RESTRICTED_NORMAL"; 268b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CS_RESTRICTED_EMERGENCY: 269b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CS_RESTRICTED_EMERGENCY"; 270b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case UNOBTAINABLE_NUMBER: 271b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "UNOBTAINABLE_NUMBER"; 272b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CDMA_LOCKED_UNTIL_POWER_CYCLE: 273b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CDMA_LOCKED_UNTIL_POWER_CYCLE"; 274b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CDMA_DROP: 275b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CDMA_DROP"; 276b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CDMA_INTERCEPT: 277b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CDMA_INTERCEPT"; 278b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CDMA_REORDER: 279b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CDMA_REORDER"; 280b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CDMA_SO_REJECT: 281b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CDMA_SO_REJECT"; 282b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CDMA_RETRY_ORDER: 283b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CDMA_RETRY_ORDER"; 284b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CDMA_ACCESS_FAILURE: 285b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CDMA_ACCESS_FAILURE"; 286b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CDMA_PREEMPTED: 287b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CDMA_PREEMPTED"; 288b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CDMA_NOT_EMERGENCY: 289b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CDMA_NOT_EMERGENCY"; 290b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case CDMA_ACCESS_BLOCKED: 291b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "CDMA_ACCESS_BLOCKED"; 292fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad case EMERGENCY_ONLY: 293fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad return "EMERGENCY_ONLY"; 294fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad case NO_PHONE_NUMBER_SUPPLIED: 295fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad return "NO_PHONE_NUMBER_SUPPLIED"; 296fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad case DIALED_MMI: 297fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad return "DIALED_MMI"; 298fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad case VOICEMAIL_NUMBER_MISSING: 299fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad return "VOICEMAIL_NUMBER_MISSING"; 300fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad case CDMA_CALL_LOST: 301fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad return "CDMA_CALL_LOST"; 302fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad case EXITED_ECM: 303fc91b7d448507448703ce7c51c045578e20d9274Ihab Awad return "EXITED_ECM"; 304d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja case DIAL_MODIFIED_TO_USSD: 305d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja return "DIAL_MODIFIED_TO_USSD"; 306d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja case DIAL_MODIFIED_TO_SS: 307d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja return "DIAL_MODIFIED_TO_SS"; 308d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja case DIAL_MODIFIED_TO_DIAL: 309d4180cc2d43989647dccf96bd85a9f208d01d209Preeti Ahuja return "DIAL_MODIFIED_TO_DIAL"; 310b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen case ERROR_UNSPECIFIED: 311b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen return "ERROR_UNSPECIFIED"; 3129d0f7c4fbce9445de763ac08b5f387412393359cSantos Cordon case OUTGOING_FAILURE: 3139d0f7c4fbce9445de763ac08b5f387412393359cSantos Cordon return "OUTGOING_FAILURE"; 3149d0f7c4fbce9445de763ac08b5f387412393359cSantos Cordon case OUTGOING_CANCELED: 3159d0f7c4fbce9445de763ac08b5f387412393359cSantos Cordon return "OUTGOING_CANCELED"; 316840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee case IMS_MERGED_SUCCESSFULLY: 317840162d2b412af9a90b3ab41eb9f7c9de18772f7Andrew Lee return "IMS_MERGED_SUCCESSFULLY"; 3180c4d2e84cf9028e2de75e54f742df4fa7c4574a6Andrew Lee case CDMA_ALREADY_ACTIVATED: 3190c4d2e84cf9028e2de75e54f742df4fa7c4574a6Andrew Lee return "CDMA_ALREADY_ACTIVATED"; 3200384c53c4ec45111c88a6124f6b7233f19f2710dTyler Gunn case VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED: 3210384c53c4ec45111c88a6124f6b7233f19f2710dTyler Gunn return "VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED"; 322b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen default: 3237f466574543cc43bfc2c1ed5acab282f0d4e358bSailesh Nepal return "INVALID: " + cause; 324b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen } 325b584e690a69a3c286ba490a24575c03f4fdb283cAnders Kristensen } 326c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela} 327