Update WcdmaSignalStrength to add RAT-specific fields
-Add RSCP and ECNO to WcdmaSignalStrength
-Add WcdmaSignalStrength to SignalStrength struct.
With this change we can now report the correct WCDMA
ASU due to our ability to now differentiate the SS
based on the RAT without needing additional info.
Bug: 71329173
Test: runtest frameworks-telephony
Change-Id: Ibce0ba38bf2d7e4f3e6c09f53303c0ba83dc6080
diff --git a/radio/1.2/Android.bp b/radio/1.2/Android.bp
index 48ac5a1..90b4841 100644
--- a/radio/1.2/Android.bp
+++ b/radio/1.2/Android.bp
@@ -44,6 +44,8 @@
"PhysicalChannelConfig",
"RadioConst",
"ScanIntervalRange",
+ "SignalStrength",
+ "WcdmaSignalStrength",
],
gen_java: true,
}
diff --git a/radio/1.2/IRadioIndication.hal b/radio/1.2/IRadioIndication.hal
index a124557..3d93b98 100644
--- a/radio/1.2/IRadioIndication.hal
+++ b/radio/1.2/IRadioIndication.hal
@@ -34,7 +34,7 @@
* Same information as returned by getCellInfoList() in 1.0::IRadio.
*
* @param type Type of radio indication
- * @param records Current cell information known to radio
+ * @param records Current cell information
*/
oneway cellInfoList_1_2(RadioIndicationType type, vec<CellInfo> records);
@@ -50,7 +50,7 @@
* suppressed by @1.2::IRadio.setIndicationFilter_1_2().
*
* @param type Type of radio indication
- * @param lce LinkCapacityEstimate information as defined in types.hal
+ * @param lce LinkCapacityEstimate
*/
oneway currentLinkCapacityEstimate(RadioIndicationType type, LinkCapacityEstimate lce);
@@ -58,8 +58,16 @@
* Indicates physical channel configurations.
*
* @param type Type of radio indication
- * @param configs List of PhysicalChannelConfigs as defined in types.hal
+ * @param configs Vector of PhysicalChannelConfigs
*/
oneway currentPhysicalChannelConfigs(RadioIndicationType type,
vec<PhysicalChannelConfig> configs);
+
+ /**
+ * Indicates current signal strength of the radio.
+ *
+ * @param type Type of radio indication
+ * @param signalStrength SignalStrength information
+ */
+ oneway currentSignalStrength_1_2(RadioIndicationType type, SignalStrength signalStrength);
};
diff --git a/radio/1.2/IRadioResponse.hal b/radio/1.2/IRadioResponse.hal
index 93ec4d7..fb362a0 100644
--- a/radio/1.2/IRadioResponse.hal
+++ b/radio/1.2/IRadioResponse.hal
@@ -88,4 +88,14 @@
* RadioError:CANCELLED
*/
oneway getCurrentCallsResponse_1_2(RadioResponseInfo info, vec<Call> calls);
+
+ /**
+ * @param sigStrength Current signal strength
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ */
+ oneway getSignalStrengthResponse_1_2(RadioResponseInfo info, SignalStrength sigStrength);
};
diff --git a/radio/1.2/types.hal b/radio/1.2/types.hal
index c353645..9723326 100644
--- a/radio/1.2/types.hal
+++ b/radio/1.2/types.hal
@@ -17,9 +17,9 @@
package android.hardware.radio@1.2;
import @1.0::Call;
-import @1.0::CdmaSignalStrength;
import @1.0::CardState;
import @1.0::CardStatus;
+import @1.0::CdmaSignalStrength;
import @1.0::CellIdentityCdma;
import @1.0::CellIdentityGsm;
import @1.0::CellIdentityLte;
@@ -30,10 +30,12 @@
import @1.0::GsmSignalStrength;
import @1.0::LteSignalStrength;
import @1.0::RadioConst;
+import @1.0::RadioError;
+import @1.0::SignalStrength;
+import @1.0::TdScdmaSignalStrength;
import @1.0::TimeStampType;
import @1.0::WcdmaSignalStrength;
import @1.1::RadioAccessSpecifier;
-import @1.0::RadioError;
import @1.1::ScanStatus;
import @1.1::ScanType;
@@ -397,3 +399,27 @@
@1.0::Call base;
AudioQuality audioQuality;
};
+
+struct WcdmaSignalStrength {
+ @1.0::WcdmaSignalStrength base;
+ /**
+ * CPICH RSCP as defined in TS 25.215 5.1.1
+ * Valid values are (0-96, 255) as defined in TS 27.007 8.69
+ */
+ uint32_t rscp;
+ /**
+ * Ec/No value as defined in TS 25.215 5.1.5
+ * Valid values are (0-49, 255) as defined in TS 27.007 8.69
+ */
+ uint32_t ecno;
+
+};
+
+struct SignalStrength {
+ GsmSignalStrength gsm;
+ CdmaSignalStrength cdma;
+ EvdoSignalStrength evdo;
+ LteSignalStrength lte;
+ TdScdmaSignalStrength tdScdma;
+ WcdmaSignalStrength wcdma;
+};