Merge "Enable allow_emergency_numbers_in_call_log_bool for Korea." am: 7556eb6ec4 am: b58a87da2c
am: 8f435c5318

Change-Id: I983b250324057ea84f399ffa89e0b09f517e5650
diff --git a/assets/carrier_config_20404.xml b/assets/carrier_config_20404.xml
index 66892da..fe774d5 100644
--- a/assets/carrier_config_20404.xml
+++ b/assets/carrier_config_20404.xml
@@ -7,6 +7,7 @@
         <string name="default_vm_number_string">+31654501233</string>
     </carrier_config>
     <carrier_config gid1="BAE0000000000000">
+        <boolean name="mdn_is_additional_voicemail_number_bool" value="true" />
         <boolean name="allow_adding_apns_bool" value="false" />
         <boolean name="broadcast_emergency_call_state_changes_bool" value="true" />
         <string name="carrier_eri_file_name_string">eri_311480.xml</string>
@@ -14,13 +15,27 @@
         <boolean name="editable_wfc_mode_bool" value="false"/>
         <boolean name="disable_severe_when_extreme_disabled_bool" value="false" />
         <int name="wfc_spn_format_idx_int" value="1" />
-        <string-array name="read_only_apn_fields_string_array" num="6">
+        <string-array name="read_only_apn_fields_string_array" num="20">
+            <item value="name" />
+            <item value="proxy" />
+            <item value="port" />
+            <item value="user" />
+            <item value="password" />
+            <item value="server" />
+            <item value="mmsc" />
+            <item value="mmsproxy" />
+            <item value="mmsport" />
+            <item value="mcc" />
+            <item value="mnc" />
+            <item value="authtype" />
             <item value="type" />
             <item value="protocol" />
             <item value="roaming_protocol" />
             <item value="bearer" />
             <item value="bearer_bitmask" />
             <item value="carrier_enabled" />
+            <item value="mvno_type" />
+            <item value="mvno_match_data" />
         </string-array>
         <string-array name="carrier_metered_apn_types_strings" num="3">
             <item value="default" />
diff --git a/assets/carrier_config_310004.xml b/assets/carrier_config_310004.xml
index ed46b9b..2d18a25 100644
--- a/assets/carrier_config_310004.xml
+++ b/assets/carrier_config_310004.xml
@@ -1,6 +1,7 @@
 <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
 <carrier_config_list>
     <carrier_config>
+        <boolean name="mdn_is_additional_voicemail_number_bool" value="true" />
         <boolean name="operator_selection_expand_bool" value="true" />
         <int name="aliasMinChars" value="2" />
         <int name="smsToMmsTextThreshold" value="7" />
@@ -32,13 +33,27 @@
         <boolean name="disable_severe_when_extreme_disabled_bool" value="false" />
         <boolean name="mmsCloseConnection" value="true"/>
         <int name="wfc_spn_format_idx_int" value="1" />
-        <string-array name="read_only_apn_fields_string_array" num="6">
+        <string-array name="read_only_apn_fields_string_array" num="20">
+            <item value="name" />
+            <item value="proxy" />
+            <item value="port" />
+            <item value="user" />
+            <item value="password" />
+            <item value="server" />
+            <item value="mmsc" />
+            <item value="mmsproxy" />
+            <item value="mmsport" />
+            <item value="mcc" />
+            <item value="mnc" />
+            <item value="authtype" />
             <item value="type" />
             <item value="protocol" />
             <item value="roaming_protocol" />
             <item value="bearer" />
             <item value="bearer_bitmask" />
             <item value="carrier_enabled" />
+            <item value="mvno_type" />
+            <item value="mvno_match_data" />
         </string-array>
         <string-array name="carrier_metered_apn_types_strings" num="3">
             <item value="default" />
diff --git a/assets/carrier_config_310410.xml b/assets/carrier_config_310410.xml
index 39d5856..56a3046 100644
--- a/assets/carrier_config_310410.xml
+++ b/assets/carrier_config_310410.xml
@@ -10,5 +10,17 @@
         <int name="volte_replacement_rat_int" value="3" />
         <boolean name="csp_enabled_bool" value="true" />
         <boolean name="restart_radio_on_pdp_fail_regular_deactivation_bool" value="true" />
+        <string-array name="carrier_data_call_retry_config_strings" num="3">
+            <!-- New retry pattern: 10s, 3m, 12m, 36m, 36m, 36m, ... (forever)
+                 (comparing to the default one used before:
+                    5s, 10s, 20s, 40s, 80s, 2.5m, 5m, 10m, 21m, 30m, 30m..(forever))
+
+                 Since AT&T has two APNs, and modem retry 5 times for each, this should be able to
+                 reduce the retry number to 40 for the first hour.
+            -->
+            <item value="default:default_randomization=2000,10000,18000:5000,720000:5000,2160000:5000" />
+            <item value="mms:default_randomization=2000,10000,18000:5000,720000:5000,2160000:5000" />
+            <item value="others:max_retries=3,5000,5000,5000" />
+        </string-array>
     </carrier_config>
 </carrier_config_list>
diff --git a/assets/carrier_config_311480.xml b/assets/carrier_config_311480.xml
index d20360b..b859690 100644
--- a/assets/carrier_config_311480.xml
+++ b/assets/carrier_config_311480.xml
@@ -2,6 +2,7 @@
 <carrier_config_list>
     <carrier_config>
         <boolean name="allow_hold_in_ims_call" value="false" />
+        <boolean name="mdn_is_additional_voicemail_number_bool" value="true" />
         <boolean name="carrier_vt_available_bool" value="true" />
         <boolean name="support_downgrade_vt_to_audio_bool" value="false" />
         <boolean name="notify_handover_video_from_wifi_to_lte_bool" value="true" />
@@ -64,13 +65,27 @@
             <item value="WIRELESS CALLER" />
             <item value="UNKNOWN NAME" />
         </string-array>
-        <string-array name="read_only_apn_fields_string_array" num="6">
+        <string-array name="read_only_apn_fields_string_array" num="20">
+            <item value="name" />
+            <item value="proxy" />
+            <item value="port" />
+            <item value="user" />
+            <item value="password" />
+            <item value="server" />
+            <item value="mmsc" />
+            <item value="mmsproxy" />
+            <item value="mmsport" />
+            <item value="mcc" />
+            <item value="mnc" />
+            <item value="authtype" />
             <item value="type" />
             <item value="protocol" />
             <item value="roaming_protocol" />
             <item value="bearer" />
             <item value="bearer_bitmask" />
             <item value="carrier_enabled" />
+            <item value="mvno_type" />
+            <item value="mvno_match_data" />
         </string-array>
         <string-array name="carrier_metered_apn_types_strings" num="3">
             <item value="default" />
@@ -87,5 +102,10 @@
             <item value="*86:+1MDN" />
         </string-array>
         <string name="default_vm_number_string">*86</string>
+        <boolean name="support_3gpp_call_forwarding_while_roaming_bool" value="false" />
+        <string-array name="call_forwarding_blocks_while_roaming_string_array" num="2">
+            <item value="*71" />
+            <item value="*72" />
+        </string-array>
     </carrier_config>
 </carrier_config_list>
diff --git a/assets/carrier_config_44000.xml b/assets/carrier_config_44000.xml
index 08b3e73..a1e728b 100644
--- a/assets/carrier_config_44000.xml
+++ b/assets/carrier_config_44000.xml
@@ -10,5 +10,6 @@
 <boolean name="carrier_force_disable_etws_cmas_test_bool" value="true" />
 <boolean name="carrier_volte_available_bool" value="true" />
 <int name="volte_replacement_rat_int" value="3" />
+<long name="message_expiration_time_long" value="3600000" />
 </carrier_config>
 </carrier_config_list>
diff --git a/assets/carrier_config_44010.xml b/assets/carrier_config_44010.xml
index 0b7eac9..da66727 100644
--- a/assets/carrier_config_44010.xml
+++ b/assets/carrier_config_44010.xml
@@ -7,6 +7,8 @@
 <int name="volte_replacement_rat_int" value="3" />
 <boolean name="hide_ims_apn_bool" value="true" />
 <boolean name="always_show_emergency_alert_onoff_bool" value="true" />
+<long name="message_expiration_time_long" value="3600000" />
+<boolean name="ignore_data_enabled_changed_for_video_calls" value="true" />
 <string-array name="carrier_additional_cbs_channels_strings" num="2">
     <item value="0xA001-0xA002:type=other, emergency=true" />
     <item value="0xA004-0xA3FF:type=other, emergency=true" />
diff --git a/assets/carrier_config_44020.xml b/assets/carrier_config_44020.xml
index a25a5fd..20ccb06 100644
--- a/assets/carrier_config_44020.xml
+++ b/assets/carrier_config_44020.xml
@@ -19,5 +19,6 @@
             <item value="0xA802,0xA804:type=etws_default, emergency=true" />
         </string-array>
         <string name="default_vm_number_string">1416</string>
+        <long name="message_expiration_time_long" value="3600000" />
     </carrier_config>
 </carrier_config_list>
diff --git a/assets/carrier_config_44100.xml b/assets/carrier_config_44100.xml
index 08b3e73..a1e728b 100644
--- a/assets/carrier_config_44100.xml
+++ b/assets/carrier_config_44100.xml
@@ -10,5 +10,6 @@
 <boolean name="carrier_force_disable_etws_cmas_test_bool" value="true" />
 <boolean name="carrier_volte_available_bool" value="true" />
 <int name="volte_replacement_rat_int" value="3" />
+<long name="message_expiration_time_long" value="3600000" />
 </carrier_config>
 </carrier_config_list>
diff --git a/assets/carrier_config_44120.xml b/assets/carrier_config_44120.xml
index 08b3e73..a1e728b 100644
--- a/assets/carrier_config_44120.xml
+++ b/assets/carrier_config_44120.xml
@@ -10,5 +10,6 @@
 <boolean name="carrier_force_disable_etws_cmas_test_bool" value="true" />
 <boolean name="carrier_volte_available_bool" value="true" />
 <int name="volte_replacement_rat_int" value="3" />
+<long name="message_expiration_time_long" value="3600000" />
 </carrier_config>
 </carrier_config_list>
diff --git a/assets/carrier_config_50501.xml b/assets/carrier_config_50501.xml
index cb19b7c..f0bc6b9 100644
--- a/assets/carrier_config_50501.xml
+++ b/assets/carrier_config_50501.xml
@@ -6,5 +6,6 @@
         <int name="maxImageWidth" value="2592" />
         <string name="default_vm_number_string">+61101</string>
         <int name="carrier_default_wfc_ims_mode_int" value="1" />
+        <boolean name="editable_tether_apn_bool" value="true" />
     </carrier_config>
 </carrier_config_list>
diff --git a/assets/carrier_config_50511.xml b/assets/carrier_config_50511.xml
index 941de9c..f0bc6b9 100644
--- a/assets/carrier_config_50511.xml
+++ b/assets/carrier_config_50511.xml
@@ -1,6 +1,11 @@
 <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
 <carrier_config_list>
     <carrier_config>
+        <int name="maxImageHeight" value="1944" />
+        <int name="maxMessageSize" value="2097152" />
+        <int name="maxImageWidth" value="2592" />
         <string name="default_vm_number_string">+61101</string>
+        <int name="carrier_default_wfc_ims_mode_int" value="1" />
+        <boolean name="editable_tether_apn_bool" value="true" />
     </carrier_config>
 </carrier_config_list>
diff --git a/assets/carrier_config_50571.xml b/assets/carrier_config_50571.xml
index 5483a00..f0bc6b9 100644
--- a/assets/carrier_config_50571.xml
+++ b/assets/carrier_config_50571.xml
@@ -1,7 +1,11 @@
 <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
 <carrier_config_list>
     <carrier_config>
+        <int name="maxImageHeight" value="1944" />
+        <int name="maxMessageSize" value="2097152" />
+        <int name="maxImageWidth" value="2592" />
         <string name="default_vm_number_string">+61101</string>
         <int name="carrier_default_wfc_ims_mode_int" value="1" />
+        <boolean name="editable_tether_apn_bool" value="true" />
     </carrier_config>
 </carrier_config_list>
diff --git a/assets/carrier_config_50572.xml b/assets/carrier_config_50572.xml
index 5483a00..a2f0d1f 100644
--- a/assets/carrier_config_50572.xml
+++ b/assets/carrier_config_50572.xml
@@ -1,7 +1,12 @@
 <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
 <carrier_config_list>
     <carrier_config>
+        <int name="maxImageHeight" value="1944" />
+        <int name="maxMessageSize" value="2097152" />
+        <int name="maxImageWidth" value="2592" />
         <string name="default_vm_number_string">+61101</string>
         <int name="carrier_default_wfc_ims_mode_int" value="1" />
+        <boolean name="editable_tether_apn_bool" value="true" />
     </carrier_config>
 </carrier_config_list>
+
diff --git a/src/com/android/carrierconfig/DefaultCarrierConfigService.java b/src/com/android/carrierconfig/DefaultCarrierConfigService.java
index c4c6431..b82cce6 100644
--- a/src/com/android/carrierconfig/DefaultCarrierConfigService.java
+++ b/src/com/android/carrierconfig/DefaultCarrierConfigService.java
@@ -187,10 +187,10 @@
                     result = result && value.equals(id.getMnc());
                     break;
                 case "gid1":
-                    result = result && value.equals(id.getGid1());
+                    result = result && value.equalsIgnoreCase(id.getGid1());
                     break;
                 case "gid2":
-                    result = result && value.equals(id.getGid2());
+                    result = result && value.equalsIgnoreCase(id.getGid2());
                     break;
                 case "spn":
                     result = result && matchOnSP(value, id);
@@ -199,7 +199,7 @@
                     result = result && matchOnImsi(value, id);
                     break;
                 case "device":
-                    result = result && value.equals(Build.DEVICE);
+                    result = result && value.equalsIgnoreCase(Build.DEVICE);
                     break;
                 default:
                     Log.e(TAG, "Unknown attribute " + attribute + "=" + value);
@@ -225,7 +225,7 @@
         String currentImsi = id.getImsi();
         // If we were able to retrieve current IMSI, see if it matches.
         if (currentImsi != null) {
-            Pattern imsiPattern = Pattern.compile(xmlImsi);
+            Pattern imsiPattern = Pattern.compile(xmlImsi, Pattern.CASE_INSENSITIVE);
             Matcher matcher = imsiPattern.matcher(currentImsi);
             matchFound = matcher.matches();
         }
@@ -249,7 +249,7 @@
                 matchFound = true;
             }
         } else if (currentSP != null) {
-            Pattern spPattern = Pattern.compile(xmlSP);
+            Pattern spPattern = Pattern.compile(xmlSP, Pattern.CASE_INSENSITIVE);
             Matcher matcher = spPattern.matcher(currentSP);
             matchFound = matcher.matches();
         }