Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 35ccd732 authored by Jack Yu's avatar Jack Yu Committed by Automerger Merge Worker
Browse files

Merge "Added the Carrier Config for DataStallRecoveryManager" am: 7a818840

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2020636

Change-Id: I8b528a73786ef9f6b83697855634ae4a904f0d2e
parents 2d3104f0 7a818840
Loading
Loading
Loading
Loading
+56 −0
Original line number Diff line number Diff line
@@ -4364,6 +4364,56 @@ public class CarrierConfigManager {
    public static final String KEY_GBA_UA_TLS_CIPHER_SUITE_INT =
            "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.
     */
@@ -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});
    }

    /**