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 }
222