Home | History | Annotate | Download | only in telephony
      1 /*
      2  * Copyright (C) 2006 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 
     17 package com.android.internal.telephony;
     18 
     19 /**
     20  * Contains a list of string constants used to get or set telephone properties
     21  * in the system. You can use {@link android.os.SystemProperties os.SystemProperties}
     22  * to get and set these values.
     23  * @hide
     24  */
     25 public interface TelephonyProperties
     26 {
     27     //****** Baseband and Radio Interface version
     28 
     29     //TODO T: property strings do not have to be gsm specific
     30     //        change gsm.*operator.*" properties to "operator.*" properties
     31 
     32     /**
     33      * Baseband version
     34      * Availability: property is available any time radio is on
     35      */
     36     static final String PROPERTY_BASEBAND_VERSION = "gsm.version.baseband";
     37 
     38     /** Radio Interface Layer (RIL) library implementation. */
     39     static final String PROPERTY_RIL_IMPL = "gsm.version.ril-impl";
     40 
     41     //****** Current Network
     42 
     43     /** Alpha name of current registered operator.<p>
     44      *  Availability: when registered to a network. Result may be unreliable on
     45      *  CDMA networks.
     46      */
     47     static final String PROPERTY_OPERATOR_ALPHA = "gsm.operator.alpha";
     48     //TODO: most of these properties are generic, substitute gsm. with phone. bug 1856959
     49 
     50     /** Numeric name (MCC+MNC) of current registered operator.<p>
     51      *  Availability: when registered to a network. Result may be unreliable on
     52      *  CDMA networks.
     53      */
     54     static final String PROPERTY_OPERATOR_NUMERIC = "gsm.operator.numeric";
     55 
     56     /** 'true' if the device is on a manually selected network
     57      *
     58      *  Availability: when registered to a network
     59      */
     60     static final String PROPERTY_OPERATOR_ISMANUAL = "operator.ismanual";
     61 
     62     /** 'true' if the device is considered roaming on this network for GSM
     63      *  purposes.
     64      *  Availability: when registered to a network
     65      */
     66     static final String PROPERTY_OPERATOR_ISROAMING = "gsm.operator.isroaming";
     67 
     68     /** The ISO country code equivalent of the current registered operator's
     69      *  MCC (Mobile Country Code)<p>
     70      *  Availability: when registered to a network. Result may be unreliable on
     71      *  CDMA networks.
     72      */
     73     static final String PROPERTY_OPERATOR_ISO_COUNTRY = "gsm.operator.iso-country";
     74 
     75     /**
     76      * The contents of this property is the value of the kernel command line
     77      * product_type variable that corresponds to a product that supports LTE on CDMA.
     78      * {@see BaseCommands#getLteOnCdmaMode()}
     79      */
     80     static final String PROPERTY_LTE_ON_CDMA_PRODUCT_TYPE = "telephony.lteOnCdmaProductType";
     81 
     82     /**
     83      * The contents of this property is the one of {@link Phone#LTE_ON_CDMA_TRUE} or
     84      * {@link Phone#LTE_ON_CDMA_FALSE}. If absent the value will assumed to be false
     85      * and the {@see #PROPERTY_LTE_ON_CDMA_PRODUCT_TYPE} will be used to determine its
     86      * final value which could also be {@link Phone#LTE_ON_CDMA_FALSE}.
     87      * {@see BaseCommands#getLteOnCdmaMode()}
     88      */
     89     static final String PROPERTY_LTE_ON_CDMA_DEVICE = "telephony.lteOnCdmaDevice";
     90 
     91     static final String CURRENT_ACTIVE_PHONE = "gsm.current.phone-type";
     92 
     93     //****** SIM Card
     94     /**
     95      * One of <code>"UNKNOWN"</code> <code>"ABSENT"</code> <code>"PIN_REQUIRED"</code>
     96      * <code>"PUK_REQUIRED"</code> <code>"NETWORK_LOCKED"</code> or <code>"READY"</code>
     97      */
     98     static String PROPERTY_SIM_STATE = "gsm.sim.state";
     99 
    100     /** The MCC+MNC (mobile country code+mobile network code) of the
    101      *  provider of the SIM. 5 or 6 decimal digits.
    102      *  Availability: SIM state must be "READY"
    103      */
    104     static String PROPERTY_ICC_OPERATOR_NUMERIC = "gsm.sim.operator.numeric";
    105 
    106     /** PROPERTY_ICC_OPERATOR_ALPHA is also known as the SPN, or Service Provider Name.
    107      *  Availability: SIM state must be "READY"
    108      */
    109     static String PROPERTY_ICC_OPERATOR_ALPHA = "gsm.sim.operator.alpha";
    110 
    111     /** ISO country code equivalent for the SIM provider's country code*/
    112     static String PROPERTY_ICC_OPERATOR_ISO_COUNTRY = "gsm.sim.operator.iso-country";
    113 
    114     /**
    115      * Indicates the available radio technology.  Values include: <code>"unknown"</code>,
    116      * <code>"GPRS"</code>, <code>"EDGE"</code> and <code>"UMTS"</code>.
    117      */
    118     static String PROPERTY_DATA_NETWORK_TYPE = "gsm.network.type";
    119 
    120     /** Indicate if phone is in emergency callback mode */
    121     static final String PROPERTY_INECM_MODE = "ril.cdma.inecmmode";
    122 
    123     /** Indicate the timer value for exiting emergency callback mode */
    124     static final String PROPERTY_ECM_EXIT_TIMER = "ro.cdma.ecmexittimer";
    125 
    126     /** the international dialing prefix of current operator network */
    127     static final String PROPERTY_OPERATOR_IDP_STRING = "gsm.operator.idpstring";
    128 
    129     /**
    130      * Defines the schema for the carrier specified OTASP number
    131      */
    132     static final String PROPERTY_OTASP_NUM_SCHEMA = "ro.cdma.otaspnumschema";
    133 
    134     /**
    135      * Disable all calls including Emergency call when it set to true.
    136      */
    137     static final String PROPERTY_DISABLE_CALL = "ro.telephony.disable-call";
    138 
    139     /**
    140      * Set to true for vendor RIL's that send multiple UNSOL_CALL_RING notifications.
    141      */
    142     static final String PROPERTY_RIL_SENDS_MULTIPLE_CALL_RING =
    143         "ro.telephony.call_ring.multiple";
    144 
    145     /**
    146      * The number of milliseconds between CALL_RING notifications.
    147      */
    148     static final String PROPERTY_CALL_RING_DELAY = "ro.telephony.call_ring.delay";
    149 
    150     /**
    151      * Track CDMA SMS message id numbers to ensure they increment
    152      * monotonically, regardless of reboots.
    153      */
    154     static final String PROPERTY_CDMA_MSG_ID = "persist.radio.cdma.msgid";
    155 
    156     /**
    157      * Property to override DEFAULT_WAKE_LOCK_TIMEOUT
    158      */
    159     static final String PROPERTY_WAKE_LOCK_TIMEOUT = "ro.ril.wake_lock_timeout";
    160 
    161     /**
    162      * Set to true to indicate that the modem needs to be reset
    163      * when there is a radio technology change.
    164      */
    165     static final String PROPERTY_RESET_ON_RADIO_TECH_CHANGE = "persist.radio.reset_on_switch";
    166 
    167     /**
    168      * Set to false to disable SMS receiving, default is
    169      * the value of config_sms_capable
    170      */
    171     static final String PROPERTY_SMS_RECEIVE = "telephony.sms.receive";
    172 
    173     /**
    174      * Set to false to disable SMS sending, default is
    175      * the value of config_sms_capable
    176      */
    177     static final String PROPERTY_SMS_SEND = "telephony.sms.send";
    178 
    179     /**
    180      * Set to true to indicate a test CSIM card is used in the device.
    181      * This property is for testing purpose only. This should not be defined
    182      * in commercial configuration.
    183      */
    184     static final String PROPERTY_TEST_CSIM = "persist.radio.test-csim";
    185 
    186     /**
    187      * Ignore RIL_UNSOL_NITZ_TIME_RECEIVED completely, used for debugging/testing.
    188      */
    189     static final String PROPERTY_IGNORE_NITZ = "telephony.test.ignore.nitz";
    190 
    191      /**
    192      * Property to set multi sim feature.
    193      * Type:  String(dsds, dsda)
    194      */
    195     static final String PROPERTY_MULTI_SIM_CONFIG = "persist.radio.multisim.config";
    196 
    197     /**
    198      * Property to store default subscription.
    199      */
    200     static final String PROPERTY_DEFAULT_SUBSCRIPTION = "persist.radio.default.sub";
    201 
    202     /**
    203      * Property to enable MMS Mode.
    204      * Type: string ( default = silent, enable to = prompt )
    205      */
    206     static final String PROPERTY_MMS_TRANSACTION = "mms.transaction";
    207 
    208     /**
    209      * Set to the sim count.
    210      */
    211     static final String PROPERTY_SIM_COUNT = "ro.telephony.sim.count";
    212 
    213     /**
    214      * Controls audio route for video calls.
    215      * 0 - Use the default audio routing strategy.
    216      * 1 - Disable the speaker. Route the audio to Headset or Bluetooth
    217      *     or Earpiece, based on the default audio routing strategy.
    218      */
    219     static final String PROPERTY_VIDEOCALL_AUDIO_OUTPUT = "persist.radio.call.audio.output";
    220 }
    221