From 3399f3644d697085584cbde66479aecdbd5841ae Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Tue, 21 Aug 2018 16:57:36 -0700 Subject: [PATCH] Added a new carrier config for data connection failed radio restart Added a new carrier config that can trigger modem restart when receiving specific setup data fail cause code. Test: Telephony sanity tests Bug: 111774203 Change-Id: I39d648117f778a4548a3d50e624dbd841956c6cc --- api/current.txt | 3 ++- .../android/telephony/CarrierConfigManager.java | 17 ++++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/api/current.txt b/api/current.txt index f7ec2fb59de51..1cb9186156f30 100644 --- a/api/current.txt +++ b/api/current.txt @@ -41789,9 +41789,10 @@ package android.telephony { field public static final java.lang.String KEY_ONLY_SINGLE_DC_ALLOWED_INT_ARRAY = "only_single_dc_allowed_int_array"; field public static final java.lang.String KEY_OPERATOR_SELECTION_EXPAND_BOOL = "operator_selection_expand_bool"; field public static final java.lang.String KEY_PREFER_2G_BOOL = "prefer_2g_bool"; + field public static final java.lang.String KEY_RADIO_RESTART_FAILURE_CAUSES_INT_ARRAY = "radio_restart_failure_causes_int_array"; field public static final java.lang.String KEY_RCS_CONFIG_SERVER_URL_STRING = "rcs_config_server_url_string"; field public static final java.lang.String KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL = "require_entitlement_checks_bool"; - field public static final java.lang.String KEY_RESTART_RADIO_ON_PDP_FAIL_REGULAR_DEACTIVATION_BOOL = "restart_radio_on_pdp_fail_regular_deactivation_bool"; + field public static final deprecated java.lang.String KEY_RESTART_RADIO_ON_PDP_FAIL_REGULAR_DEACTIVATION_BOOL = "restart_radio_on_pdp_fail_regular_deactivation_bool"; field public static final java.lang.String KEY_RTT_SUPPORTED_BOOL = "rtt_supported_bool"; field public static final java.lang.String KEY_SHOW_APN_SETTING_CDMA_BOOL = "show_apn_setting_cdma_bool"; field public static final java.lang.String KEY_SHOW_CDMA_CHOICES_BOOL = "show_cdma_choices_bool"; diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index d7376691dd66a..f19720f68949e 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -138,10 +138,20 @@ public class CarrierConfigManager { /** * Flag indicating whether radio is to be restarted on error PDP_FAIL_REGULAR_DEACTIVATION * This is false by default. + * + * @deprecated Use {@link @KEY_RADIO_RESTART_FAILURE_CAUSES_INT_ARRAY} instead */ - public static final String - KEY_RESTART_RADIO_ON_PDP_FAIL_REGULAR_DEACTIVATION_BOOL = - "restart_radio_on_pdp_fail_regular_deactivation_bool"; + @Deprecated + public static final String KEY_RESTART_RADIO_ON_PDP_FAIL_REGULAR_DEACTIVATION_BOOL = + "restart_radio_on_pdp_fail_regular_deactivation_bool"; + + /** + * A list of failure cause codes that will trigger a modem restart when telephony receiving + * one of those during data setup. The cause codes are defined in 3GPP TS 24.008 Annex I and + * TS 24.301 Annex B. + */ + public static final String KEY_RADIO_RESTART_FAILURE_CAUSES_INT_ARRAY = + "radio_restart_failure_causes_int_array"; /** * If true, enable vibration (haptic feedback) for key presses in the EmergencyDialer activity. @@ -2085,6 +2095,7 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_WORLD_PHONE_BOOL, false); sDefaults.putBoolean(KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL, true); sDefaults.putBoolean(KEY_RESTART_RADIO_ON_PDP_FAIL_REGULAR_DEACTIVATION_BOOL, false); + sDefaults.putIntArray(KEY_RADIO_RESTART_FAILURE_CAUSES_INT_ARRAY, new int[]{}); sDefaults.putInt(KEY_VOLTE_REPLACEMENT_RAT_INT, 0); sDefaults.putString(KEY_DEFAULT_SIM_CALL_MANAGER_STRING, ""); sDefaults.putString(KEY_VVM_DESTINATION_NUMBER_STRING, "");