Add physical channel configuration indication.
Also adds the new requisite types and an IndicationFilter for reporting.
Bug: 70638175
Test: n/a
Change-Id: I29f5fba4d1b21af3e7fda876c9a5c911936aeada
diff --git a/radio/1.2/Android.bp b/radio/1.2/Android.bp
index 3b2a01a..f4ca1cf 100644
--- a/radio/1.2/Android.bp
+++ b/radio/1.2/Android.bp
@@ -20,6 +20,7 @@
],
types: [
"CardStatus",
+ "CellConnectionStatus",
"CellIdentityCdma",
"CellIdentityGsm",
"CellIdentityLte",
@@ -36,6 +37,7 @@
"MaxSearchTimeRange",
"NetworkScanRequest",
"NetworkScanResult",
+ "PhysicalChannelConfig",
"RadioConst",
"ScanIntervalRange",
],
diff --git a/radio/1.2/IRadioIndication.hal b/radio/1.2/IRadioIndication.hal
index 2fb3038..a124557 100644
--- a/radio/1.2/IRadioIndication.hal
+++ b/radio/1.2/IRadioIndication.hal
@@ -53,4 +53,13 @@
* @param lce LinkCapacityEstimate information as defined in types.hal
*/
oneway currentLinkCapacityEstimate(RadioIndicationType type, LinkCapacityEstimate lce);
+
+ /**
+ * Indicates physical channel configurations.
+ *
+ * @param type Type of radio indication
+ * @param configs List of PhysicalChannelConfigs as defined in types.hal
+ */
+ oneway currentPhysicalChannelConfigs(RadioIndicationType type,
+ vec<PhysicalChannelConfig> configs);
};
diff --git a/radio/1.2/types.hal b/radio/1.2/types.hal
index ca701bf7..d5fa098 100644
--- a/radio/1.2/types.hal
+++ b/radio/1.2/types.hal
@@ -64,6 +64,21 @@
MAX = 10,
};
+enum CellConnectionStatus : int32_t {
+ /**
+ * Cell is not a serving cell.
+ */
+ NONE = 0,
+ /**
+ * UE has connection to cell for signalling and possibly data (3GPP 36.331, 25.331).
+ */
+ PRIMARY_SERVING,
+ /**
+ * UE has connection to cell for data (3GPP 36.331, 25.331).
+ */
+ SECONDARY_SERVING,
+};
+
/**
* Overwritten from @1.0::IndicationFilter in order to redefine ALL. In the future, this should
* be extended instead of overwritten.
@@ -102,6 +117,12 @@
* IRadio.setLinkCapacityReportingCriteria() are met.
*/
LINK_CAPACITY_ESTIMATE = 1 << 3,
+ /**
+ * When this bit is set, the modem must send the physical channel configuration update through
+ * IRadioIndication.currentPhysicalChannelConfigs() when the configuration has changed. It is
+ * recommended that this be reported whenever link capacity or signal strength is reported.
+ */
+ PHYSICAL_CHANNEL_CONFIG = 1 << 4,
};
struct NetworkScanRequest {
@@ -295,3 +316,14 @@
*/
uint32_t uplinkCapacityKbps;
};
+
+struct PhysicalChannelConfig {
+ /**
+ * Connection status for cell. Valid values are PRIMARY_SERVING and SECONDARY_SERVING.
+ */
+ CellConnectionStatus status;
+ /**
+ * Cell bandwidth, in kHz.
+ */
+ int32_t cellBandwidthDownlink;
+};