summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSongFerngWang <songferngwang@google.com>2021-07-03 01:06:09 +0800
committerSongFerngWang <songferngwang@google.com>2021-07-03 02:01:15 +0800
commitaf6fd22efb657ee47189363ed52be86dba60452e (patch)
tree1238e89fef4b6893f5c6cb5850d93e626f2b74d8
parenta82ece06b2d66b5918d1e1799cb941e77fdbf7b6 (diff)
Add carrier config for using user data to detect RRC state
This configuration allows the framework to use user data communication to detect RRC state. Bug: 191321871 Test: build pass and no phone crash. atest NetworkTypeControllerTest (pass) Change-Id: Ieffabd25a74faf2038b2e08e956fa16c9efdd3ca
-rw-r--r--telephony/java/android/telephony/CarrierConfigManager.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index 7f1ea8fa9614..6c755cfb89b9 100644
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -3523,6 +3523,30 @@ public class CarrierConfigManager {
"nr_advanced_capable_pco_id_int";
/**
+ * This configuration allows the framework to use user data communication to detect RRC state,
+ * and this is used on the 5G icon.
+ *
+ * There is a new way for for RRC state detection at Android 12. If
+ * {@link android.telephony.TelephonyManager#isRadioInterfaceCapabilitySupported}(
+ * {@link TelephonyManager#CAPABILITY_PHYSICAL_CHANNEL_CONFIG_1_6_SUPPORTED}) returns true,
+ * then framework can use PHYSICAL_CHANNEL_CONFIG for RRC state detection. Based on this
+ * condition, some carriers want to use the legacy behavior that way is using user data
+ * communication to detect the RRC state. Therefore, this configuration allows the framework
+ * to use user data communication to detect RRC state.
+ *
+ * The precondition is
+ * {@link android.telephony.TelephonyManager#isRadioInterfaceCapabilitySupported}(
+ * {@link TelephonyManager#CAPABILITY_PHYSICAL_CHANNEL_CONFIG_1_6_SUPPORTED}) returns true,
+ * otherwise this config is not working.
+ * If this is true, framework uses the user data communication for RRC state detection.
+ * If this is false, framework uses the PHYSICAL_CHANNEL_CONFIG for RRC state detection.
+ *
+ * @hide
+ */
+ public static final String KEY_LTE_ENDC_USING_USER_DATA_FOR_RRC_DETECTION_BOOL =
+ "lte_endc_using_user_data_for_rrc_detection_bool";
+
+ /**
* Controls time in milliseconds until DcTracker reevaluates 5G connection state.
* @hide
*/
@@ -5500,6 +5524,7 @@ public class CarrierConfigManager {
sDefaults.putLong(KEY_5G_WATCHDOG_TIME_MS_LONG, 3600000);
sDefaults.putIntArray(KEY_ADDITIONAL_NR_ADVANCED_BANDS_INT_ARRAY, new int[0]);
sDefaults.putInt(KEY_NR_ADVANCED_CAPABLE_PCO_ID_INT, 0);
+ sDefaults.putBoolean(KEY_LTE_ENDC_USING_USER_DATA_FOR_RRC_DETECTION_BOOL, false);
sDefaults.putBoolean(KEY_UNMETERED_NR_NSA_BOOL, false);
sDefaults.putBoolean(KEY_UNMETERED_NR_NSA_MMWAVE_BOOL, false);
sDefaults.putBoolean(KEY_UNMETERED_NR_NSA_SUB6_BOOL, false);