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