Merge "Convert IMediaCasService to use vintf_fragments"
diff --git a/radio/1.3/Android.bp b/radio/1.3/Android.bp
index 7012f6b..b616265 100644
--- a/radio/1.3/Android.bp
+++ b/radio/1.3/Android.bp
@@ -30,6 +30,10 @@
"EmergencyNumber",
"EmergencyNumberSource",
"EmergencyServiceCategory",
+ "FrequencyRange",
+ "RadioFrequencyInfo",
+ "RadioTechnology",
+ "PhysicalChannelConfig",
"LteVopsInfo",
"NetworkScanResult",
],
diff --git a/radio/1.3/IRadioIndication.hal b/radio/1.3/IRadioIndication.hal
index e7f26ac..b793fc0 100644
--- a/radio/1.3/IRadioIndication.hal
+++ b/radio/1.3/IRadioIndication.hal
@@ -62,4 +62,15 @@
* Incremental network scan results
*/
oneway networkScanResult_1_3(RadioIndicationType type, NetworkScanResult result);
+
+ /**
+ * Indicates physical channel configurations.
+ *
+ * An empty configs list indicates that the radio is in idle mode.
+ *
+ * @param type Type of radio indication
+ * @param configs Vector of PhysicalChannelConfigs
+ */
+ oneway currentPhysicalChannelConfigs_1_3(RadioIndicationType type,
+ vec<PhysicalChannelConfig> configs);
};
diff --git a/radio/1.3/types.hal b/radio/1.3/types.hal
index d3a6f78..bdb7ff6 100644
--- a/radio/1.3/types.hal
+++ b/radio/1.3/types.hal
@@ -23,6 +23,7 @@
import @1.0::DataProfileInfoType;
import @1.0::RadioAccessFamily;
import @1.0::RadioError;
+import @1.0::RadioTechnology;
import @1.0::RegState;
import @1.0::TimeStampType;
import @1.1::ScanStatus;
@@ -36,6 +37,7 @@
import @1.2::CardStatus;
import @1.2::CellIdentity;
import @1.2::DataRegStateResult;
+import @1.2::PhysicalChannelConfig;
import android.hidl.safe_union@1.0::Monostate;
@@ -143,6 +145,65 @@
DEFAULT = 1 << 3,
};
+enum RadioTechnology : @1.0::RadioTechnology {
+ /** 5G NR. */
+ NR = 20,
+};
+
+/** Mapping the frequency to a rough range. */
+enum FrequencyRange : int32_t {
+ /** Indicates the frequency range is below 1GHz. */
+ LOW = 1,
+
+ /** Indicates the frequency range is between 1GHz and 3GHz. */
+ MID = 2,
+
+ /** Indicates the frequency range is between 3GHz and 6GHz. */
+ HIGH = 3,
+
+ /** Indicates the frequency range is above 6GHz (millimeter wave frequency). */
+ MMWAVE = 4,
+};
+
+safe_union RadioFrequencyInfo {
+ /** A rough frequency range. */
+ FrequencyRange range;
+
+ /** The Absolute Radio Frequency Channel Number. */
+ int32_t channelNumber;
+};
+
+struct PhysicalChannelConfig {
+ @1.2::PhysicalChannelConfig base;
+
+ /** The radio technology for this physical channel. */
+ RadioTechnology rat;
+
+ /** The radio frequency info. */
+ RadioFrequencyInfo rfInfo;
+
+ /**
+ * A list of data calls mapped to this physical channel. The context id must match the cid of
+ * @1.0::SetupDataCallResult. An empty list means the physical channel has no data call mapped
+ * to it.
+ */
+ vec<int32_t> contextIds;
+
+ /**
+ * The physical cell identifier for this cell.
+ *
+ * In UTRAN, this value is primary scrambling code. The range is [0, 511].
+ * Reference: 3GPP TS 25.213 section 5.2.2.
+ *
+ * In EUTRAN, this value is physical layer cell identity. The range is [0, 503].
+ * Reference: 3GPP TS 36.211 section 6.11.
+ *
+ * In 5G RAN, this value is physical layer cell identity. The range is [0, 1008].
+ * Reference: 3GPP TS 38.211 section 7.4.2.1.
+ */
+ uint32_t physicalCellId;
+};
+
/**
* Type to define the LTE specific network capabilities for voice over PS including
* emergency and normal voice calls.