diff options
| author | 2021-12-22 02:52:06 +0800 | |
|---|---|---|
| committer | 2022-03-10 10:01:34 -0800 | |
| commit | 4bfb7074a943894c8a70f4276a72b51d7fd29400 (patch) | |
| tree | 728e17ed57cd3486af11c50d4dfc7e5fd70148eb | |
| parent | ebddedfd9b4380607eed95decbe5178516bca976 (diff) | |
Added the Carrier Config for DataStallRecoveryManager
- KEY_DATA_STALL_RECOVERY_TIMERS_LONG_ARRAY
- KEY_DATA_STALL_RECOVERY_SHOULD_SKIP_BOOL_ARRAY
Bug: 178670629
Test: Build pass.
atest com.android.internal.telephony.data --iterations 100
Merged-In: I575850cca4edc8400ae020c4ffdb5088c5b11500
Change-Id: I575850cca4edc8400ae020c4ffdb5088c5b11500
| -rw-r--r-- | telephony/java/android/telephony/CarrierConfigManager.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index b3a3a5348692..7c98a034ed8f 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -4365,6 +4365,56 @@ public class CarrierConfigManager { "gba_ua_tls_cipher_suite_int"; /** + * The data stall recovery timers array in milliseconds, each element is the delay before + * performining next recovery action. + * + * The default value of timers array are: [180000ms, 180000ms, 180000ms] (3 minutes) + * Array[0]: It's the timer between RECOVERY_ACTION GET_DATA_CALL_LIST and CLEANUP, if data + * stall symptom still occurred, it will perform next recovery action after 180000ms. + * Array[1]: It's the timer between RECOVERY_ACTION CLEANUP and RADIO_RESTART, if data stall + * symptom still occurred, it will perform next recovery action after 180000ms. + * Array[2]: It's the timer between RECOVERY_ACTION RADIO_RESTART and RESET_MODEM, if data stall + * symptom still occurred, it will perform next recovery action after 180000ms. + * + * See the {@code RECOVERY_ACTION_*} constants in + * {@link com.android.internal.telephony.data.DataStallRecoveryManager} + * @hide + */ + public static final String KEY_DATA_STALL_RECOVERY_TIMERS_LONG_ARRAY = + "data_stall_recovery_timers_long_array"; + + /** + * The data stall recovery action boolean array, we use this array to determine if the + * data stall recovery action needs to be skipped. + * + * For example, if the carrier use the same APN for both of IA and default type, + * the data call will not disconnect in modem side (so the RECOVERY_ACTION_CLEANUP + * did not effect). In this case, we can config the boolean variable of action + * RECOVERY_ACTION_CLEANUP to true, then it can be ignored to speed up the recovery + * action procedure. + * + * The default value of boolean array are: [false, false, false, false] + * Array[0]: When performing the recovery action, we can use this boolean value to determine + * if we need to perform RECOVERY_ACTION_GET_DATA_CALL_LIST. + * Array[1]: If data stall symptom still occurred, we can use this boolean value to determine + * if we need to perform RECOVERY_ACTION_CLEANUP. For example, if the carrier use the same APN + * for both of IA and default type, the data call will not disconnect in modem side + * (so the RECOVERY_ACTION_CLEANUP did not effect). In this case, we can config the boolean + * variable of action RECOVERY_ACTION_CLEANUP to true, then it can be ignored to speed up the + * recovery action procedure. + * Array[2]: If data stall symptom still occurred, we can use this boolean value to determine + * if we need to perform RECOVERY_ACTION_RADIO_RESTART. + * Array[3]: If data stall symptom still occurred, we can use this boolean value to determine + * if we need to perform RECOVERY_ACTION_MODEM_RESET. + * + * See the {@code RECOVERY_ACTION_*} constants in + * {@link com.android.internal.telephony.data.DataStallRecoveryManager} + * @hide + */ + public static final String KEY_DATA_STALL_RECOVERY_SHOULD_SKIP_BOOL_ARRAY = + "data_stall_recovery_should_skip_bool_array"; + + /** * Configs used by ImsServiceEntitlement. */ public static final class ImsServiceEntitlement { @@ -6466,6 +6516,12 @@ public class CarrierConfigManager { sDefaults.putStringArray(KEY_IWLAN_HANDOVER_POLICY_STRING_ARRAY, new String[]{ "source=GERAN|UTRAN|EUTRAN|NGRAN|IWLAN, " + "target=GERAN|UTRAN|EUTRAN|NGRAN|IWLAN, type=allowed"}); + + // Default data stall recovery configurations. + sDefaults.putLongArray(KEY_DATA_STALL_RECOVERY_TIMERS_LONG_ARRAY, + new long[] {180000, 180000, 180000}); + sDefaults.putBooleanArray(KEY_DATA_STALL_RECOVERY_SHOULD_SKIP_BOOL_ARRAY, + new boolean[] {false, false, false, false}); } /** |