Merge "Add an exported flag in manifest"
diff --git a/README b/README
index 4467aa9..af1366f 100644
--- a/README
+++ b/README
@@ -8,10 +8,10 @@
folder. Two ways to configure per-network configuration. Preferred way is
carrier_config_carrierid_<carrierid>_<carriername>.xml
AOSP carrier ID assignments can be found at
-https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/master/assets/carrier_list.textpb
+https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/master/assets/latest_carrier_id/carrier_list.textpb
use carrier_config_mccmnc_<mccmnc>.xml only if there is no matching carrier id.
This app uses a CarrierIdentifier to read the appropriate config snippets from the assets folder.
If you make changes to the XML files, run the unit tests to ensure they can still be parsed:
- runtest carrierconfig-unit
\ No newline at end of file
+ runtest carrierconfig-unit
diff --git a/assets/carrier_config_carrierid_10000_Tracfone-ATT.xml b/assets/carrier_config_carrierid_10000_Tracfone-ATT.xml
new file mode 100644
index 0000000..38de8fe
--- /dev/null
+++ b/assets/carrier_config_carrierid_10000_Tracfone-ATT.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+ <boolean name="carrier_default_data_roaming_enabled_bool" value="true"/>
+ <string-array name="carrier_certificate_string_array" num="3">
+ <item value="E751E163E91E041382839556D31302DB7058C44D9DF1B5B27FC43BD8F0EE2BBA"/>
+ <item value="4AD124DE517BC6BA915B88C17F0AADF764469842156325C26B7CD8B888C41C71"/>
+ <item value="55BB3B316919620008AA76A4891E90384BFF2A76AE95C395FE738C2AC609F13F"/>
+ </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_10001_Tracfone-TMO.xml b/assets/carrier_config_carrierid_10001_Tracfone-TMO.xml
new file mode 100644
index 0000000..38de8fe
--- /dev/null
+++ b/assets/carrier_config_carrierid_10001_Tracfone-TMO.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+ <boolean name="carrier_default_data_roaming_enabled_bool" value="true"/>
+ <string-array name="carrier_certificate_string_array" num="3">
+ <item value="E751E163E91E041382839556D31302DB7058C44D9DF1B5B27FC43BD8F0EE2BBA"/>
+ <item value="4AD124DE517BC6BA915B88C17F0AADF764469842156325C26B7CD8B888C41C71"/>
+ <item value="55BB3B316919620008AA76A4891E90384BFF2A76AE95C395FE738C2AC609F13F"/>
+ </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_10008_Tracfone-VZW.xml b/assets/carrier_config_carrierid_10008_Tracfone-VZW.xml
new file mode 100644
index 0000000..38de8fe
--- /dev/null
+++ b/assets/carrier_config_carrierid_10008_Tracfone-VZW.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+ <boolean name="carrier_default_data_roaming_enabled_bool" value="true"/>
+ <string-array name="carrier_certificate_string_array" num="3">
+ <item value="E751E163E91E041382839556D31302DB7058C44D9DF1B5B27FC43BD8F0EE2BBA"/>
+ <item value="4AD124DE517BC6BA915B88C17F0AADF764469842156325C26B7CD8B888C41C71"/>
+ <item value="55BB3B316919620008AA76A4891E90384BFF2A76AE95C395FE738C2AC609F13F"/>
+ </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_1187_AT&T.xml b/assets/carrier_config_carrierid_1187_AT&T.xml
index 313d5c4..5e39c3c 100644
--- a/assets/carrier_config_carrierid_1187_AT&T.xml
+++ b/assets/carrier_config_carrierid_1187_AT&T.xml
@@ -49,4 +49,5 @@
<item value="352|emergency calls over wifi not allowed in this location|1622"/>
<item value="332|service not allowed in this location|1623"/>
</string-array>
+ <string name="5g_icon_display_grace_period_string" value="connected_mmwave,any,30"/>
</carrier_config>
diff --git a/assets/carrier_config_carrierid_1581_au.xml b/assets/carrier_config_carrierid_1581_au.xml
index 0833acd..28e55d3 100644
--- a/assets/carrier_config_carrierid_1581_au.xml
+++ b/assets/carrier_config_carrierid_1581_au.xml
@@ -3,4 +3,8 @@
<boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
<boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
<boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
+ <string name="5g_icon_display_grace_period_string"
+ value="connected_mmwave,legacy,15;connected,legacy,15;
+ connected_mmwave,not_restricted_rrc_con,15;connected,not_restricted_rrc_con,15;
+ not_restricted_rrc_idle,legacy,15;not_restricted_rrc_idle,not_restricted_rrc_con,15"/>
</carrier_config>
diff --git a/assets/carrier_config_carrierid_1839_Verizon-Wireless.xml b/assets/carrier_config_carrierid_1839_Verizon-Wireless.xml
index cd13d42..f0a4fb9 100644
--- a/assets/carrier_config_carrierid_1839_Verizon-Wireless.xml
+++ b/assets/carrier_config_carrierid_1839_Verizon-Wireless.xml
@@ -164,4 +164,8 @@
<item value="82"/>
<item value="83"/>
</int-array>
+ <string name="5g_icon_display_grace_period_string"
+ value="connected_mmwave,any,3;not_restricted_rrc_idle,not_restricted_rrc_con,2"/>
+ <string name="5g_icon_display_secondary_grace_period_string"
+ value="connected_mmwave,not_restricted_rrc_idle,60"/>
</carrier_config>
diff --git a/assets/carrier_config_carrierid_1894_SoftBank.xml b/assets/carrier_config_carrierid_1894_SoftBank.xml
index 3e8ca59..1df823e 100644
--- a/assets/carrier_config_carrierid_1894_SoftBank.xml
+++ b/assets/carrier_config_carrierid_1894_SoftBank.xml
@@ -15,4 +15,8 @@
<int name="volte_replacement_rat_int" value="3"/>
<int name="ims_dtmf_tone_delay_int" value="215"/>
<string name="default_vm_number_string">1416</string>
+ <string name="5g_icon_display_grace_period_string"
+ value="connected_mmwave,legacy,31;connected,legacy,31;
+ connected_mmwave,not_restricted_rrc_con,31;connected,not_restricted_rrc_con,31;
+ not_restricted_rrc_idle,legacy,15;not_restricted_rrc_idle,not_restricted_rrc_con,15"/>
</carrier_config>
diff --git a/assets/carrier_config_carrierid_1913_Telcel.xml b/assets/carrier_config_carrierid_1913_Telcel.xml
index 3d7463a..b9d7504 100644
--- a/assets/carrier_config_carrierid_1913_Telcel.xml
+++ b/assets/carrier_config_carrierid_1913_Telcel.xml
@@ -7,4 +7,21 @@
<string-array name="carrier_certificate_string_array" num="1">
<item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
</string-array>
+
+ <string-array name="carrier_data_call_permanent_failure_strings" num="14">
+ <item value="OPERATOR_BARRED"/>
+ <item value="MISSING_UNKNOWN_APN"/>
+ <item value="UNKNOWN_PDP_ADDRESS_TYPE"/>
+ <item value="ACTIVATION_REJECT_GGSN"/>
+ <item value="SERVICE_OPTION_NOT_SUPPORTED"/>
+ <item value="NSAPI_IN_USE"/>
+ <item value="ONLY_IPV4_ALLOWED"/>
+ <item value="ONLY_IPV6_ALLOWED"/>
+ <item value="PROTOCOL_ERRORS"/>
+ <item value="RADIO_POWER_OFF"/>
+ <item value="TETHERED_CALL_ACTIVE"/>
+ <item value="RADIO_NOT_AVAILABLE"/>
+ <item value="UNACCEPTABLE_NETWORK_PARAMETER"/>
+ <item value="SIGNAL_LOST"/>
+ </string-array>
</carrier_config>
diff --git a/assets/carrier_config_carrierid_1_T-Mobile-US.xml b/assets/carrier_config_carrierid_1_T-Mobile-US.xml
index 362b3cb..c7abc0d 100644
--- a/assets/carrier_config_carrierid_1_T-Mobile-US.xml
+++ b/assets/carrier_config_carrierid_1_T-Mobile-US.xml
@@ -25,4 +25,7 @@
<string-array name="wfc_operator_error_codes_string_array" num="1">
<item value="REG09|0"/>
</string-array>
+ <string name="5g_icon_display_grace_period_string"
+ value="connected_mmwave,any,30;connected,any,30;not_restricted_rrc_idle,any,30;
+ not_restricted_rrc_con,any,30"/>
</carrier_config>
diff --git a/assets/carrier_config_carrierid_2022_Tracfone.xml b/assets/carrier_config_carrierid_2022_Tracfone.xml
new file mode 100644
index 0000000..38de8fe
--- /dev/null
+++ b/assets/carrier_config_carrierid_2022_Tracfone.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+ <boolean name="carrier_default_data_roaming_enabled_bool" value="true"/>
+ <string-array name="carrier_certificate_string_array" num="3">
+ <item value="E751E163E91E041382839556D31302DB7058C44D9DF1B5B27FC43BD8F0EE2BBA"/>
+ <item value="4AD124DE517BC6BA915B88C17F0AADF764469842156325C26B7CD8B888C41C71"/>
+ <item value="55BB3B316919620008AA76A4891E90384BFF2A76AE95C395FE738C2AC609F13F"/>
+ </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_2063_Family-Mobile.xml b/assets/carrier_config_carrierid_2063_Family-Mobile.xml
new file mode 100644
index 0000000..38de8fe
--- /dev/null
+++ b/assets/carrier_config_carrierid_2063_Family-Mobile.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+ <boolean name="carrier_default_data_roaming_enabled_bool" value="true"/>
+ <string-array name="carrier_certificate_string_array" num="3">
+ <item value="E751E163E91E041382839556D31302DB7058C44D9DF1B5B27FC43BD8F0EE2BBA"/>
+ <item value="4AD124DE517BC6BA915B88C17F0AADF764469842156325C26B7CD8B888C41C71"/>
+ <item value="55BB3B316919620008AA76A4891E90384BFF2A76AE95C395FE738C2AC609F13F"/>
+ </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_2064_GoSmart.xml b/assets/carrier_config_carrierid_2064_GoSmart.xml
new file mode 100644
index 0000000..38de8fe
--- /dev/null
+++ b/assets/carrier_config_carrierid_2064_GoSmart.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+ <boolean name="carrier_default_data_roaming_enabled_bool" value="true"/>
+ <string-array name="carrier_certificate_string_array" num="3">
+ <item value="E751E163E91E041382839556D31302DB7058C44D9DF1B5B27FC43BD8F0EE2BBA"/>
+ <item value="4AD124DE517BC6BA915B88C17F0AADF764469842156325C26B7CD8B888C41C71"/>
+ <item value="55BB3B316919620008AA76A4891E90384BFF2A76AE95C395FE738C2AC609F13F"/>
+ </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_2078_Simple-Mobile.xml b/assets/carrier_config_carrierid_2078_Simple-Mobile.xml
new file mode 100644
index 0000000..38de8fe
--- /dev/null
+++ b/assets/carrier_config_carrierid_2078_Simple-Mobile.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+ <boolean name="carrier_default_data_roaming_enabled_bool" value="true"/>
+ <string-array name="carrier_certificate_string_array" num="3">
+ <item value="E751E163E91E041382839556D31302DB7058C44D9DF1B5B27FC43BD8F0EE2BBA"/>
+ <item value="4AD124DE517BC6BA915B88C17F0AADF764469842156325C26B7CD8B888C41C71"/>
+ <item value="55BB3B316919620008AA76A4891E90384BFF2A76AE95C395FE738C2AC609F13F"/>
+ </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_3_Telekom.xml b/assets/carrier_config_carrierid_3_Telekom.xml
index efee211..80258b4 100644
--- a/assets/carrier_config_carrierid_3_Telekom.xml
+++ b/assets/carrier_config_carrierid_3_Telekom.xml
@@ -2,4 +2,7 @@
<carrier_config>
<boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true"/>
<boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
+ <string name="5g_icon_display_grace_period_string"
+ value="connected_mmwave,any,10;connected,any,10;not_restricted_rrc_idle,any,10;
+ not_restricted_rrc_con,any,10"/>
</carrier_config>
diff --git a/src/com/android/carrierconfig/DefaultCarrierConfigService.java b/src/com/android/carrierconfig/DefaultCarrierConfigService.java
index 611e193..2248a9c 100644
--- a/src/com/android/carrierconfig/DefaultCarrierConfigService.java
+++ b/src/com/android/carrierconfig/DefaultCarrierConfigService.java
@@ -3,6 +3,7 @@
import android.annotation.Nullable;
import android.os.Build;
import android.os.PersistableBundle;
+import android.os.SystemProperties;
import android.service.carrier.CarrierIdentifier;
import android.service.carrier.CarrierService;
import android.telephony.TelephonyManager;
@@ -52,7 +53,7 @@
* {@link TelephonyManager#getSimCarrierId()}. NOTE: config files named after mccmnc
* are for those without a matching carrier id and should be renamed to carrier id once the
* missing IDs are added to
- * <a href="https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/master/assets/carrier_list.textpb">carrier id list</a>
+ * <a href="https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/master/assets/latest_carrier_id/carrier_list.textpb">carrier id list</a>
*
* First, look for file named after
* carrier_config_carrierid_<carrierid>_<carriername>.xml if carrier id is not
@@ -222,6 +223,8 @@
* <li>spn: {@link CarrierIdentifier#getSpn}</li>
* <li>imsi: {@link CarrierIdentifier#getImsi}</li>
* <li>device: {@link Build.DEVICE}</li>
+ * <li>vendorSku: {@link SystemConfig.VENDOR_SKU_PROPERTY}</li>
+ * <li>hardwareSku: {@link SystemConfig.SKU_PROPERTY}</li>
* <li>cid: {@link CarrierIdentifier#getCarrierId()}
* or {@link CarrierIdentifier#getSpecificCarrierId()}</li>
* </ul>
@@ -239,6 +242,10 @@
*/
static boolean checkFilters(XmlPullParser parser, CarrierIdentifier id) {
boolean result = true;
+ String vendorSkuProperty = SystemProperties.get(
+ "ro.boot.product.vendor.sku", "");
+ String hardwareSkuProperty = SystemProperties.get(
+ "ro.boot.product.hardware.sku", "");
for (int i = 0; i < parser.getAttributeCount(); ++i) {
String attribute = parser.getAttributeName(i);
String value = parser.getAttributeValue(i);
@@ -264,6 +271,14 @@
case "device":
result = result && value.equalsIgnoreCase(Build.DEVICE);
break;
+ case "vendorSku":
+ result = result &&
+ value.equalsIgnoreCase(vendorSkuProperty);
+ break;
+ case "hardwareSku":
+ result = result &&
+ value.equalsIgnoreCase(hardwareSkuProperty);
+ break;
case "cid":
result = result && ((Integer.parseInt(value) == id.getCarrierId())
|| (Integer.parseInt(value) == id.getSpecificCarrierId()));
diff --git a/tests/src/com/android/carrierconfig/CarrierConfigTest.java b/tests/src/com/android/carrierconfig/CarrierConfigTest.java
index 4b78fd6..c1a045c 100644
--- a/tests/src/com/android/carrierconfig/CarrierConfigTest.java
+++ b/tests/src/com/android/carrierconfig/CarrierConfigTest.java
@@ -68,6 +68,8 @@
case "spn":
case "imsi":
case "device":
+ case "vendorSku":
+ case "hardwareSku":
case "cid":
case "name":
break;