diff options
author | Jack Yu <jackyu@google.com> | 2021-06-10 10:40:12 -0700 |
---|---|---|
committer | Jack Yu <jackyu@google.com> | 2021-06-10 21:48:54 +0000 |
commit | 9138a21e705e982c5f2449191251f6700fba8894 (patch) | |
tree | 30e5d4debdd31a1b3e090039dbaf040d10078433 /telephony/java | |
parent | 91ffe299180fefd1522a455c58b21c73d31e5167 (diff) |
Made same APN retry maximum counter configurable
The default counter was hardcoded as 3. Made this counter
configurable through carrier config. For infinite retry
the counter could be configured as 2147483647 (i.e. INT_MAX)
Test: atest RetryManagerTest
Fix: 190482957
Change-Id: I1bac995ea208bac9bd9e1b61432135dc4385d036
Diffstat (limited to 'telephony/java')
-rw-r--r-- | telephony/java/android/telephony/CarrierConfigManager.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index c9996fb7141e..7f1ea8fa9614 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -33,6 +33,7 @@ import android.os.PersistableBundle; import android.os.RemoteException; import android.service.carrier.CarrierService; import android.telecom.TelecomManager; +import android.telephony.data.DataCallResponse; import android.telephony.gba.TlsParams; import android.telephony.gba.UaSecurityProtocolIdentifier; import android.telephony.ims.ImsReasonInfo; @@ -1052,6 +1053,21 @@ public class CarrierConfigManager { "carrier_data_call_apn_retry_after_disconnect_long"; /** + * The maximum times for telephony to retry data setup on the same APN requested by + * network through the data setup response retry timer + * {@link DataCallResponse#getRetryDurationMillis()}. This is to prevent that network keeps + * asking device to retry data setup forever and causes power consumption issue. For infinite + * retring same APN, configure this as 2147483647 (i.e. {@link Integer#MAX_VALUE}). + * + * Note if network does not suggest any retry timer, frameworks uses the retry configuration + * from {@link #KEY_CARRIER_DATA_CALL_RETRY_CONFIG_STRINGS}, and the maximum retry times could + * be configured there. + * @hide + */ + public static final String KEY_CARRIER_DATA_CALL_RETRY_NETWORK_REQUESTED_MAX_COUNT_INT = + "carrier_data_call_retry_network_requested_max_count_int"; + + /** * Data call setup permanent failure causes by the carrier */ public static final String KEY_CARRIER_DATA_CALL_PERMANENT_FAILURE_STRINGS = @@ -5148,6 +5164,7 @@ public class CarrierConfigManager { sDefaults.putLong(KEY_CARRIER_DATA_CALL_APN_DELAY_DEFAULT_LONG, 20000); sDefaults.putLong(KEY_CARRIER_DATA_CALL_APN_DELAY_FASTER_LONG, 3000); sDefaults.putLong(KEY_CARRIER_DATA_CALL_APN_RETRY_AFTER_DISCONNECT_LONG, 10000); + sDefaults.putInt(KEY_CARRIER_DATA_CALL_RETRY_NETWORK_REQUESTED_MAX_COUNT_INT, 3); sDefaults.putString(KEY_CARRIER_ERI_FILE_NAME_STRING, "eri.xml"); sDefaults.putInt(KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT, 7200); sDefaults.putStringArray(KEY_CARRIER_METERED_APN_TYPES_STRINGS, |