1# Copyright (C) 2019 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15module: "android.sysprop.TelephonyProperties"
16owner: Platform
17prop {
18    api_name: "airplane_mode_on"
19    type: Boolean
20    scope: Internal
21    access: ReadWrite
22    prop_name: "persist.radio.airplane_mode_on"
23    integer_as_bool : true
24}
25
26######## Baseband and Radio Interface version
27
28# TODO T: property strings do not have to be gsm specific
29#         change gsm.*operator.*" properties to "operator.*" properties
30
31#
32# Baseband version. Indexed by phone ID
33#
34# Availability: property is available any time radio is on
35#
36prop {
37    api_name: "baseband_version"
38    type: StringList
39    scope: Internal
40    access: ReadWrite
41    prop_name: "gsm.version.baseband"
42}
43
44# Radio Interface Layer (RIL) library implementation.
45prop {
46    api_name: "ril_impl"
47    type: String
48    scope: Internal
49    access: Readonly
50    prop_name: "gsm.version.ril-impl"
51}
52
53######## Current Network
54
55#
56# Alpha name of current registered operator. Indexed by phone ID
57#
58# Availability: when registered to a network. Result may be unreliable on
59# CDMA networks.
60#
61prop {
62    api_name: "operator_alpha"
63    type: StringList
64    scope: Internal
65    access: ReadWrite
66    prop_name: "gsm.operator.alpha"
67}
68
69#
70# true if the device is on a manually selected network. Indexed by phone ID
71#
72# Availability: when registered to a network
73#
74prop {
75    api_name: "operator_numeric"
76    type: StringList
77    scope: Internal
78    access: ReadWrite
79    prop_name: "gsm.operator.numeric"
80}
81
82#
83# true if the device is on a manually selected network
84#
85# Availability: when registered to a network
86#
87prop {
88    api_name: "operator_is_manual"
89    type: Boolean
90    scope: Internal
91    access: Readonly
92    prop_name: "operator.ismanual"
93}
94
95#
96# true if the device is considered roaming on this network for GSM purposes.
97# Indexed by phone ID
98#
99# Availability: when registered to a network
100#
101prop {
102    api_name: "operator_is_roaming"
103    type: BooleanList
104    scope: Internal
105    access: ReadWrite
106    prop_name: "gsm.operator.isroaming"
107}
108
109#
110# The ISO country code equivalent of the current registered operator's MCC
111# (Mobile Country Code). Indexed by phone ID
112#
113# Availability: when registered to a network. Result may be unreliable on
114# CDMA networks.
115#
116prop {
117    api_name: "operator_iso_country"
118    type: StringList
119    scope: Public
120    access: ReadWrite
121    prop_name: "gsm.operator.iso-country"
122}
123
124#
125# The contents of this property is the value of the kernel command line
126# product_type variable that corresponds to a product that supports LTE on
127# CDMA.
128#
129prop {
130    api_name: "lte_on_cdma_product_type"
131    type: String
132    scope: Internal
133    access: Readonly
134    prop_name: "telephony.lteOnCdmaProductType"
135}
136
137#
138# The contents of this property is the one of LTE_ON_CDMA_TRUE or
139# LTE_ON_CDMA_FALSE. If absent the value will assumed to be false and the
140# PROPERTY_LTE_ON_CDMA_PRODUCT_TYPE will be used to determine its final
141# value which could also be LTE_ON_CDMA_FALSE.
142#
143prop {
144    api_name: "lte_on_cdma_device"
145    type: Integer
146    scope: Internal
147    access: Readonly
148    prop_name: "telephony.lteOnCdmaDevice"
149}
150
151prop {
152    api_name: "current_active_phone"
153    type: IntegerList
154    scope: Internal
155    access: ReadWrite
156    prop_name: "gsm.current.phone-type"
157}
158
159######## SIM Card. Indexed by phone ID
160# "UNKNOWN|ABSENT|PIN_REQUIRED|PUK_REQUIRED|NETWORK_LOCKED|READY"
161
162prop {
163    api_name: "sim_state"
164    type: StringList
165    scope: Internal
166    access: ReadWrite
167    prop_name: "gsm.sim.state"
168}
169
170#
171# The MCC+MNC (mobile country code+mobile network code) of the provider
172# of the SIM. 5 or 6 decimal digits. Indexed by phone ID
173#
174# Availability: SIM state must be READY
175#
176prop {
177    api_name: "icc_operator_numeric"
178    type: StringList
179    scope: Internal
180    access: ReadWrite
181    prop_name: "gsm.sim.operator.numeric"
182}
183
184#
185# also known as the SPN, or Service Provider Name. Indexed by phone ID
186#
187# Availability: SIM state must be "READY"
188#
189prop {
190    api_name: "icc_operator_alpha"
191    type: StringList
192    scope: Internal
193    access: ReadWrite
194    prop_name: "gsm.sim.operator.alpha"
195}
196
197# ISO country code equivalent for the SIM provider's country code.
198# Indexed by phone ID
199prop {
200    api_name: "icc_operator_iso_country"
201    type: StringList
202    scope: Internal
203    access: ReadWrite
204    prop_name: "gsm.sim.operator.iso-country"
205}
206
207# Indicates the available radio technology. Indexed by phone ID
208prop {
209    api_name: "data_network_type"
210    type: StringList
211    scope: Internal
212    access: ReadWrite
213    prop_name: "gsm.network.type"
214}
215
216# Indicate if phone is in emergency callback mode
217prop {
218    api_name: "in_ecm_mode"
219    type: Boolean
220    scope: Public
221    access: ReadWrite
222    prop_name: "ril.cdma.inecmmode"
223}
224
225# Indicate the timer value for exiting emergency callback mode
226prop {
227    api_name: "ecm_exit_timer"
228    type: Long
229    scope: Public
230    access: Readonly
231    prop_name: "ro.cdma.ecmexittimer"
232}
233
234# the international dialing prefix of current operator network
235prop {
236    api_name: "operator_idp_string"
237    type: String
238    scope: Public
239    access: ReadWrite
240    prop_name: "gsm.operator.idpstring"
241}
242
243# Defines the schema for the carrier specified OTASP number.
244# Indexed by phone ID
245prop {
246    api_name: "otasp_num_schema"
247    type: StringList
248    scope: Internal
249    access: Readonly
250    prop_name: "ro.cdma.otaspnumschema"
251}
252
253# Disable all calls including Emergency call when it set to true.
254prop {
255    api_name: "disable_call"
256    type: Boolean
257    scope: Public
258    access: Readonly
259    prop_name: "ro.telephony.disable-call"
260}
261
262# Set to true for vendor RIL's that send multiple UNSOL_CALL_RING notifications.
263prop {
264    api_name: "ril_sends_multiple_call_ring"
265    type: Boolean
266    scope: Public
267    access: Readonly
268    prop_name: "ro.telephony.call_ring.multiple"
269}
270
271# The number of milliseconds between CALL_RING notifications.
272prop {
273    api_name: "call_ring_delay"
274    type: Integer
275    scope: Public
276    access: Readonly
277    prop_name: "ro.telephony.call_ring.delay"
278}
279
280#
281# Track CDMA SMS message id numbers to ensure they increment
282# monotonically, regardless of reboots.
283#
284prop {
285    api_name: "cdma_msg_id"
286    type: Integer
287    scope: Internal
288    access: ReadWrite
289    prop_name: "persist.radio.cdma.msgid"
290}
291
292# Property to override DEFAULT_WAKE_LOCK_TIMEOUT
293prop {
294    api_name: "wake_lock_timeout"
295    type: Integer
296    scope: Public
297    access: Readonly
298    prop_name: "ro.ril.wake_lock_timeout"
299}
300
301#
302# Set to true to indicate that the modem needs to be reset
303# when there is a radio technology change.
304#
305prop {
306    api_name: "reset_on_radio_tech_change"
307    type: Boolean
308    scope: Public
309    access: Readonly
310    prop_name: "persist.radio.reset_on_switch"
311}
312
313#
314# Set to false to disable SMS receiving, default is
315# the value of config_sms_capable
316# Indexed by phone ID
317#
318prop {
319    api_name: "sms_receive"
320    type: BooleanList
321    scope: Internal
322    access: Readonly
323    prop_name: "telephony.sms.receive"
324}
325
326#
327# Set to false to disable SMS sending, default is
328# the value of config_sms_capable
329# Indexed by phone ID
330#
331prop {
332    api_name: "sms_send"
333    type: BooleanList
334    scope: Internal
335    access: Readonly
336    prop_name: "telephony.sms.send"
337}
338
339#
340# Set to true to indicate a test CSIM card is used in the device.
341# This property is for testing purpose only. This should not be defined
342# in commercial configuration.
343#
344prop {
345    api_name: "test_csim"
346    type: Boolean
347    scope: Public
348    access: Readonly
349    prop_name: "persist.radio.test-csim"
350}
351
352#
353# Ignore RIL_UNSOL_NITZ_TIME_RECEIVED completely, used for debugging/testing.
354#
355prop {
356    api_name: "ignore_nitz"
357    type: Boolean
358    scope: Public
359    access: Readonly
360    prop_name: "telephony.test.ignore.nitz"
361}
362
363#
364# Property to set multi sim feature.
365#
366prop {
367    api_name: "multi_sim_config"
368    type: String
369    scope: Public
370    access: ReadWrite
371    prop_name: "persist.radio.multisim.config"
372}
373
374#
375# Property to indicate if reboot is required when changing modems configurations
376# Default is false; most devices don't need reboot
377#
378prop {
379    api_name: "reboot_on_modem_change"
380    type: Boolean
381    scope: Internal
382    access: Readonly
383    prop_name: "persist.radio.reboot_on_modem_change"
384}
385
386#
387# Controls audio route for video calls.
388# false - Use the default audio routing strategy.
389# true  - Disable the speaker. Route the audio to Headset or Bluetooth
390#         or Earpiece, based on the default audio routing strategy.
391#
392prop {
393    api_name: "videocall_audio_output"
394    type: Integer
395    scope: Internal
396    access: Readonly
397    prop_name: "persist.radio.call.audio.output"
398}
399
400#
401# System Property which is used to decide whether the default eSIM UI will be shown,
402# the default value is false.
403#
404prop {
405    api_name: "enable_esim_ui_by_default"
406    type: Boolean
407    scope: Internal
408    access: Readonly
409    prop_name: "esim.enable_esim_system_ui_by_default"
410}
411
412prop {
413    api_name: "default_network"
414    type: IntegerList
415    scope: Internal
416    access: Readonly
417    prop_name: "ro.telephony.default_network"
418}
419
420prop {
421    api_name: "data_roaming"
422    type: Boolean
423    scope: Internal
424    access: Readonly
425    prop_name: "ro.com.android.dataroaming"
426}
427
428prop {
429    api_name: "mobile_data"
430    type: Boolean
431    scope: Public
432    access: Readonly
433    prop_name: "ro.com.android.mobiledata"
434}
435
436prop {
437    api_name: "wps_info"
438    type: Integer
439    scope: Internal
440    access: Readonly
441    prop_name: "wifidirect.wps"
442}
443
444#
445# How many logical modems can be active simultaneously. For example, if a device is dual-SIM
446# capable but currently only one SIM slot and one logical modem is active, this value is still
447# two.
448#
449prop {
450    api_name: "max_active_modems"
451    type: Integer
452    scope: Public
453    access: Readonly
454    prop_name: "telephony.active_modems.max_count"
455}
456
457#
458# Number of physical SIM slots on the device. This includes both eSIM and pSIM slots, and is
459# not necessarily the same as the number of phones/logical modems supported by the device.
460# For example, a multi-sim device can have 2 phones/logical modems, but 3 physical slots, or
461# a single SIM device can have 1 phones/logical modems, but 2 physical slots (one eSIM and
462# one pSIM)
463#
464prop {
465    api_name: "sim_slots_count"
466    type: Integer
467    scope: Public
468    access: Readonly
469    prop_name: "ro.telephony.sim_slots.count"
470}
471