PhoneConstants.java revision 005151484546fb0bf7f83c5a6ee065715230bf26
1/*
2 * Copyright (C) 2012 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package com.android.internal.telephony;
17
18/**
19 * @hide
20 */
21public class PhoneConstants {
22
23    /**
24     * The phone state. One of the following:<p>
25     * <ul>
26     * <li>IDLE = no phone activity</li>
27     * <li>RINGING = a phone call is ringing or call waiting.
28     *  In the latter case, another call is active as well</li>
29     * <li>OFFHOOK = The phone is off hook. At least one call
30     * exists that is dialing, active or holding and no calls are
31     * ringing or waiting.</li>
32     * </ul>
33     */
34    public enum State {
35        IDLE, RINGING, OFFHOOK;
36    };
37
38   /**
39     * The state of a data connection.
40     * <ul>
41     * <li>CONNECTED = IP traffic should be available</li>
42     * <li>CONNECTING = Currently setting up data connection</li>
43     * <li>DISCONNECTED = IP not available</li>
44     * <li>SUSPENDED = connection is created but IP traffic is
45     *                 temperately not available. i.e. voice call is in place
46     *                 in 2G network</li>
47     * </ul>
48     */
49    public enum DataState {
50        CONNECTED, CONNECTING, DISCONNECTED, SUSPENDED;
51    };
52
53    public static final String STATE_KEY = "state";
54
55    // Radio Type
56    public static final int PHONE_TYPE_NONE = RILConstants.NO_PHONE;
57    public static final int PHONE_TYPE_GSM = RILConstants.GSM_PHONE;
58    public static final int PHONE_TYPE_CDMA = RILConstants.CDMA_PHONE;
59    public static final int PHONE_TYPE_SIP = RILConstants.SIP_PHONE;
60
61    // Modes for LTE_ON_CDMA
62    public static final int LTE_ON_CDMA_UNKNOWN = RILConstants.LTE_ON_CDMA_UNKNOWN;
63    public static final int LTE_ON_CDMA_FALSE = RILConstants.LTE_ON_CDMA_FALSE;
64    public static final int LTE_ON_CDMA_TRUE = RILConstants.LTE_ON_CDMA_TRUE;
65
66    // Number presentation type for caller id display (From internal/Connection.java)
67    public static final int PRESENTATION_ALLOWED = 1;    // normal
68    public static final int PRESENTATION_RESTRICTED = 2; // block by user
69    public static final int PRESENTATION_UNKNOWN = 3;    // no specified or unknown by network
70    public static final int PRESENTATION_PAYPHONE = 4;   // show pay phone info
71
72
73    public static final String PHONE_NAME_KEY = "phoneName";
74    public static final String FAILURE_REASON_KEY = "reason";
75    public static final String STATE_CHANGE_REASON_KEY = "reason";
76    public static final String DATA_NETWORK_TYPE_KEY = "networkType";
77    public static final String DATA_FAILURE_CAUSE_KEY = "failCause";
78    public static final String DATA_APN_TYPE_KEY = "apnType";
79    public static final String DATA_APN_KEY = "apn";
80    public static final String DATA_LINK_PROPERTIES_KEY = "linkProperties";
81    public static final String DATA_LINK_CAPABILITIES_KEY = "linkCapabilities";
82
83    public static final String DATA_IFACE_NAME_KEY = "iface";
84    public static final String NETWORK_UNAVAILABLE_KEY = "networkUnvailable";
85    public static final String DATA_NETWORK_ROAMING_KEY = "networkRoaming";
86    public static final String PHONE_IN_ECM_STATE = "phoneinECMState";
87
88    public static final String REASON_LINK_PROPERTIES_CHANGED = "linkPropertiesChanged";
89
90    /**
91     * Return codes for supplyPinReturnResult and
92     * supplyPukReturnResult APIs
93     */
94    public static final int PIN_RESULT_SUCCESS = 0;
95    public static final int PIN_PASSWORD_INCORRECT = 1;
96    public static final int PIN_GENERAL_FAILURE = 2;
97
98    /**
99     * Return codes for <code>enableApnType()</code>
100     */
101    public static final int APN_ALREADY_ACTIVE     = 0;
102    public static final int APN_REQUEST_STARTED    = 1;
103    public static final int APN_TYPE_NOT_AVAILABLE = 2;
104    public static final int APN_REQUEST_FAILED     = 3;
105    public static final int APN_ALREADY_INACTIVE   = 4;
106
107    /**
108     * APN types for data connections.  These are usage categories for an APN
109     * entry.  One APN entry may support multiple APN types, eg, a single APN
110     * may service regular internet traffic ("default") as well as MMS-specific
111     * connections.<br/>
112     * APN_TYPE_ALL is a special type to indicate that this APN entry can
113     * service all data connections.
114     */
115    public static final String APN_TYPE_ALL = "*";
116    /** APN type for default data traffic */
117    public static final String APN_TYPE_DEFAULT = "default";
118    /** APN type for MMS traffic */
119    public static final String APN_TYPE_MMS = "mms";
120    /** APN type for SUPL assisted GPS */
121    public static final String APN_TYPE_SUPL = "supl";
122    /** APN type for DUN traffic */
123    public static final String APN_TYPE_DUN = "dun";
124    /** APN type for HiPri traffic */
125    public static final String APN_TYPE_HIPRI = "hipri";
126    /** APN type for FOTA */
127    public static final String APN_TYPE_FOTA = "fota";
128    /** APN type for IMS */
129    public static final String APN_TYPE_IMS = "ims";
130    /** APN type for CBS */
131    public static final String APN_TYPE_CBS = "cbs";
132    /** APN type for IA Initial Attach APN */
133    public static final String APN_TYPE_IA = "ia";
134
135}
136