Add back off timer configs as carrier config

Add time to determine as ping pong as a carrier config
Add max back off hysteresis time as a carrier config

Test: build
Bug: 143578171
Merged-In: I599aa88c4a8f29ca62aaa2948cc5c7f292b6a827
Change-Id: I599aa88c4a8f29ca62aaa2948cc5c7f292b6a827
This commit is contained in:
Sooraj Sasindran
2019-11-19 10:23:22 -08:00
parent 0d12117ebb
commit 269b3331b8

View File

@@ -3002,18 +3002,44 @@ public class CarrierConfigManager {
public static final String KEY_SWITCH_DATA_TO_PRIMARY_IF_PRIMARY_IS_OOS_BOOL =
"switch_data_to_primary_if_primary_is_oos_bool";
/**
* Controls the ping pong determination of opportunistic network.
* If opportunistic network is determined as out of service or below
* #KEY_OPPORTUNISTIC_NETWORK_EXIT_THRESHOLD_RSRP_INT or
* #KEY_OPPORTUNISTIC_NETWORK_EXIT_THRESHOLD_RSSNR_INT within
* #KEY_OPPORTUNISTIC_NETWORK_PING_PONG_TIME_LONG of switching to opportunistic network,
* it will be determined as ping pong situation by system app or 1st party app.
* @hide
*/
public static final String KEY_OPPORTUNISTIC_NETWORK_PING_PONG_TIME_LONG =
"opportunistic_network_ping_pong_time_long";
/**
* Controls back off time in milli seconds for switching back to
* opportunistic subscription. This time will be added to
* {@link CarrierConfigManager#KEY_OPPORTUNISTIC_NETWORK_DATA_SWITCH_HYSTERESIS_TIME_LONG} to
* determine hysteresis time if there is frequent switching
* determine hysteresis time if there is ping pong situation
* (determined by system app or 1st party app) between primary and opportunistic
* subscription.
* subscription. Ping ping situation is defined in
* #KEY_OPPORTUNISTIC_NETWORK_PING_PONG_TIME_LONG.
* If ping pong situation continuous #KEY_OPPORTUNISTIC_NETWORK_BACKOFF_TIME_LONG
* will be added to previously determined hysteresis time.
* @hide
*/
public static final String KEY_OPPORTUNISTIC_NETWORK_BACKOFF_TIME_LONG =
"opportunistic_network_backoff_time_long";
/**
* Controls the max back off time in milli seconds for switching back to
* opportunistic subscription.
* This time will be the max hysteresis that can be determined irrespective of there is
* continuous ping pong situation or not as described in
* #KEY_OPPORTUNISTIC_NETWORK_PING_PONG_TIME_LONG and
* #KEY_OPPORTUNISTIC_NETWORK_BACKOFF_TIME_LONG.
* @hide
*/
public static final String KEY_OPPORTUNISTIC_NETWORK_MAX_BACKOFF_TIME_LONG =
"opportunistic_network_max_backoff_time_long";
/**
* Indicates zero or more emergency number prefix(es), because some carrier requires
* if users dial an emergency number address with a specific prefix, the combination of the
@@ -3838,8 +3864,12 @@ public class CarrierConfigManager {
/* Default value is 1 hour. */
sDefaults.putLong(KEY_5G_WATCHDOG_TIME_MS_LONG, 3600000);
sDefaults.putBoolean(KEY_SWITCH_DATA_TO_PRIMARY_IF_PRIMARY_IS_OOS_BOOL, true);
/* Default value is 60 seconds. */
sDefaults.putLong(KEY_OPPORTUNISTIC_NETWORK_PING_PONG_TIME_LONG, 60000);
/* Default value is 10 seconds. */
sDefaults.putLong(KEY_OPPORTUNISTIC_NETWORK_BACKOFF_TIME_LONG, 10000);
/* Default value is 60 seconds. */
sDefaults.putLong(KEY_OPPORTUNISTIC_NETWORK_MAX_BACKOFF_TIME_LONG, 60000);
sDefaults.putAll(Gps.getDefaults());
sDefaults.putIntArray(KEY_CDMA_ENHANCED_ROAMING_INDICATOR_FOR_HOME_NETWORK_INT_ARRAY,
new int[] {