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
17package 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 */
25public 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