How does android set the default language of cell broadcasting?
1. The entire system supports up to 30 residential broadcast languages. Even if the SIM card or NVRAM does not have a pre-configured community broadcast language (DCS), 20 community broadcast languages are supported by default. Their order is, and the language they represent can be known according to the ISO639 standard.
{
De: German
En: English
It: Italian
Fr: French
Es: Spanish
Nl: Dutch
Sv: Swedish
Da: Danish
Pt: Portuguese
Fi: Finnish
No: Norwegian
El: Modern Greek
Tr: Turkish
Hu: Hungary
Pl: Polish
Cs: Czech
He: Hebrew
Ar: Arabic
Ru: Russian
Is: Ice Island
}
2. Set whether to enable or disable these languages by default.
Modify the default value of NVRAM_EF_CB_CH_INFO_LID in COMMON_NVRAM_EF_CB_CH_INFO_DEFAULT [] of Nvram_data_items.c (custom \ service \ nvram.
Among them, dcs_mask has 32 bits, and the first 30 BITs make sense. Each bit corresponds to a language setting. 0 indicates turning off, and 1 indicates turning on.
For example, if you want to set it, only the Spanish language is enabled by default. Because the Spanish language corresponds to 5th bits, you can set it as follows:
Static kal_uint8 const COMMON_NVRAM_EF_CB_CH_INFO_DEFAULT [] =
{
......
0x08/* 00001000 */, 0x00, 0x00, 0x00,/* dcs_mask, default all dcs turn on */
......
}
3. Set the switch that supports all languages to off.
Modify the default value of NVRAM_EF_SMSAL_COMMON_PARAM_LID in Nvram_data_items.c (custom \ service \ nvram) COMMON_NVRAM_EF_SMSAL_COMMON_PARAM_DEFAULT.
Among them, CB setting, the first byte indicates whether the Cell Broadcast is enabled, and the second byte indicates whether the Cell Broadcast supports all languages. If you want to disable the support for all languages, set as follows:
Kal_uint8 const COMMON_NVRAM_EF_SMSAL_COMMON_PARAM_DEFAULT [] =
{
......
0x01, 0x00,/* CB setting-ON */
/* CB Status: ON, All Language: OFF */
......
};
4. Add the defined VERNO values of the above two lids, NVRAM_EF_SMSAL_COMMON_PARAM_LID and NVRAM_EF_CB_CH_INFO_LID to ensure that the Default value can be updated to NVRAM even if FOTA is used for version upgrade.
See the following example:
Nvram_editor_data_item.h (interface \ service \ nvram)
# Define nvram_ef_smsal_common_param_assist_verno "002"
# Define nvram_ef_cb_ch_info_assist_verno "002"
// In the above example, the original "002" is changed to "003 ".
Tip: When firmware upgrade is upgraded using the download tool, VERNO can be modified because firmware upgrade will erase the entire user data zone.