From 72de331b77e21ec408864e117a14edf85d5a37f1 Mon Sep 17 00:00:00 2001 From: Ling Ma Date: Fri, 9 Feb 2024 18:07:51 -0800 Subject: Add more secondary timer carrier config 1) Add a workaround carrier config nr_advanced_bands_secondary_timer_seconds_int for previous advance band state, that overrides the existing secondary timer config. 2) Add two configs to reset all timers upon voice call or plmn change events Bug: 316425811 Bug: 316425342 Test: voice call + data browsing Change-Id: I03641b426ec478190cf940cc47211568194c4cd1 --- .../android/telephony/CarrierConfigManager.java | 43 +++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index f7793f373916..4a44ea8b8d06 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -3844,13 +3844,27 @@ public class CarrierConfigManager { * and if the 5G state changes to neither 'connected' not 'not_restricted_rrc_idle', the icon * will change to reflect the true state. * + * The value can be overridden by {@link #KEY_NR_ADVANCED_BANDS_SECONDARY_TIMER_SECONDS_INT} * @hide */ public static final String KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING = "5g_icon_display_secondary_grace_period_string"; /** - * Whether device reset all of NR timers when device camped on a network that haven't 5G + * The secondary grace periods in seconds to use if NR advanced icon was shown due to connecting + * to bands specified in {@link #KEY_ADDITIONAL_NR_ADVANCED_BANDS_INT_ARRAY}. + * + * The default value is 0, meaning the original value in + * {@link #KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING} is used. Otherwise, it overrides + * the value in {@link #KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING}. + * + * @hide + */ + public static final String KEY_NR_ADVANCED_BANDS_SECONDARY_TIMER_SECONDS_INT = + "nr_advanced_bands_secondary_timer_seconds_int"; + + /** + * Whether device resets all of NR timers when device camped on a network that haven't 5G * capability and RRC currently in IDLE state. * * The default value is false; @@ -3860,6 +3874,30 @@ public class CarrierConfigManager { public static final String KEY_NR_TIMERS_RESET_IF_NON_ENDC_AND_RRC_IDLE_BOOL = "nr_timers_reset_if_non_endc_and_rrc_idle_bool"; + /** + * Whether device resets all of NR timers when device is in a voice call and QOS is established. + * The default value is false; + * + * @see #KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING + * @see #KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING + * + * @hide + */ + public static final String KEY_NR_TIMERS_RESET_ON_VOICE_QOS_BOOL = + "nr_timers_reset_on_voice_qos_bool"; + + /** + * Whether device resets all of NR timers when the PLMN changes. + * The default value is false; + * + * @see #KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING + * @see #KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING + * + * @hide + */ + public static final String KEY_NR_TIMERS_RESET_ON_PLMN_CHANGE_BOOL = + "nr_timers_reset_on_plmn_change_bool"; + /** * A list of additional NR advanced band would map to * {@link TelephonyDisplayInfo#OVERRIDE_NETWORK_TYPE_NR_ADVANCED} when the device is on that @@ -10681,7 +10719,10 @@ public class CarrierConfigManager { + "not_restricted_rrc_con:5G"); sDefaults.putString(KEY_5G_ICON_DISPLAY_GRACE_PERIOD_STRING, ""); sDefaults.putString(KEY_5G_ICON_DISPLAY_SECONDARY_GRACE_PERIOD_STRING, ""); + sDefaults.putInt(KEY_NR_ADVANCED_BANDS_SECONDARY_TIMER_SECONDS_INT, 0); sDefaults.putBoolean(KEY_NR_TIMERS_RESET_IF_NON_ENDC_AND_RRC_IDLE_BOOL, false); + sDefaults.putBoolean(KEY_NR_TIMERS_RESET_ON_VOICE_QOS_BOOL, false); + sDefaults.putBoolean(KEY_NR_TIMERS_RESET_ON_PLMN_CHANGE_BOOL, false); /* Default value is 1 hour. */ sDefaults.putLong(KEY_5G_WATCHDOG_TIME_MS_LONG, 3600000); sDefaults.putIntArray(KEY_ADDITIONAL_NR_ADVANCED_BANDS_INT_ARRAY, new int[0]); -- cgit v1.2.3-59-g8ed1b