CarrierConfigManager.java revision c96b5e087382a2a530e9c8cf8f2e1f8dbfc439c5
1f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross/* 2f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * Copyright (C) 2015 The Android Open Source Project 3f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * 4f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * Licensed under the Apache License, Version 2.0 (the "License"); 5f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * you may not use this file except in compliance with the License. 6f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * You may obtain a copy of the License at 7f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * 8f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * http://www.apache.org/licenses/LICENSE-2.0 9f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * 10f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * Unless required by applicable law or agreed to in writing, software 11f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * distributed under the License is distributed on an "AS IS" BASIS, 12f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * See the License for the specific language governing permissions and 14f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * limitations under the License. 15f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross */ 16f029297f673ae06d219bd727a318a48b885db6fdFelipe Leme 176c3d90f89a4313eb449c770db6f05b2819cdd8bbMark Salyzynpackage android.telephony; 18f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross 192db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevågimport android.annotation.NonNull; 20f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Crossimport android.annotation.Nullable; 21f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Crossimport android.annotation.SystemApi; 22ad5f6c475934ac6a658a203069a9f055540946e7Felipe Lemeimport android.content.Context; 23f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Crossimport android.os.PersistableBundle; 246e01fa6f95fb20a2faab33561056d2e74cc097cbFelipe Lemeimport android.os.RemoteException; 25ad5f6c475934ac6a658a203069a9f055540946e7Felipe Lemeimport android.os.ServiceManager; 26635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme 278f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzynimport com.android.ims.ImsReasonInfo; 28f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Crossimport com.android.internal.telephony.ICarrierConfigLoader; 29f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross 306e01fa6f95fb20a2faab33561056d2e74cc097cbFelipe Leme/** 31f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * Provides access to telephony configuration values that are carrier-specific. 327dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris * <p> 33f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * Users should obtain an instance of this class by calling 34f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * {@code mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE);} 35f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * </p> 36f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * 37f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * @see Context#getSystemService 38f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * @see Context#CARRIER_CONFIG_SERVICE 3996c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Leme */ 4096c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Lemepublic class CarrierConfigManager { 419dc117c415d0df0a3acd900709d05deabe975704Elliott Hughes private final static String TAG = "CarrierConfigManager"; 42058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla 43aff684300a3b7d6984d3b3c1efddb810cd0205e7Andreas Gampe /** 446f674aefab201fbf9141aabbb603bbfc84771927Felipe Leme * @hide 456f674aefab201fbf9141aabbb603bbfc84771927Felipe Leme */ 46f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross public CarrierConfigManager() { 4775876a2c0649b8cde36329ca0a1dc6e349af6493Felipe Leme } 486c3d90f89a4313eb449c770db6f05b2819cdd8bbMark Salyzyn 496c3d90f89a4313eb449c770db6f05b2819cdd8bbMark Salyzyn /** 50f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * This intent is broadcast by the system when carrier config changes. 51f029297f673ae06d219bd727a318a48b885db6fdFelipe Leme */ 5275876a2c0649b8cde36329ca0a1dc6e349af6493Felipe Leme public static final String 53f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross ACTION_CARRIER_CONFIG_CHANGED = "android.telephony.action.CARRIER_CONFIG_CHANGED"; 546e01fa6f95fb20a2faab33561056d2e74cc097cbFelipe Leme 55cb7ef82aef52e766c45f65f446d02fd9356afea4Steven Moreland // Below are the keys used in carrier config bundles. To add a new variable, define the key and 56cb7ef82aef52e766c45f65f446d02fd9356afea4Steven Moreland // give it a default value in sDefaults. If you need to ship a per-network override in the 5747e9be2d71c5eca9002e289c98e8bbc20dffc073Felipe Leme // system image, that can be added in packages/apps/CarrierConfig. 5847e9be2d71c5eca9002e289c98e8bbc20dffc073Felipe Leme 5947e9be2d71c5eca9002e289c98e8bbc20dffc073Felipe Leme /** 6047e9be2d71c5eca9002e289c98e8bbc20dffc073Felipe Leme * Flag indicating whether the Phone app should ignore EVENT_SIM_NETWORK_LOCKED 6147e9be2d71c5eca9002e289c98e8bbc20dffc073Felipe Leme * events from the Sim. 6247e9be2d71c5eca9002e289c98e8bbc20dffc073Felipe Leme * If true, this will prevent the IccNetworkDepersonalizationPanel from being shown, and 63f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * effectively disable the "Sim network lock" feature. 64f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross */ 65f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross public static final String 66f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross KEY_IGNORE_SIM_NETWORK_LOCKED_EVENTS_BOOL = "ignore_sim_network_locked_events_bool"; 671d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme 681d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme /** 69635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme * Flag indicating whether the Phone app should provide a "Dismiss" button on the SIM network 70635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme * unlock screen. The default value is true. If set to false, there will be *no way* to dismiss 7178f2c86235d5882a8dc84c85a1c1864062e5f3afFelipe Leme * the SIM network unlock screen if you don't enter the correct unlock code. (One important 722a83daa8a3e1eab292dc1464bbe78f025f4bc0e9Todd Poynor * consequence: there will be no way to make an Emergency Call if your SIM is network-locked and 737d0a762ecaf9f4d005f0f6db913034c2e084d362Mark Salyzyn * you don't know the PIN.) 742a83daa8a3e1eab292dc1464bbe78f025f4bc0e9Todd Poynor */ 75341938b446576ebf60865d8b6e5e6175f47766d0Wei Liu public static final String 76e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme KEY_SIM_NETWORK_UNLOCK_ALLOW_DISMISS_BOOL = "sim_network_unlock_allow_dismiss_bool"; 77d6ab01105bbd80dfa2fc2debc8e31d6422c378eeMark Salyzyn 784d42dea08915ccbb61ca05903af5330d02d66755Mark Salyzyn /** Flag indicating if the phone is a world phone */ 79d2991962b7120319a4fa63f1a93b100adaad5dbeDavid Brazdil public static final String KEY_WORLD_PHONE_BOOL = "world_phone_bool"; 80d2991962b7120319a4fa63f1a93b100adaad5dbeDavid Brazdil 817dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris /** 827dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris * Flag to require or skip entitlement checks. 837dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris * If true, entitlement checks will be executed if device has been configured for it, 847dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris * If false, entitlement checks will be skipped. 857dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris */ 860816520c5cd60519d8e221ed92497aa5464e3039Erik Kline public static final String 877dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL = "require_entitlement_checks_bool"; 887dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris 897dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris /** 907dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris * If true, enable vibration (haptic feedback) for key presses in the EmergencyDialer activity. 917dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris * The pattern is set on a per-platform basis using config_virtualKeyVibePattern. To be 927dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris * consistent with the regular Dialer, this value should agree with the corresponding values 937dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris * from config.xml under apps/Contacts. 947dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris */ 95e844a9d60a54c7dd6dbf0a8f44167b484324d08dFelipe Leme public static final String 96e844a9d60a54c7dd6dbf0a8f44167b484324d08dFelipe Leme KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL = "enable_dialer_key_vibration_bool"; 97678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme 98678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme /** Flag indicating if dtmf tone type is enabled */ 99678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme public static final String KEY_DTMF_TYPE_ENABLED_BOOL = "dtmf_type_enabled_bool"; 100678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme 101678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme /** Flag indicating if auto retry is enabled */ 102bda15a00929b836a53bf03473b1ec36285e5944bFelipe Leme public static final String KEY_AUTO_RETRY_ENABLED_BOOL = "auto_retry_enabled_bool"; 103678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme 104678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme /** 105678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme * Determine whether we want to play local DTMF tones in a call, or just let the radio/BP handle 106678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme * playing of the tones. 107678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme */ 108678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme public static final String KEY_ALLOW_LOCAL_DTMF_TONES_BOOL = "allow_local_dtmf_tones_bool"; 109e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme 110e844a9d60a54c7dd6dbf0a8f44167b484324d08dFelipe Leme /** 111e844a9d60a54c7dd6dbf0a8f44167b484324d08dFelipe Leme * If true, show an onscreen "Dial" button in the dialer. In practice this is used on all 112e844a9d60a54c7dd6dbf0a8f44167b484324d08dFelipe Leme * platforms, even the ones with hard SEND/END keys, but for maximum flexibility it's controlled 1137440ddb786b7732478173fe142512dba4e2a8dfdSteven Moreland * by a flag here (which can be overridden on a per-product basis.) 1147440ddb786b7732478173fe142512dba4e2a8dfdSteven Moreland */ 11569ec3ac3e761042f0c5e1e708c161d2df3c6db2bAndreas Huber public static final String KEY_SHOW_ONSCREEN_DIAL_BUTTON_BOOL = "show_onscreen_dial_button_bool"; 1167440ddb786b7732478173fe142512dba4e2a8dfdSteven Moreland 1179ce6aa4d22f6afee2c682cf2e40bf50575f3cc61Felipe Leme /** Determines if device implements a noise suppression device for in call audio. */ 11896c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Leme public static final String 119d071c6802a03031b26de7b92a76d03849681149bFelipe Leme KEY_HAS_IN_CALL_NOISE_SUPPRESSION_BOOL = "has_in_call_noise_suppression_bool"; 120b53a1c9b4df27a7a66c9448778eace166a0ce14cNaveen Kalla 121b53a1c9b4df27a7a66c9448778eace166a0ce14cNaveen Kalla /** 1229ce6aa4d22f6afee2c682cf2e40bf50575f3cc61Felipe Leme * Determines if the current device should allow emergency numbers to be logged in the Call Log. 123f029297f673ae06d219bd727a318a48b885db6fdFelipe Leme * (Some carriers require that emergency calls *not* be logged, presumably to avoid the risk of 124f029297f673ae06d219bd727a318a48b885db6fdFelipe Leme * accidental redialing from the call log UI. This is a good idea, so the default here is 1253d305a18f771f293b6196f95eeb41c098e7e051fFelipe Leme * false.) 1263d305a18f771f293b6196f95eeb41c098e7e051fFelipe Leme */ 1277dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris public static final String 128bbaf3c11c4723be0f6b56ef603e11b0baaa92429Felipe Leme KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL = "allow_emergency_numbers_in_call_log_bool"; 1297dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris 1307dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris /** If true, removes the Voice Privacy option from Call Settings */ 13154bcc5ffd5a79f4f194089c58d3de571532bf39bChristopher Ferris public static final String KEY_VOICE_PRIVACY_DISABLE_UI_BOOL = "voice_privacy_disable_ui_bool"; 13254bcc5ffd5a79f4f194089c58d3de571532bf39bChristopher Ferris 1337dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris /** Control whether users can reach the carrier portions of Cellular Network Settings. */ 1343d305a18f771f293b6196f95eeb41c098e7e051fFelipe Leme public static final String 1351d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL = "hide_carrier_network_settings_bool"; 1363d305a18f771f293b6196f95eeb41c098e7e051fFelipe Leme 1377dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris /** Control whether users can reach the SIM lock settings. */ 1383d305a18f771f293b6196f95eeb41c098e7e051fFelipe Leme public static final String 1397dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris KEY_HIDE_SIM_LOCK_SETTINGS_BOOL = "hide_sim_lock_settings_bool"; 1407dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris 1417dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris /** Control whether users can edit APNs in Settings. */ 1427dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris public static final String KEY_APN_EXPAND_BOOL = "apn_expand_bool"; 1437dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris 144635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme /** Control whether users can choose a network operator. */ 1454c2d66379753e2b7680811726424026b9e54b18aFelipe Leme public static final String KEY_OPERATOR_SELECTION_EXPAND_BOOL = "operator_selection_expand_bool"; 146635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme 147635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme /** Used in Cellular Network Settings for preferred network type. */ 148635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme public static final String KEY_PREFER_2G_BOOL = "prefer_2g_bool"; 149635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme 150f0922cc1786c0c2fbf44c10b0005243ecbb4227dNick Kralevich /** Show cdma network mode choices 1x, 3G, global etc. */ 151635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme public static final String KEY_SHOW_CDMA_CHOICES_BOOL = "show_cdma_choices_bool"; 152635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme 153635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme /** CDMA activation goes through HFA */ 154cbce55d4fdbdd2e5a5515054c48d2116c5db2712Felipe Leme public static final String KEY_USE_HFA_FOR_PROVISIONING_BOOL = "use_hfa_for_provisioning_bool"; 155635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme 156635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme /** 157635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme * CDMA activation goes through OTASP. 158635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme * <p> 159635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme * TODO: This should be combined with config_use_hfa_for_provisioning and implemented as an enum 160635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme * (NONE, HFA, OTASP). 161f0922cc1786c0c2fbf44c10b0005243ecbb4227dNick Kralevich */ 1621d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme public static final String KEY_USE_OTASP_FOR_PROVISIONING_BOOL = "use_otasp_for_provisioning_bool"; 163635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme 164635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme /** Display carrier settings menu if true */ 165cbce55d4fdbdd2e5a5515054c48d2116c5db2712Felipe Leme public static final String KEY_CARRIER_SETTINGS_ENABLE_BOOL = "carrier_settings_enable_bool"; 166635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme 167635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme /** Does not display additional call seting for IMS phone based on GSM Phone */ 168635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme public static final String KEY_ADDITIONAL_CALL_SETTING_BOOL = "additional_call_setting_bool"; 169635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme 170635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme /** Show APN Settings for some CDMA carriers */ 1711d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme public static final String KEY_SHOW_APN_SETTING_CDMA_BOOL = "show_apn_setting_cdma_bool"; 172678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme 173635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme /** After a CDMA conference call is merged, the swap button should be displayed. */ 17446b85da716a32f285fe1222e9978beacc8697d09Felipe Leme public static final String KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL = "support_swap_after_merge_bool"; 175678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme 176678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme /** 177635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme * Determine whether the voicemail notification is persistent in the notification bar. If true, 178635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme * the voicemail notifications cannot be dismissed from the notification bar. 1792db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg */ 1802db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg public static final String 1812db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL = "voicemail_notification_persistent_bool"; 1822db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg 1832db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg /** For IMS video over LTE calls, determines whether video pause signalling is supported. */ 1842db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg public static final String 1852db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL = "support_pause_ims_video_calls_bool"; 1862db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg 1872db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg /** 1882db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg * Disables dialing "*228" (OTASP provisioning) on CDMA carriers where it is not supported or is 1892db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg * potentially harmful by locking the SIM to 3G. 1902db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg */ 1912db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg public static final String 1922db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL = "disable_cdma_activation_code_bool"; 1932db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg 1942db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg /** 195b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * Override the platform's notion of a network operator being considered roaming. 1962db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg * Value is string array of MCCMNCs to be considered roaming for 3GPP RATs. 1972db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg */ 1982db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg public static final String 1992db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg KEY_GSM_ROAMING_NETWORKS_STRING_ARRAY = "gsm_roaming_networks_string_array"; 2002db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg 201068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian /** 202068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * Override the platform's notion of a network operator being considered not roaming. 203068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * Value is string array of MCCMNCs to be considered not roaming for 3GPP RATs. 204068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian */ 205068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian public static final String 206068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian KEY_GSM_NONROAMING_NETWORKS_STRING_ARRAY = "gsm_nonroaming_networks_string_array"; 207068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian 208068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian /** 209068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * Override the platform's notion of a network operator being considered roaming. 210068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * Value is string array of SIDs to be considered roaming for 3GPP2 RATs. 211068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian */ 212068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian public static final String 213afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian KEY_CDMA_ROAMING_NETWORKS_STRING_ARRAY = "cdma_roaming_networks_string_array"; 214afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian 215068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian /** 216068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * Override the platform's notion of a network operator being considered non roaming. 217068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * Value is string array of SIDs to be considered not roaming for 3GPP2 RATs. 2181d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme */ 2191d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme public static final String 220068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian KEY_CDMA_NONROAMING_NETWORKS_STRING_ARRAY = "cdma_nonroaming_networks_string_array"; 221068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian 222068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian /** 223068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * Override the platform's notion of a network operator being considered non roaming. 22461ffcf73d50dbed5b52265e79bb73abf1849324dEcco Park * If true all networks are considered as home network a.k.a non-roaming. When false, 225068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * the 2 pairs of CMDA and GSM roaming/non-roaming arrays are consulted. 226068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * 227afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian * @see KEY_GSM_ROAMING_NETWORKS_STRING_ARRAY 228afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian * @see KEY_GSM_NONROAMING_NETWORKS_STRING_ARRAY 229afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian * @see KEY_CDMA_ROAMING_NETWORKS_STRING_ARRAY 230afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian * @see KEY_CDMA_NONROAMING_NETWORKS_STRING_ARRAY 231afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian */ 232afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian public static final String 233afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian KEY_FORCE_HOME_NETWORK_BOOL = "force_home_network_bool"; 234068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian 235068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian /** 236b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * Flag specifying whether VoLTE should be available for carrier, independent of carrier 23730dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme * provisioning. If false: hard disabled. If true: then depends on carrier provisioning, 238068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * availability, etc. 239068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian */ 240068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian public static final String KEY_CARRIER_VOLTE_AVAILABLE_BOOL = "carrier_volte_available_bool"; 241068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian 242afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian /** 243afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian * Flag specifying whether video telephony is available for carrier. If false: hard disabled. 244afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian * If true: then depends on carrier provisioning, availability, etc. 245afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian */ 246afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian public static final String KEY_CARRIER_VT_AVAILABLE_BOOL = "carrier_vt_available_bool"; 247afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian 248afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian /** 249afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian * Flag specifying whether WFC over IMS should be available for carrier: independent of 250afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian * carrier provisioning. If false: hard disabled. If true: then depends on carrier 251afc38fe263c0997385529d72d9211189b3d6d075Zhengyin Qian * provisioning, availability etc. 252068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian */ 253068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian public static final String KEY_CARRIER_WFC_IMS_AVAILABLE_BOOL = "carrier_wfc_ims_available_bool"; 254068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian 255068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian /** 256068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * Flag specifying whether WFC over IMS supports the "wifi only" option. If false, the wifi 257068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * calling settings will not include an option for "wifi only". If true, the wifi calling 258068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * settings will include an option for "wifi only" 259068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * <p> 260068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * By default, it is assumed that WFC supports "wifi only". 261068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian */ 262068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian public static final String KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL = 263068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian "carrier_wfc_supports_wifi_only_bool"; 264068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian 265068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian /** 266068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * Default WFC_IMS_mode 0: WIFI_ONLY 267068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * 1: CELLULAR_PREFERRED 268068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * 2: WIFI_PREFERRED 269068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * @hide 270068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian */ 271068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian public static final String KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT = 272068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian "carrier_default_wfc_ims_mode_int"; 273068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian /** 274068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * Default WFC_IMS_enabled: true VoWiFi by default is on 275068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * false VoWiFi by default is off 276068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * @hide 277068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian */ 278068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian public static final String KEY_CARRIER_DEFAULT_WFC_IMS_ENABLED_BOOL = 279068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian "carrier_default_wfc_ims_enabled_bool"; 280068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian 281068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian /** 282068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * Default WFC_IMS_roaming_enabled: true VoWiFi roaming by default is on 283068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * false VoWiFi roaming by default is off 284068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * @hide 285068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian */ 286068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian public static final String KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_ENABLED_BOOL = 287068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian "carrier_default_wfc_ims_roaming_enabled_bool"; 288068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian 289068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian /** 2901d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * Flag indicating whether failed calls due to no service should prompt the user to enable 291068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * WIFI calling. When {@code true}, if the user attempts to establish a call when there is no 292068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * service available, they are connected to WIFI, and WIFI calling is disabled, a different 293068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * call failure message will be used to encourage the user to enable WIFI calling. 294068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian * @hide 295068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian */ 296068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian public static final String KEY_CARRIER_PROMOTE_WFC_ON_CALL_FAIL_BOOL = 297068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian "carrier_promote_wfc_on_call_fail_bool"; 298068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian 299068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian /** Flag specifying whether provisioning is required for VOLTE. */ 300068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian public static final String KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL 301068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian = "carrier_volte_provisioning_required_bool"; 302068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian 303068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian /** Flag specifying whether VoLTE TTY is supported. */ 304068ecc731ec96f1fd1a0819dfed642c510ea69bcZhengyin Qian public static final String KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL 305efd7e27569b69ed854ed75fca40fc638e3c0268bFelipe Leme = "carrier_volte_tty_supported_bool"; 3061d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme 3071d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme /** 30871a74ac75c8687195d27642fa0db31a796102c59Felipe Leme * Flag specifying whether IMS service can be turned off. If false then the service will not be 30971a74ac75c8687195d27642fa0db31a796102c59Felipe Leme * turned-off completely, but individual features can be disabled. 310bbaf3c11c4723be0f6b56ef603e11b0baaa92429Felipe Leme */ 31114e034a02ec34b2c76afb06975bdfc943a9b5607Felipe Leme public static final String KEY_CARRIER_ALLOW_TURNOFF_IMS_BOOL 31214e034a02ec34b2c76afb06975bdfc943a9b5607Felipe Leme = "carrier_allow_turnoff_ims_bool"; 31314e034a02ec34b2c76afb06975bdfc943a9b5607Felipe Leme 31414e034a02ec34b2c76afb06975bdfc943a9b5607Felipe Leme /** 31571a74ac75c8687195d27642fa0db31a796102c59Felipe Leme * Flag specifying whether Generic Bootstrapping Architecture capable SIM is required for IMS. 31671a74ac75c8687195d27642fa0db31a796102c59Felipe Leme */ 31771a74ac75c8687195d27642fa0db31a796102c59Felipe Leme public static final String KEY_CARRIER_IMS_GBA_REQUIRED_BOOL 31871a74ac75c8687195d27642fa0db31a796102c59Felipe Leme = "carrier_ims_gba_required_bool"; 31971a74ac75c8687195d27642fa0db31a796102c59Felipe Leme 32071a74ac75c8687195d27642fa0db31a796102c59Felipe Leme /** 32171a74ac75c8687195d27642fa0db31a796102c59Felipe Leme * Flag specifying whether IMS instant lettering is available for the carrier. {@code True} if 32271a74ac75c8687195d27642fa0db31a796102c59Felipe Leme * instant lettering is available for the carrier, {@code false} otherwise. 32371a74ac75c8687195d27642fa0db31a796102c59Felipe Leme */ 32471a74ac75c8687195d27642fa0db31a796102c59Felipe Leme public static final String KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL = 32514e034a02ec34b2c76afb06975bdfc943a9b5607Felipe Leme "carrier_instant_lettering_available_bool"; 32614e034a02ec34b2c76afb06975bdfc943a9b5607Felipe Leme 327b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme /* 32830dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme * Flag specifying whether IMS should be the first phone attempted for E911 even if the 32914e034a02ec34b2c76afb06975bdfc943a9b5607Felipe Leme * phone is not in service. 330c7fe8fe5b525a1a071af92f3ebbeef2f6d4b06afFelipe Leme */ 33130dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme public static final String KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL 33230dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme = "carrier_use_ims_first_for_emergency_bool"; 333b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme 33430dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme /** 33530dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme * When IMS instant lettering is available for a carrier (see 33614e034a02ec34b2c76afb06975bdfc943a9b5607Felipe Leme * {@link #KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL}), determines the list of characters 3371d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * which may not be contained in messages. Should be specified as a regular expression suitable 33814e034a02ec34b2c76afb06975bdfc943a9b5607Felipe Leme * for use with {@link String#matches(String)}. 33971a74ac75c8687195d27642fa0db31a796102c59Felipe Leme */ 34014e034a02ec34b2c76afb06975bdfc943a9b5607Felipe Leme public static final String KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING = 34114e034a02ec34b2c76afb06975bdfc943a9b5607Felipe Leme "carrier_instant_lettering_invalid_chars_string"; 34214e034a02ec34b2c76afb06975bdfc943a9b5607Felipe Leme 34371a74ac75c8687195d27642fa0db31a796102c59Felipe Leme /** 34471a74ac75c8687195d27642fa0db31a796102c59Felipe Leme * When IMS instant lettering is available for a carrier (see 34571a74ac75c8687195d27642fa0db31a796102c59Felipe Leme * {@link #KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL}), determines a list of characters which 346efd7e27569b69ed854ed75fca40fc638e3c0268bFelipe Leme * must be escaped with a backslash '\' character. Should be specified as a string containing 347f029297f673ae06d219bd727a318a48b885db6fdFelipe Leme * the characters to be escaped. For example to escape quote and backslash the string would be 348341938b446576ebf60865d8b6e5e6175f47766d0Wei Liu * a quote and a backslash. 349341938b446576ebf60865d8b6e5e6175f47766d0Wei Liu */ 350341938b446576ebf60865d8b6e5e6175f47766d0Wei Liu public static final String KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING = 3511d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme "carrier_instant_lettering_escaped_chars_string"; 3521d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme 3531d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme /** 354341938b446576ebf60865d8b6e5e6175f47766d0Wei Liu * When IMS instant lettering is available for a carrier (see 355341938b446576ebf60865d8b6e5e6175f47766d0Wei Liu * {@link #KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL}), determines the character encoding 356f0e78d4391fd5cea487af116106a7887720b950eWei Liu * which will be used when determining the length of messages. Used in the InCall UI to limit 357f0e78d4391fd5cea487af116106a7887720b950eWei Liu * the number of characters the user may type. If empty-string, the instant lettering 358f0e78d4391fd5cea487af116106a7887720b950eWei Liu * message size limit will be enforced on a 1:1 basis. That is, each character will count 359f0e78d4391fd5cea487af116106a7887720b950eWei Liu * towards the messages size limit as a single bye. If a character encoding is specified, the 360f0e78d4391fd5cea487af116106a7887720b950eWei Liu * message size limit will be based on the number of bytes in the message per the specified 361f0e78d4391fd5cea487af116106a7887720b950eWei Liu * encoding. 362f0e78d4391fd5cea487af116106a7887720b950eWei Liu */ 36330dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme public static final String KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING = 3641d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme "carrier_instant_lettering_encoding_string"; 3651d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme 366b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme /** 367341938b446576ebf60865d8b6e5e6175f47766d0Wei Liu * When IMS instant lettering is available for a carrier (see 368341938b446576ebf60865d8b6e5e6175f47766d0Wei Liu * {@link #KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL}), the length limit for messages. Used 369341938b446576ebf60865d8b6e5e6175f47766d0Wei Liu * in the InCall UI to ensure the user cannot enter more characters than allowed by the carrier. 3701d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * See also {@link #KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING} for more information on how 3711d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * the length of the message is calculated. 3721d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme */ 373341938b446576ebf60865d8b6e5e6175f47766d0Wei Liu public static final String KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT = 3741d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme "carrier_instant_lettering_length_limit_int"; 3751d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme 376341938b446576ebf60865d8b6e5e6175f47766d0Wei Liu /** 377341938b446576ebf60865d8b6e5e6175f47766d0Wei Liu * If Voice Radio Technology is RIL_RADIO_TECHNOLOGY_LTE:14 or RIL_RADIO_TECHNOLOGY_UNKNOWN:0 378341938b446576ebf60865d8b6e5e6175f47766d0Wei Liu * this is the value that should be used instead. A configuration value of 379341938b446576ebf60865d8b6e5e6175f47766d0Wei Liu * RIL_RADIO_TECHNOLOGY_UNKNOWN:0 means there is no replacement value and that the default 380058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * assumption for phone type (GSM) should be used. 381058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla */ 382058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla public static final String KEY_VOLTE_REPLACEMENT_RAT_INT = "volte_replacement_rat_int"; 383058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla 384058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla /** 385058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * The default sim call manager to use when the default dialer doesn't implement one. A sim call 386058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * manager can control and route outgoing and incoming phone calls, even if they're placed 387058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * using another connection service (PSTN, for example). 388058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla */ 389058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla public static final String KEY_DEFAULT_SIM_CALL_MANAGER_STRING = "default_sim_call_manager_string"; 390058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla 391058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla /** 392058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * The default flag specifying whether ETWS/CMAS test setting is forcibly disabled in 393058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * Settings->More->Emergency broadcasts menu even though developer options is turned on. 394058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla */ 395058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla public static final String KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL = 396058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla "carrier_force_disable_etws_cmas_test_bool"; 397058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla 398058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla /** 399058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * The default flag specifying whether "Turn on Notifications" option will be always shown in 400058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * Settings->More->Emergency broadcasts menu regardless developer options is turned on or not. 401058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla */ 402058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla public static final String KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL = 403058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla "always_show_emergency_alert_onoff_bool"; 404058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla 405058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla /** 406058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * The data call APN retry configuration for default type APN. 407058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * @hide 408058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla */ 409058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla public static final String KEY_CARRIER_DATA_CALL_RETRY_CONFIG_DEFAULT_STRING = 410058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla "carrier_data_call_retry_config_default_string"; 411058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla 412058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla /** 413058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * The data call APN retry configuration for other type APNs. 414058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * @hide 415058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla */ 416058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla public static final String KEY_CARRIER_DATA_CALL_RETRY_CONFIG_OTHERS_STRING = 417058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla "carrier_data_call_retry_config_others_string"; 418f029297f673ae06d219bd727a318a48b885db6fdFelipe Leme 419058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla /** 420058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * Delay between trying APN from the pool 421058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * @hide 422058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla */ 423058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla public static final String KEY_CARRIER_DATA_CALL_APN_DELAY_DEFAULT_LONG = 424058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla "carrier_data_call_apn_delay_default_long"; 425058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla 426058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla /** 427058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * Faster delay between trying APN from the pool 428058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * @hide 429058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla */ 430058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla public static final String KEY_CARRIER_DATA_CALL_APN_DELAY_FASTER_LONG = 431058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla "carrier_data_call_apn_delay_faster_long"; 432058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla 433058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla /** 4346ca7d0879ce405634f79607fba2bb8c69dee0e82Ecco Park * Default APN types that are metered by the carrier 4356ca7d0879ce405634f79607fba2bb8c69dee0e82Ecco Park * @hide 4366ca7d0879ce405634f79607fba2bb8c69dee0e82Ecco Park */ 4376ca7d0879ce405634f79607fba2bb8c69dee0e82Ecco Park public static final String KEY_CARRIER_METERED_APN_TYPES_STRINGS = 4386ca7d0879ce405634f79607fba2bb8c69dee0e82Ecco Park "carrier_metered_apn_types_strings"; 4396ca7d0879ce405634f79607fba2bb8c69dee0e82Ecco Park /** 440058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * Default APN types that are roamig-metered by the carrier 4416ca7d0879ce405634f79607fba2bb8c69dee0e82Ecco Park * @hide 442058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla */ 4436ca7d0879ce405634f79607fba2bb8c69dee0e82Ecco Park public static final String KEY_CARRIER_METERED_ROAMING_APN_TYPES_STRINGS = 444058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla "carrier_metered_roaming_apn_types_strings"; 445058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla /** 446058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * CDMA carrier ERI (Enhanced Roaming Indicator) file name 447058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * @hide 448058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla */ 449058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla public static final String KEY_CARRIER_ERI_FILE_NAME_STRING = 450058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla "carrier_eri_file_name_string"; 451058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla 452058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla /* The following 3 fields are related to carrier visual voicemail. */ 453058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla 454058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla /** 455058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * The carrier number mobile outgoing (MO) sms messages are sent to. 456b77df78ad67299d2478f0d4515a167891ab55784Naveen Kalla */ 457b77df78ad67299d2478f0d4515a167891ab55784Naveen Kalla public static final String KEY_VVM_DESTINATION_NUMBER_STRING = "vvm_destination_number_string"; 458b77df78ad67299d2478f0d4515a167891ab55784Naveen Kalla 459058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla /** 460058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla * The port through which the mobile outgoing (MO) sms messages are sent through. 461058e1e8ce51327e00636d3b0008671dc09c20259Naveen Kalla */ 462326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn public static final String KEY_VVM_PORT_NUMBER_INT = "vvm_port_number_int"; 463326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn 464326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn /** 465326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * The type of visual voicemail protocol the carrier adheres to. See {@link TelephonyManager} 466326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * for possible values. For example {@link TelephonyManager#VVM_TYPE_OMTP}. 467326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn */ 468326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn public static final String KEY_VVM_TYPE_STRING = "vvm_type_string"; 469326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn 470326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn /** 4714c2d66379753e2b7680811726424026b9e54b18aFelipe Leme * Whether cellular data is required to access visual voicemail. 472e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme */ 473e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme public static final String KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL = 474e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme "vvm_cellular_data_required_bool"; 475326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn 4768f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn /** 477326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * Whether to prefetch audio data on new voicemail arrival, defaulted to true. 47801d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 47901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_VVM_PREFETCH_BOOL = "vvm_prefetch_bool"; 48001d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 48101d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 48201d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * The package name of the carrier's visual voicemail app to ensure that dialer visual voicemail 48301d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * and carrier visual voicemail are not active at the same time. 48401d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 48501d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_CARRIER_VVM_PACKAGE_NAME_STRING = "carrier_vvm_package_name_string"; 48601d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 48701d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 48801d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Flag specifying whether ICCID is showed in SIM Status screen, default to false. 48901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 49001d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL = "show_iccid_in_sim_status_bool"; 49101d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 49201d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 49301d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Flag specifying whether an additional (client initiated) intent needs to be sent on System 49401d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * update 49501d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 49601d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_CI_ACTION_ON_SYS_UPDATE_BOOL = "ci_action_on_sys_update_bool"; 49701d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 49801d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 49901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Intent to be sent for the additional action on System update 50001d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 50101d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING = 50201d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn "ci_action_on_sys_update_intent_string"; 50301d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 50401d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 50501d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Extra to be included in the intent sent for additional action on System update 50601d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 50701d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING = 50801d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn "ci_action_on_sys_update_extra_string"; 50901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 51001d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 51101d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Value of extra included in intent sent for additional action on System update 51201d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 51301d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING = 51401d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn "ci_action_on_sys_update_extra_val_string"; 51501d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 51601d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 51701d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Specifies the amount of gap to be added in millis between postdial DTMF tones. When a 51801d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * non-zero value is specified, the UE shall wait for the specified amount of time before it 51901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * sends out successive DTMF tones on the network. 52001d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 52101d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_GSM_DTMF_TONE_DELAY_INT = "gsm_dtmf_tone_delay_int"; 52201d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 52301d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 52401d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Specifies the amount of gap to be added in millis between DTMF tones. When a non-zero value 52501d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * is specified, the UE shall wait for the specified amount of time before it sends out 52601d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * successive DTMF tones on the network. 52701d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 52801d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_IMS_DTMF_TONE_DELAY_INT = "ims_dtmf_tone_delay_int"; 52901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 53001d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 53101d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Specifies the amount of gap to be added in millis between postdial DTMF tones. When a 53201d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * non-zero value is specified, the UE shall wait for the specified amount of time before it 53301d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * sends out successive DTMF tones on the network. 53401d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 53501d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_CDMA_DTMF_TONE_DELAY_INT = "cdma_dtmf_tone_delay_int"; 53601d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 53701d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 53801d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Determines whether conference calls are supported by a carrier. When {@code true}, 53901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * conference calling is supported, {@code false otherwise}. 54001d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 54101d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_SUPPORT_CONFERENCE_CALL_BOOL = "support_conference_call_bool"; 54201d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 54301d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 54401d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Determines whether video conference calls are supported by a carrier. When {@code true}, 54501d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * video calls can be merged into conference calls, {@code false} otherwiwse. 54601d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * <p> 54701d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Note: even if video conference calls are not supported, audio calls may be merged into a 54801d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * conference if {@link #KEY_SUPPORT_CONFERENCE_CALL_BOOL} is {@code true}. 54901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * @hide 55001d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 55101d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_SUPPORT_VIDEO_CONFERENCE_CALL_BOOL = 55201d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn "support_video_conference_call_bool"; 55301d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 55401d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 55501d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Determine whether user can toggle Enhanced 4G LTE Mode in Settings. 55601d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 55701d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool"; 558326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn 55901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 560326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * Determine whether IMS apn can be shown. 561326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn */ 562326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn public static final String KEY_HIDE_IMS_APN_BOOL = "hide_ims_apn_bool"; 563326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn 564326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn /** 565326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * Determine whether preferred network type can be shown. 566326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn */ 567326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn public static final String KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL = "hide_preferred_network_type_bool"; 568326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn 569326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn /** 570326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * Determine whether user can switch Wi-Fi preferred or Cellular preferred in calling preference. 571326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * Some operators support Wi-Fi Calling only, not VoLTE. 572326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * They don't need "Cellular preferred" option. 573326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * In this case, set uneditalbe attribute for preferred preference. 574326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * @hide 575326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn */ 576326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn public static final String KEY_EDITABLE_WFC_MODE_BOOL = "editable_wfc_mode_bool"; 577326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn 578326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn /** 57901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Flag to indicate if Wi-Fi needs to be disabled in ECBM 580326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * @hide 581326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn **/ 582326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn public static final String 583326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn KEY_CONFIG_WIFI_DISABLE_IN_ECBM = "config_wifi_disable_in_ecbm"; 584326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn 585326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn /** 586326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * List operator-specific error codes and indices of corresponding error strings in 587326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * wfcOperatorErrorAlertMessages and wfcOperatorErrorNotificationMessages. 588326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * 589326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * Example: "REG09|0" specifies error code "REG09" and index "0". This index will be 590326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * used to find alert and notification messages in wfcOperatorErrorAlertMessages and 591326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * wfcOperatorErrorNotificationMessages. 592326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * 593d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme * @hide 594326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn */ 595326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn public static final String KEY_WFC_OPERATOR_ERROR_CODES_STRING_ARRAY = 59601d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn "wfc_operator_error_codes_string_array"; 59701d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 59801d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 59901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Indexes of SPN format strings in wfcSpnFormats and wfcDataSpnFormats. 60001d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * @hide 60101d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 60201d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_WFC_SPN_FORMAT_IDX_INT = "wfc_spn_format_idx_int"; 60301d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** @hide */ 60401d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_WFC_DATA_SPN_FORMAT_IDX_INT = "wfc_data_spn_format_idx_int"; 60501d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 60601d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 60701d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * The Component Name of the activity that can setup the emergency addrees for WiFi Calling 60801d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * as per carrier requirement. 60901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * @hide 61001d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 61101d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING = 61201d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn "wfc_emergency_address_carrier_app_string"; 61301d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 61401d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 61501d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Boolean to decide whether to use #KEY_CARRIER_NAME_STRING from CarrierConfig app. 61601d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * @hide 61701d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 61801d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_CARRIER_NAME_OVERRIDE_BOOL = "carrier_name_override_bool"; 61901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 62001d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 62101d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * String to identify carrier name in CarrierConfig app. This string is used only if 62201d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * #KEY_CARRIER_NAME_OVERRIDE_BOOL is true 62301d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * @hide 62401d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 62501d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_CARRIER_NAME_STRING = "carrier_name_string"; 62601d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 62701d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 62801d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * If this is true, the SIM card (through Customer Service Profile EF file) will be able to 62901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * prevent manual operator selection. If false, this SIM setting will be ignored and manual 630d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme * operator selection will always be available. See CPHS4_2.WW6, CPHS B.4.7.1 for more 63101d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * information 632d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme */ 633d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_CSP_ENABLED_BOOL = "csp_enabled_bool"; 63401d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 63501d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn /** 63601d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn * Allow user to add APNs 63701d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn */ 63801d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn public static final String KEY_ALLOW_ADDING_APNS_BOOL = "allow_adding_apns_bool"; 63901d6c3935ace93f208fa3d93802b286e7484cfaeMark Salyzyn 6408f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn /** 641326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * Boolean indicating if intent for emergency call state changes should be broadcast 642326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn * @hide 643326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn */ 6448f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn public static final String KEY_BROADCAST_EMERGENCY_CALL_STATE_CHANGES_BOOL = 6458620bb4118a68721d10c29529dc6978847d08d00Felipe Leme "broadcast_emergency_call_state_changes_bool"; 6466c3d90f89a4313eb449c770db6f05b2819cdd8bbMark Salyzyn 6476c3d90f89a4313eb449c770db6f05b2819cdd8bbMark Salyzyn /** 6488f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn * Cell broadcast additional channels enbled by the carrier 6498f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn * @hide 6508f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn */ 6518f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn public static final String KEY_CARRIER_ADDITIONAL_CBS_CHANNELS_STRINGS = 6522b9b06ca7c54a6d7b6b2188dbd884b445b052d34Felipe Leme "carrier_additional_cbs_channels_strings"; 65396c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Leme 65496c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Leme // These variables are used by the MMS service and exposed through another API, {@link 65596c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Leme // SmsManager}. The variable names and string values are copied from there. 65696c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Leme public static final String KEY_MMS_ALIAS_ENABLED_BOOL = "aliasEnabled"; 65796c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Leme public static final String KEY_MMS_ALLOW_ATTACH_AUDIO_BOOL = "allowAttachAudio"; 65896c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Leme public static final String KEY_MMS_APPEND_TRANSACTION_ID_BOOL = "enabledTransID"; 65996c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Leme public static final String KEY_MMS_GROUP_MMS_ENABLED_BOOL = "enableGroupMms"; 66096c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Leme public static final String KEY_MMS_MMS_DELIVERY_REPORT_ENABLED_BOOL = "enableMMSDeliveryReports"; 661bbaf3c11c4723be0f6b56ef603e11b0baaa92429Felipe Leme public static final String KEY_MMS_MMS_ENABLED_BOOL = "enabledMMS"; 662f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross public static final String KEY_MMS_MMS_READ_REPORT_ENABLED_BOOL = "enableMMSReadReports"; 663d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_MULTIPART_SMS_ENABLED_BOOL = "enableMultipartSMS"; 664d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_NOTIFY_WAP_MMSC_ENABLED_BOOL = "enabledNotifyWapMMSC"; 665d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES_BOOL = "sendMultipartSmsAsSeparateMessages"; 666f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross public static final String KEY_MMS_SHOW_CELL_BROADCAST_APP_LINKS_BOOL = "config_cellBroadcastAppLinks"; 667d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_SMS_DELIVERY_REPORT_ENABLED_BOOL = "enableSMSDeliveryReports"; 668d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_SUPPORT_HTTP_CHARSET_HEADER_BOOL = "supportHttpCharsetHeader"; 66996c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Leme public static final String KEY_MMS_SUPPORT_MMS_CONTENT_DISPOSITION_BOOL = "supportMmsContentDisposition"; 670d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_ALIAS_MAX_CHARS_INT = "aliasMaxChars"; 671d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_ALIAS_MIN_CHARS_INT = "aliasMinChars"; 672d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_HTTP_SOCKET_TIMEOUT_INT = "httpSocketTimeout"; 673d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_MAX_IMAGE_HEIGHT_INT = "maxImageHeight"; 674f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross public static final String KEY_MMS_MAX_IMAGE_WIDTH_INT = "maxImageWidth"; 675d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_MAX_MESSAGE_SIZE_INT = "maxMessageSize"; 676f029297f673ae06d219bd727a318a48b885db6fdFelipe Leme public static final String KEY_MMS_MESSAGE_TEXT_MAX_SIZE_INT = "maxMessageTextSize"; 677d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_RECIPIENT_LIMIT_INT = "recipientLimit"; 678d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD_INT = "smsToMmsTextLengthThreshold"; 679d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_SMS_TO_MMS_TEXT_THRESHOLD_INT = "smsToMmsTextThreshold"; 680d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_SUBJECT_MAX_LENGTH_INT = "maxSubjectLength"; 681d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme public static final String KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING = "emailGatewayNumber"; 68278f2c86235d5882a8dc84c85a1c1864062e5f3afFelipe Leme public static final String KEY_MMS_HTTP_PARAMS_STRING = "httpParams"; 68378f2c86235d5882a8dc84c85a1c1864062e5f3afFelipe Leme public static final String KEY_MMS_NAI_SUFFIX_STRING = "naiSuffix"; 68424b66eed1acd08a975546b57198940f4de9250ebFelipe Leme public static final String KEY_MMS_UA_PROF_TAG_NAME_STRING = "uaProfTagName"; 68524b66eed1acd08a975546b57198940f4de9250ebFelipe Leme public static final String KEY_MMS_UA_PROF_URL_STRING = "uaProfUrl"; 68624b66eed1acd08a975546b57198940f4de9250ebFelipe Leme public static final String KEY_MMS_USER_AGENT_STRING = "userAgent"; 68724b66eed1acd08a975546b57198940f4de9250ebFelipe Leme 68824b66eed1acd08a975546b57198940f4de9250ebFelipe Leme /** 68924b66eed1acd08a975546b57198940f4de9250ebFelipe Leme * If carriers require differentiate un-provisioned status: cold sim or out of credit sim 69024b66eed1acd08a975546b57198940f4de9250ebFelipe Leme * a package name and activity name can be provided to launch a supported carrier application 69124b66eed1acd08a975546b57198940f4de9250ebFelipe Leme * that check the sim provisioning status 6921d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * The first element is the package name and the second element is the activity name 6931d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * of the provisioning app 6941d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * example: 6951d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * <item>com.google.android.carrierPackageName</item> 696111b9d06cc0fc72438782c9234f28675e5077ef4Felipe Leme * <item>com.google.android.carrierPackageName.CarrierActivityName</item> 697111b9d06cc0fc72438782c9234f28675e5077ef4Felipe Leme * The ComponentName of the carrier activity that can setup the device and activate with the 69824b66eed1acd08a975546b57198940f4de9250ebFelipe Leme * network as part of the Setup Wizard flow. 69924b66eed1acd08a975546b57198940f4de9250ebFelipe Leme * @hide 70024b66eed1acd08a975546b57198940f4de9250ebFelipe Leme */ 70124b66eed1acd08a975546b57198940f4de9250ebFelipe Leme public static final String KEY_CARRIER_SETUP_APP_STRING = "carrier_setup_app_string"; 70224b66eed1acd08a975546b57198940f4de9250ebFelipe Leme 70324b66eed1acd08a975546b57198940f4de9250ebFelipe Leme /** 70424b66eed1acd08a975546b57198940f4de9250ebFelipe Leme * A list of component name of carrier signalling receivers which are interested in intent 70524b66eed1acd08a975546b57198940f4de9250ebFelipe Leme * android.intent.action.CARRIER_SIGNAL_REDIRECTED. 70624b66eed1acd08a975546b57198940f4de9250ebFelipe Leme * Example: 70724b66eed1acd08a975546b57198940f4de9250ebFelipe Leme * <item>com.google.android.carrierPackageName/.CarrierSignalReceiverNameA</item> 70824b66eed1acd08a975546b57198940f4de9250ebFelipe Leme * <item>com.google.android.carrierPackageName/.CarrierSignalReceiverNameB</item> 70924b66eed1acd08a975546b57198940f4de9250ebFelipe Leme * @hide 71024b66eed1acd08a975546b57198940f4de9250ebFelipe Leme */ 7116fe9db67f6c92d5fbf87d371da5cca412f672630Felipe Leme public static final String KEY_SIGNAL_REDIRECTION_RECEIVER_STRING_ARRAY = 7126fe9db67f6c92d5fbf87d371da5cca412f672630Felipe Leme "signal_redirection_receiver_string_array"; 713c6bc8bc4f05ad7d20e931944fb5042b578bc2e53Felipe Leme 714c6bc8bc4f05ad7d20e931944fb5042b578bc2e53Felipe Leme /** 7151d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * A list of component name of carrier signalling receivers which are interested in intent 716c6bc8bc4f05ad7d20e931944fb5042b578bc2e53Felipe Leme * android.intent.action.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED. 7171d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * Example: 718e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * <item>com.google.android.carrierPackageName/.CarrierSignalReceiverNameA</item> 719e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * <item>com.google.android.carrierPackageName/.CarrierSignalReceiverNameB</item> 720e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * @hide 721770410dcf2f72cf4e806442263e63719a0be0f5aFelipe Leme */ 722e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme public static final String KEY_SIGNAL_DCFAILURE_RECEIVER_STRING_ARRAY = 72322200401c000c556ff7ed6d100d4f57e18ebb24fZach Riggle "signal_dcfailure_receiver_string_array"; 7246e01fa6f95fb20a2faab33561056d2e74cc097cbFelipe Leme 7256e01fa6f95fb20a2faab33561056d2e74cc097cbFelipe Leme /** 7266e01fa6f95fb20a2faab33561056d2e74cc097cbFelipe Leme * A list of component name of carrier signalling receivers which are interested in intent 727cbce55d4fdbdd2e5a5515054c48d2116c5db2712Felipe Leme * android.intent.action.CARRIER_SIGNAL_PCO_VALUE. 728e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * Example: 729e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * <item>com.google.android.carrierPackageName/.CarrierSignalReceiverNameA</item> 730c6bc8bc4f05ad7d20e931944fb5042b578bc2e53Felipe Leme * <item>com.google.android.carrierPackageName/.CarrierSignalReceiverNameB</item> 731e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * @hide 732c6bc8bc4f05ad7d20e931944fb5042b578bc2e53Felipe Leme */ 733e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme public static final String KEY_SIGNAL_PCO_RECEIVER_STRING_ARRAY = 734e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme "signal_pco_receiver_string_array"; 735e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme 736e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme /** 737c6bc8bc4f05ad7d20e931944fb5042b578bc2e53Felipe Leme * Determines whether the carrier supports making non-emergency phone calls while the phone is 7381d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * in emergency callback mode. Default value is {@code true}, meaning that non-emergency calls 739c6bc8bc4f05ad7d20e931944fb5042b578bc2e53Felipe Leme * are allowed in emergency callback mode. 740e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme */ 741e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme public static final String KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL = 742e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme "allow_non_emergency_calls_in_ecm_bool"; 743e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme 744e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme /** 745e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * Flag indicating whether to allow carrier video calls to emergency numbers. 7461d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * When {@code true}, video calls to emergency numbers will be allowed. When {@code false}, 7471d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * video calls to emergency numbers will be initiated as audio-only calls instead. 7481d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme */ 749aff684300a3b7d6984d3b3c1efddb810cd0205e7Andreas Gampe public static final String KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL = 750cbce55d4fdbdd2e5a5515054c48d2116c5db2712Felipe Leme "allow_emergency_video_calls_bool"; 751e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme 752e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme /** 753e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * Flag indicating whether the carrier supports RCS presence indication for video calls. When 7541d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * {@code true}, the carrier supports RCS presence indication for video calls. When presence 755e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * is supported, the device should use the 756e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * {@link android.provider.ContactsContract.Data#CARRIER_PRESENCE} bit mask and set the 757e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * {@link android.provider.ContactsContract.Data#CARRIER_PRESENCE_VT_CAPABLE} bit to indicate 7584c2d66379753e2b7680811726424026b9e54b18aFelipe Leme * whether each contact supports video calling. The UI is made aware that presence is enabled 7591d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * via {@link android.telecom.PhoneAccount#CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE} 760e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * and can choose to hide or show the video calling icon based on whether a contact supports 761e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * video. 7621d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme */ 7631d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme public static final String KEY_USE_RCS_PRESENCE_BOOL = "use_rcs_presence_bool"; 7641d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme 765111b9d06cc0fc72438782c9234f28675e5077ef4Felipe Leme /** 766111b9d06cc0fc72438782c9234f28675e5077ef4Felipe Leme * The duration in seconds that platform call and message blocking is disabled after the user 767678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme * contacts emergency services. Platform considers values in the range 0 to 604800 (one week) as 76846b85da716a32f285fe1222e9978beacc8697d09Felipe Leme * valid. See {@link android.provider.BlockedNumberContract#isBlocked(Context, String)}). 769678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme */ 770e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme public static final String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = 771e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme "duration_blocking_disabled_after_emergency_int"; 7721d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme 7731d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme /** 7741d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * @hide 7751d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * The default value for preferred CDMA roaming mode (aka CDMA system select.) 776111b9d06cc0fc72438782c9234f28675e5077ef4Felipe Leme * CDMA_ROAMING_MODE_RADIO_DEFAULT = the default roaming mode from the radio 777111b9d06cc0fc72438782c9234f28675e5077ef4Felipe Leme * CDMA_ROAMING_MODE_HOME = Home Networks 778cbce55d4fdbdd2e5a5515054c48d2116c5db2712Felipe Leme * CDMA_ROAMING_MODE_AFFILIATED = Roaming on Affiliated networks 779c6bc8bc4f05ad7d20e931944fb5042b578bc2e53Felipe Leme * CDMA_ROAMING_MODE_ANY = Roaming on any networks 7801d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme */ 781c6bc8bc4f05ad7d20e931944fb5042b578bc2e53Felipe Leme public static final String KEY_CDMA_ROAMING_MODE_INT = "cdma_roaming_mode_int"; 7821d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme /** @hide */ 783809d74e92c16cf694c929b8ca2b54515af13e9feFelipe Leme public static final int CDMA_ROAMING_MODE_RADIO_DEFAULT = -1; 784809d74e92c16cf694c929b8ca2b54515af13e9feFelipe Leme /** @hide */ 785809d74e92c16cf694c929b8ca2b54515af13e9feFelipe Leme public static final int CDMA_ROAMING_MODE_HOME = 0; 786c6bc8bc4f05ad7d20e931944fb5042b578bc2e53Felipe Leme /** @hide */ 7871d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme public static final int CDMA_ROAMING_MODE_AFFILIATED = 1; 788c6bc8bc4f05ad7d20e931944fb5042b578bc2e53Felipe Leme /** @hide */ 7891d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme public static final int CDMA_ROAMING_MODE_ANY = 2; 790809d74e92c16cf694c929b8ca2b54515af13e9feFelipe Leme 791809d74e92c16cf694c929b8ca2b54515af13e9feFelipe Leme /** 792809d74e92c16cf694c929b8ca2b54515af13e9feFelipe Leme * The families of Radio Access Technologies that will get clustered and ratcheted, 793c6bc8bc4f05ad7d20e931944fb5042b578bc2e53Felipe Leme * ie, we will report transitions up within the family, but not down until we change 7941d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * cells. This prevents flapping between base technologies and higher techs that are 795c6bc8bc4f05ad7d20e931944fb5042b578bc2e53Felipe Leme * granted on demand within the cell. 796809d74e92c16cf694c929b8ca2b54515af13e9feFelipe Leme * @hide 797809d74e92c16cf694c929b8ca2b54515af13e9feFelipe Leme */ 798809d74e92c16cf694c929b8ca2b54515af13e9feFelipe Leme public static final String KEY_RATCHET_RAT_FAMILIES = 799809d74e92c16cf694c929b8ca2b54515af13e9feFelipe Leme "ratchet_rat_families"; 800809d74e92c16cf694c929b8ca2b54515af13e9feFelipe Leme 801809d74e92c16cf694c929b8ca2b54515af13e9feFelipe Leme /** 8026ec6ac46c457fb54752c7044647e77b4008ed2cfFelipe Leme * Flag indicating whether some telephony logic will treat a call which was formerly a video 803e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme * call as if it is still a video call. When {@code true}: 8042a83daa8a3e1eab292dc1464bbe78f025f4bc0e9Todd Poynor * <p> 8052a83daa8a3e1eab292dc1464bbe78f025f4bc0e9Todd Poynor * Logic which will automatically drop a video call which takes place over WIFI when a 806b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * voice call is answered (see {@link #KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL}. 8077d0a762ecaf9f4d005f0f6db913034c2e084d362Mark Salyzyn * <p> 808b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * Logic which determines whether the user can use TTY calling. 8092a83daa8a3e1eab292dc1464bbe78f025f4bc0e9Todd Poynor */ 8102a83daa8a3e1eab292dc1464bbe78f025f4bc0e9Todd Poynor public static final String KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL = 811b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme "treat_downgraded_video_calls_as_video_calls_bool"; 8122a83daa8a3e1eab292dc1464bbe78f025f4bc0e9Todd Poynor 8136ec6ac46c457fb54752c7044647e77b4008ed2cfFelipe Leme /** 8146ec6ac46c457fb54752c7044647e77b4008ed2cfFelipe Leme * When {@code true}, if the user is in an ongoing video call over WIFI and answers an incoming 8156ec6ac46c457fb54752c7044647e77b4008ed2cfFelipe Leme * audio call, the video call will be disconnected before the audio call is answered. This is 8166ec6ac46c457fb54752c7044647e77b4008ed2cfFelipe Leme * in contrast to the usual expected behavior where a foreground video call would be put into 817b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * the background and held when an incoming audio call is answered. 8188f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn */ 8198f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn public static final String KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL = 8208f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn "drop_video_call_when_answering_audio_call_bool"; 8218f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn 8228f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn /** 823ae7376516dd9f57137408f11e5fdcc53a15d4d8bTony Mak * Flag indicating whether the carrier supports merging wifi calls when VoWIFI is disabled. 824ae7376516dd9f57137408f11e5fdcc53a15d4d8bTony Mak * This can happen in the case of a carrier which allows offloading video calls to WIFI 825ae7376516dd9f57137408f11e5fdcc53a15d4d8bTony Mak * separately of whether voice over wifi is enabled. In such a scenario when two video calls 82630dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme * are downgraded to voice, they remain over wifi. However, if VoWIFI is disabled, these calls 82743afe5d0b537999d5de9613626eca24f34cc52efMark Salyzyn * cannot be merged. 8288f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn */ 8298f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn public static final String KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL = 8308f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn "allow_merge_wifi_calls_when_vowifi_off_bool"; 831b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme 832ae7376516dd9f57137408f11e5fdcc53a15d4d8bTony Mak /** 833ae7376516dd9f57137408f11e5fdcc53a15d4d8bTony Mak * When true, indicates that adding a call is disabled when there is an ongoing video call 83430dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme * or when there is an ongoing call on wifi which was downgraded from video and VoWifi is 8358f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn * turned off. 8368f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn */ 8378f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn public static final String KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL = 8388f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn "allow_add_call_during_video_call"; 839b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme 840ae7376516dd9f57137408f11e5fdcc53a15d4d8bTony Mak /** 841ae7376516dd9f57137408f11e5fdcc53a15d4d8bTony Mak * Defines operator-specific {@link com.android.ims.ImsReasonInfo} mappings. 84230dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme * 843f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * Format: "ORIGINAL_CODE|MESSAGE|NEW_CODE" 844b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * Where {@code ORIGINAL_CODE} corresponds to a {@link ImsReasonInfo#getCode()} code, 845ecc0763e6c96c418ea4ee6c993d58d16a58407b3Mark Salyzyn * {@code MESSAGE} corresponds to an expected {@link ImsReasonInfo#getExtraMessage()} string, 8466ec6ac46c457fb54752c7044647e77b4008ed2cfFelipe Leme * and {@code NEW_CODE} is the new {@code ImsReasonInfo#CODE_*} which this combination of 8476ec6ac46c457fb54752c7044647e77b4008ed2cfFelipe Leme * original code and message shall be remapped to. 848ae7376516dd9f57137408f11e5fdcc53a15d4d8bTony Mak * 849ae7376516dd9f57137408f11e5fdcc53a15d4d8bTony Mak * Example: "501|call completion elsewhere|1014" 8506ec6ac46c457fb54752c7044647e77b4008ed2cfFelipe Leme * When the {@link ImsReasonInfo#getCode()} is {@link ImsReasonInfo#CODE_USER_TERMINATED} and 8516ec6ac46c457fb54752c7044647e77b4008ed2cfFelipe Leme * the {@link ImsReasonInfo#getExtraMessage()} is {@code "call completion elsewhere"}, 8526ec6ac46c457fb54752c7044647e77b4008ed2cfFelipe Leme * {@link ImsReasonInfo#CODE_ANSWERED_ELSEWHERE} shall be used as the {@link ImsReasonInfo} 853b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * code instead. 854b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * @hide 85532af8c2aefd9a31e851c8f17168f19afcb5efb18Erik Kline */ 856c0808155fd10d2d5c49bb4c8d4cafed8da28c182Felipe Leme public static final String KEY_IMS_REASONINFO_MAPPING_STRING_ARRAY = 85732af8c2aefd9a31e851c8f17168f19afcb5efb18Erik Kline "ims_reasoninfo_mapping_string_array"; 85832af8c2aefd9a31e851c8f17168f19afcb5efb18Erik Kline 85932af8c2aefd9a31e851c8f17168f19afcb5efb18Erik Kline /** The default value for every variable. */ 86032af8c2aefd9a31e851c8f17168f19afcb5efb18Erik Kline private final static PersistableBundle sDefaults; 861c0808155fd10d2d5c49bb4c8d4cafed8da28c182Felipe Leme 862c0808155fd10d2d5c49bb4c8d4cafed8da28c182Felipe Leme static { 863e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults = new PersistableBundle(); 864e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_ADDITIONAL_CALL_SETTING_BOOL, true); 865e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL, false); 866e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_ALLOW_LOCAL_DTMF_TONES_BOOL, true); 867e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_APN_EXPAND_BOOL, true); 868e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_AUTO_RETRY_ENABLED_BOOL, false); 869e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_SETTINGS_ENABLE_BOOL, false); 870e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_VOLTE_AVAILABLE_BOOL, false); 871e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_VT_AVAILABLE_BOOL, false); 872e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_WFC_IMS_AVAILABLE_BOOL, false); 873e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL, false); 874e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_DEFAULT_WFC_IMS_ENABLED_BOOL, false); 875e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_ENABLED_BOOL, false); 876e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_PROMOTE_WFC_ON_CALL_FAIL_BOOL, false); 877e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putInt(KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT, 2); 878e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL, false); 879e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, false); 880e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL, true); 881e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_ALLOW_TURNOFF_IMS_BOOL, true); 882e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_IMS_GBA_REQUIRED_BOOL, false); 883e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL, false); 884e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL, true); 885e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putString(KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING, ""); 886e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putString(KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING, ""); 887e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putString(KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING, ""); 888e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putInt(KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT, 64); 889e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL, false); 890e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_DTMF_TYPE_ENABLED_BOOL, false); 891e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL, true); 892e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_HAS_IN_CALL_NOISE_SUPPRESSION_BOOL, false); 893e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL, false); 894e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_HIDE_SIM_LOCK_SETTINGS_BOOL, false); 895d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme sDefaults.putBoolean(KEY_IGNORE_SIM_NETWORK_LOCKED_EVENTS_BOOL, false); 896e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_OPERATOR_SELECTION_EXPAND_BOOL, true); 897e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_PREFER_2G_BOOL, true); 898e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_SHOW_APN_SETTING_CDMA_BOOL, false); 899e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_SHOW_CDMA_CHOICES_BOOL, false); 900d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme sDefaults.putBoolean(KEY_SHOW_ONSCREEN_DIAL_BUTTON_BOOL, true); 901d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme sDefaults.putBoolean(KEY_SIM_NETWORK_UNLOCK_ALLOW_DISMISS_BOOL, true); 902e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL, false); 903e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL, true); 904e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_USE_HFA_FOR_PROVISIONING_BOOL, false); 905e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_USE_OTASP_FOR_PROVISIONING_BOOL, false); 906e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL, false); 907e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_VOICE_PRIVACY_DISABLE_UI_BOOL, false); 908e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_WORLD_PHONE_BOOL, false); 909e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL, true); 910e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putInt(KEY_VOLTE_REPLACEMENT_RAT_INT, 0); 911e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putString(KEY_DEFAULT_SIM_CALL_MANAGER_STRING, ""); 912e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putString(KEY_VVM_DESTINATION_NUMBER_STRING, ""); 913e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putInt(KEY_VVM_PORT_NUMBER_INT, 0); 914e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putString(KEY_VVM_TYPE_STRING, ""); 915e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL, false); 916e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_VVM_PREFETCH_BOOL, true); 917e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putString(KEY_CARRIER_VVM_PACKAGE_NAME_STRING, ""); 918e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL, false); 919e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CI_ACTION_ON_SYS_UPDATE_BOOL, false); 920e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putString(KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING, ""); 921e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putString(KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING, ""); 922e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putString(KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING, ""); 923e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_CSP_ENABLED_BOOL, false); 924e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_ALLOW_ADDING_APNS_BOOL, true); 925e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_BROADCAST_EMERGENCY_CALL_STATE_CHANGES_BOOL, false); 926e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL, false); 927e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putString(KEY_CARRIER_DATA_CALL_RETRY_CONFIG_DEFAULT_STRING, 928e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme "default_randomization=2000,5000,10000,20000,40000,80000:5000,160000:5000," 929e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme + "320000:5000,640000:5000,1280000:5000,1800000:5000"); 930e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putString(KEY_CARRIER_DATA_CALL_RETRY_CONFIG_OTHERS_STRING, 931e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme "max_retries=3, 5000, 5000, 5000"); 932e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putLong(KEY_CARRIER_DATA_CALL_APN_DELAY_DEFAULT_LONG, 20000); 933e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putLong(KEY_CARRIER_DATA_CALL_APN_DELAY_FASTER_LONG, 3000); 934e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putString(KEY_CARRIER_ERI_FILE_NAME_STRING, "eri.xml"); 935f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross sDefaults.putInt(KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT, 7200); 936f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross sDefaults.putStringArray(KEY_CARRIER_METERED_APN_TYPES_STRINGS, 937f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross new String[]{"default", "mms", "dun", "supl"}); 938e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putStringArray(KEY_CARRIER_METERED_ROAMING_APN_TYPES_STRINGS, 939e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme new String[]{"default", "mms", "dun", "supl"}); 940e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme 941e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putStringArray(KEY_GSM_ROAMING_NETWORKS_STRING_ARRAY, null); 942e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putStringArray(KEY_GSM_NONROAMING_NETWORKS_STRING_ARRAY, null); 943e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putStringArray(KEY_CDMA_ROAMING_NETWORKS_STRING_ARRAY, null); 944bbaf3c11c4723be0f6b56ef603e11b0baaa92429Felipe Leme sDefaults.putStringArray(KEY_CDMA_NONROAMING_NETWORKS_STRING_ARRAY, null); 9459a523aed06ef962f67385ac88191b08dc91059f4Felipe Leme sDefaults.putBoolean(KEY_FORCE_HOME_NETWORK_BOOL, false); 946f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross sDefaults.putInt(KEY_GSM_DTMF_TONE_DELAY_INT, 0); 9472db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg sDefaults.putInt(KEY_IMS_DTMF_TONE_DELAY_INT, 0); 948b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putInt(KEY_CDMA_DTMF_TONE_DELAY_INT, 100); 949326842fca4883f1256aa9ed019bb3206ee76fca7Mark Salyzyn sDefaults.putBoolean(KEY_SUPPORT_CONFERENCE_CALL_BOOL, true); 9508c8130eb68c89987a94db084608a4229bad06c18Mark Salyzyn sDefaults.putBoolean(KEY_SUPPORT_VIDEO_CONFERENCE_CALL_BOOL, false); 951b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putBoolean(KEY_EDITABLE_ENHANCED_4G_LTE_BOOL, true); 952b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putBoolean(KEY_HIDE_IMS_APN_BOOL, false); 95330dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme sDefaults.putBoolean(KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL, false); 954f029297f673ae06d219bd727a318a48b885db6fdFelipe Leme sDefaults.putBoolean(KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL, false); 955b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putBoolean(KEY_EDITABLE_WFC_MODE_BOOL, true); 956b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putStringArray(KEY_WFC_OPERATOR_ERROR_CODES_STRING_ARRAY, null); 957b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putInt(KEY_WFC_SPN_FORMAT_IDX_INT, 0); 958b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putInt(KEY_WFC_DATA_SPN_FORMAT_IDX_INT, 0); 959b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putString(KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING, ""); 960b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putBoolean(KEY_CONFIG_WIFI_DISABLE_IN_ECBM, false); 961b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putBoolean(KEY_CARRIER_NAME_OVERRIDE_BOOL, false); 962b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putString(KEY_CARRIER_NAME_STRING, ""); 963b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme 964b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme // MMS defaults 965b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putBoolean(KEY_MMS_ALIAS_ENABLED_BOOL, false); 966b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putBoolean(KEY_MMS_ALLOW_ATTACH_AUDIO_BOOL, true); 967b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putBoolean(KEY_MMS_APPEND_TRANSACTION_ID_BOOL, false); 96830dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme sDefaults.putBoolean(KEY_MMS_GROUP_MMS_ENABLED_BOOL, true); 969f029297f673ae06d219bd727a318a48b885db6fdFelipe Leme sDefaults.putBoolean(KEY_MMS_MMS_DELIVERY_REPORT_ENABLED_BOOL, false); 970f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross sDefaults.putBoolean(KEY_MMS_MMS_ENABLED_BOOL, true); 97169ec3ac3e761042f0c5e1e708c161d2df3c6db2bAndreas Huber sDefaults.putBoolean(KEY_MMS_MMS_READ_REPORT_ENABLED_BOOL, false); 97269ec3ac3e761042f0c5e1e708c161d2df3c6db2bAndreas Huber sDefaults.putBoolean(KEY_MMS_MULTIPART_SMS_ENABLED_BOOL, true); 97369ec3ac3e761042f0c5e1e708c161d2df3c6db2bAndreas Huber sDefaults.putBoolean(KEY_MMS_NOTIFY_WAP_MMSC_ENABLED_BOOL, false); 97469ec3ac3e761042f0c5e1e708c161d2df3c6db2bAndreas Huber sDefaults.putBoolean(KEY_MMS_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES_BOOL, false); 97569ec3ac3e761042f0c5e1e708c161d2df3c6db2bAndreas Huber sDefaults.putBoolean(KEY_MMS_SHOW_CELL_BROADCAST_APP_LINKS_BOOL, true); 97669ec3ac3e761042f0c5e1e708c161d2df3c6db2bAndreas Huber sDefaults.putBoolean(KEY_MMS_SMS_DELIVERY_REPORT_ENABLED_BOOL, true); 97769ec3ac3e761042f0c5e1e708c161d2df3c6db2bAndreas Huber sDefaults.putBoolean(KEY_MMS_SUPPORT_HTTP_CHARSET_HEADER_BOOL, false); 97869ec3ac3e761042f0c5e1e708c161d2df3c6db2bAndreas Huber sDefaults.putBoolean(KEY_MMS_SUPPORT_MMS_CONTENT_DISPOSITION_BOOL, true); 97969ec3ac3e761042f0c5e1e708c161d2df3c6db2bAndreas Huber sDefaults.putInt(KEY_MMS_ALIAS_MAX_CHARS_INT, 48); 98069ec3ac3e761042f0c5e1e708c161d2df3c6db2bAndreas Huber sDefaults.putInt(KEY_MMS_ALIAS_MIN_CHARS_INT, 2); 98169ec3ac3e761042f0c5e1e708c161d2df3c6db2bAndreas Huber sDefaults.putInt(KEY_MMS_HTTP_SOCKET_TIMEOUT_INT, 60 * 1000); 98269ec3ac3e761042f0c5e1e708c161d2df3c6db2bAndreas Huber sDefaults.putInt(KEY_MMS_MAX_IMAGE_HEIGHT_INT, 480); 98369ec3ac3e761042f0c5e1e708c161d2df3c6db2bAndreas Huber sDefaults.putInt(KEY_MMS_MAX_IMAGE_WIDTH_INT, 640); 98481b429eba542f95877459bf6b860c55f35fea222Steven Moreland sDefaults.putInt(KEY_MMS_MAX_MESSAGE_SIZE_INT, 300 * 1024); 985b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putInt(KEY_MMS_MESSAGE_TEXT_MAX_SIZE_INT, -1); 98621b7c8d618777d6bf684e52b082c23f7e04b0688Elliott Hughes sDefaults.putInt(KEY_MMS_RECIPIENT_LIMIT_INT, Integer.MAX_VALUE); 987e4eca58fe7daa5e2dce7fa2b615c541aef00bc67Felipe Leme sDefaults.putInt(KEY_MMS_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD_INT, -1); 988e4eca58fe7daa5e2dce7fa2b615c541aef00bc67Felipe Leme sDefaults.putInt(KEY_MMS_SMS_TO_MMS_TEXT_THRESHOLD_INT, -1); 989e4eca58fe7daa5e2dce7fa2b615c541aef00bc67Felipe Leme sDefaults.putInt(KEY_MMS_SUBJECT_MAX_LENGTH_INT, 40); 990e4eca58fe7daa5e2dce7fa2b615c541aef00bc67Felipe Leme sDefaults.putString(KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING, ""); 991b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme sDefaults.putString(KEY_MMS_HTTP_PARAMS_STRING, ""); 992e4eca58fe7daa5e2dce7fa2b615c541aef00bc67Felipe Leme sDefaults.putString(KEY_MMS_NAI_SUFFIX_STRING, ""); 9934db754fd7c13993d81d98157f10e8015422d1e3aMichal Karpinski sDefaults.putString(KEY_MMS_UA_PROF_TAG_NAME_STRING, "x-wap-profile"); 994f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross sDefaults.putString(KEY_MMS_UA_PROF_URL_STRING, ""); 995f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross sDefaults.putString(KEY_MMS_USER_AGENT_STRING, ""); 996f029297f673ae06d219bd727a318a48b885db6fdFelipe Leme sDefaults.putBoolean(KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL, true); 9971dc94e315680b47fe430ef90f46c50a25c92fb6dJeff Brown sDefaults.putBoolean(KEY_USE_RCS_PRESENCE_BOOL, false); 9981dc94e315680b47fe430ef90f46c50a25c92fb6dJeff Brown sDefaults.putInt(KEY_CDMA_ROAMING_MODE_INT, CDMA_ROAMING_MODE_RADIO_DEFAULT); 999a297c3258f6f7ea52cc2dcc42d62f85fda12a163Mark Salyzyn 1000f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross // Carrier Signalling Receivers 10012ff8e87d906365a9b786ac6829b901ca2798bb68Ajay Panicker sDefaults.putStringArray(KEY_SIGNAL_REDIRECTION_RECEIVER_STRING_ARRAY, null); 10022ff8e87d906365a9b786ac6829b901ca2798bb68Ajay Panicker sDefaults.putStringArray(KEY_SIGNAL_DCFAILURE_RECEIVER_STRING_ARRAY, null); 1003d886ec496952a19bee202bc3d6f670009c3a0689Ajay Panicker sDefaults.putStringArray(KEY_SIGNAL_PCO_RECEIVER_STRING_ARRAY, null); 10049a523aed06ef962f67385ac88191b08dc91059f4Felipe Leme sDefaults.putString(KEY_CARRIER_SETUP_APP_STRING, ""); 1005cbce55d4fdbdd2e5a5515054c48d2116c5db2712Felipe Leme 1006bbaf3c11c4723be0f6b56ef603e11b0baaa92429Felipe Leme // Rat families: {GPRS, EDGE}, {EVDO, EVDO_A, EVDO_B}, {UMTS, HSPA, HSDPA, HSUPA, HSPAP}, 10075a93003d3f0d1808b6dcd9928041ec62ea7f67adJeff Sharkey // {LTE, LTE_CA} 10085a93003d3f0d1808b6dcd9928041ec62ea7f67adJeff Sharkey // Order is important - lowest precidence first 10096ec6ac46c457fb54752c7044647e77b4008ed2cfFelipe Leme sDefaults.putStringArray(KEY_RATCHET_RAT_FAMILIES, 1010ecc0763e6c96c418ea4ee6c993d58d16a58407b3Mark Salyzyn new String[]{"1,2","7,8,12","3,11,9,10,15","14,19"}); 1011e184f6610284ca80692d7e6789483375a7ca2f39Felipe Leme sDefaults.putBoolean(KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL, false); 1012f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross sDefaults.putBoolean(KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL, false); 10137dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris sDefaults.putBoolean(KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL, true); 10147dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris sDefaults.putBoolean(KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL, true); 10157dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris 1016e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme sDefaults.putStringArray(KEY_IMS_REASONINFO_MAPPING_STRING_ARRAY, null); 1017e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme } 10187dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris 10191d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme /** 10201d486fe3847c831b9d57843cda209ed86853ee21Felipe Leme * Gets the configuration values for a particular subscription, which is associated with a 1021cbce55d4fdbdd2e5a5515054c48d2116c5db2712Felipe Leme * specific SIM card. If an invalid subId is used, the returned config will contain default 1022e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * values. 1023e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * 1024e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * <p>Requires Permission: 1025e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} 1026e82a27d0c1e3f2cef6f13a1a9efff55638601752Felipe Leme * 10277dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris * @param subId the subscription ID, normally obtained from {@link SubscriptionManager}. 10287dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris * @return A {@link PersistableBundle} containing the config for the given subId, or default 10297dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris * values for an invalid subId. 10307dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris */ 1031d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme @Nullable 10327dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris public PersistableBundle getConfigForSubId(int subId) { 10337dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris try { 1034b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme ICarrierConfigLoader loader = getICarrierConfigLoader(); 1035b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme if (loader == null) { 1036b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme Rlog.w(TAG, "Error getting config for subId " + subId 1037b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme + " ICarrierConfigLoader is null"); 1038b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme return null; 1039f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross } 10406ec6ac46c457fb54752c7044647e77b4008ed2cfFelipe Leme return loader.getConfigForSubId(subId); 10412262c16372570f57d3107d574abe2c80825d286eMark Salyzyn } catch (RemoteException ex) { 1042f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross Rlog.e(TAG, "Error getting config for subId " + subId + ": " 1043a59828a5d2740433164872e9a0b44363e2ba0cd4Elliott Hughes + ex.toString()); 1044b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme } 1045d4c3d38957870fa27423dbc55d99d68772fbd490Lorenzo Colitti return null; 1046b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme } 1047b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme 1048d4c3d38957870fa27423dbc55d99d68772fbd490Lorenzo Colitti /** 1049b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * Gets the configuration values for the default subscription. 1050b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * 10512b3bba34aec65b612be8d1f52cd124d9c30955f9Sreeram Ramachandran * <p>Requires Permission: 10522b3bba34aec65b612be8d1f52cd124d9c30955f9Sreeram Ramachandran * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} 10532b3bba34aec65b612be8d1f52cd124d9c30955f9Sreeram Ramachandran * 1054b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * @see #getConfigForSubId 1055b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme */ 1056b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme @Nullable 1057b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme public PersistableBundle getConfig() { 105830dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme return getConfigForSubId(SubscriptionManager.getDefaultSubscriptionId()); 1059f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross } 1060b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme 106130dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme /** 10626afc38c45af45eb8f64793bca2903b3f4c55579bLorenzo Colitti * Calling this method triggers telephony services to fetch the current carrier configuration. 106323ccc625fd60891d20977abc5f2c35cbe46142acElliott Hughes * <p> 1064f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * Normally this does not need to be called because the platform reloads config on its own. 1065b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * This should be called by a carrier service app if it wants to update config at an arbitrary 1066b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * moment. 1067f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * </p> 10682435442bcac12703a5c44790aacc91ede94a3e9aJin Qian * <p>Requires that the calling app has carrier privileges. 1069f649a6ef3ca6358f605aea100c77a3f20f4af937ynwang * @see #hasCarrierPrivileges 1070b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * <p> 1071f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * This method returns before the reload has completed, and 1072b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * {@link android.service.carrier.CarrierService#onLoadConfig} will be called from an 1073f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * arbitrary thread. 1074d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme * </p> 1075d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme */ 1076678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme public void notifyConfigChangedForSubId(int subId) { 1077d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme try { 1078678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme ICarrierConfigLoader loader = getICarrierConfigLoader(); 1079d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme if (loader == null) { 1080678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme Rlog.w(TAG, "Error reloading config for subId=" + subId 1081d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme + " ICarrierConfigLoader is null"); 1082678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme return; 1083d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme } 1084678727af1ae44fe40a6d70fb175f8acfdb5d83d9Felipe Leme loader.notifyConfigChangedForSubId(subId); 1085d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme } catch (RemoteException ex) { 1086f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross Rlog.e(TAG, "Error reloading config for subId=" + subId + ": " + ex.toString()); 1087f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross } 1088b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme } 1089b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme 1090b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme /** 1091b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * Request the carrier config loader to update the cofig for phoneId. 1092b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme * <p> 1093f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * Depending on simState, the config may be cleared or loaded from config app. This is only used 10946f674aefab201fbf9141aabbb603bbfc84771927Felipe Leme * by SubscriptionInfoUpdater. 1095f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * </p> 10967440ddb786b7732478173fe142512dba4e2a8dfdSteven Moreland * 109796c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Leme * @hide 109896c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Leme */ 109930dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme @SystemApi 110030dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme public void updateConfigForPhoneId(int phoneId, String simState) { 110130dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme try { 110230dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme ICarrierConfigLoader loader = getICarrierConfigLoader(); 110396c2bbbf1ab3477f061f2b1b05482f5aec8c5dfaFelipe Leme if (loader == null) { 1104f029297f673ae06d219bd727a318a48b885db6fdFelipe Leme Rlog.w(TAG, "Error updating config for phoneId=" + phoneId 110530dbfa1c5fac2d8cbd5bc2e41616be9353c81733Felipe Leme + " ICarrierConfigLoader is null"); 1106f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross return; 1107b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme } 1108f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross loader.updateConfigForPhoneId(phoneId, simState); 1109f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross } catch (RemoteException ex) { 1110d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme Rlog.e(TAG, "Error updating config for phoneId=" + phoneId + ": " + ex.toString()); 1111d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme } 1112d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme } 1113f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross 11145bcce574840ffc58916f6fa9beb39739b51508e6Felipe Leme /** 11155bcce574840ffc58916f6fa9beb39739b51508e6Felipe Leme * Returns a new bundle with the default value for every supported configuration variable. 1116f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross * 1117d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme * @hide 1118d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme */ 1119d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme @NonNull 112002bea9786d2ecc4c04f35fd7d9b73d4dd2b73735Dianne Hackborn @SystemApi 1121b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme public static PersistableBundle getDefaultConfig() { 1122b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme return new PersistableBundle(sDefaults); 1123b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme } 1124b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme 1125b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme /** @hide */ 1126b0f669de54ffe3ef59f3597faf2b4885793853cfFelipe Leme @Nullable 112702bea9786d2ecc4c04f35fd7d9b73d4dd2b73735Dianne Hackborn private ICarrierConfigLoader getICarrierConfigLoader() { 1128d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme return ICarrierConfigLoader.Stub 1129d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme .asInterface(ServiceManager.getService(Context.CARRIER_CONFIG_SERVICE)); 1130d8b94e5e61ca744962400ebefa33c15c459571c4Felipe Leme } 1131f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross} 11321434a5ccf5fa91f20f8f145ecdc4303a03cf3a17Winson Chung