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 */ 16 package com.android.internal.telephony; 17 18 /** 19 * @hide 20 */ 21 public 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/Conneciton.java) 67 public static int PRESENTATION_ALLOWED = 1; // normal 68 public static int PRESENTATION_RESTRICTED = 2; // block by user 69 public static int PRESENTATION_UNKNOWN = 3; // no specified or unknown by network 70 public static 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_APN_TYPE_KEY = "apnType"; 77 public static final String DATA_APN_KEY = "apn"; 78 public static final String DATA_LINK_PROPERTIES_KEY = "linkProperties"; 79 public static final String DATA_LINK_CAPABILITIES_KEY = "linkCapabilities"; 80 81 public static final String DATA_IFACE_NAME_KEY = "iface"; 82 public static final String NETWORK_UNAVAILABLE_KEY = "networkUnvailable"; 83 public static final String DATA_NETWORK_ROAMING_KEY = "networkRoaming"; 84 public static final String PHONE_IN_ECM_STATE = "phoneinECMState"; 85 86 public static final String REASON_LINK_PROPERTIES_CHANGED = "linkPropertiesChanged"; 87 88 /** 89 * Return codes for <code>enableApnType()</code> 90 */ 91 public static final int APN_ALREADY_ACTIVE = 0; 92 public static final int APN_REQUEST_STARTED = 1; 93 public static final int APN_TYPE_NOT_AVAILABLE = 2; 94 public static final int APN_REQUEST_FAILED = 3; 95 public static final int APN_ALREADY_INACTIVE = 4; 96 97 /** 98 * APN types for data connections. These are usage categories for an APN 99 * entry. One APN entry may support multiple APN types, eg, a single APN 100 * may service regular internet traffic ("default") as well as MMS-specific 101 * connections.<br/> 102 * APN_TYPE_ALL is a special type to indicate that this APN entry can 103 * service all data connections. 104 */ 105 public static final String APN_TYPE_ALL = "*"; 106 /** APN type for default data traffic */ 107 public static final String APN_TYPE_DEFAULT = "default"; 108 /** APN type for MMS traffic */ 109 public static final String APN_TYPE_MMS = "mms"; 110 /** APN type for SUPL assisted GPS */ 111 public static final String APN_TYPE_SUPL = "supl"; 112 /** APN type for DUN traffic */ 113 public static final String APN_TYPE_DUN = "dun"; 114 /** APN type for HiPri traffic */ 115 public static final String APN_TYPE_HIPRI = "hipri"; 116 /** APN type for FOTA */ 117 public static final String APN_TYPE_FOTA = "fota"; 118 /** APN type for IMS */ 119 public static final String APN_TYPE_IMS = "ims"; 120 /** APN type for CBS */ 121 public static final String APN_TYPE_CBS = "cbs"; 122 /** APN type for IA Initial Attach APN */ 123 public static final String APN_TYPE_IA = "ia"; 124 125 } 126