Home | History | Annotate | Download | only in telephony
      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 
    123 }
    124