Fixes to Align TdScdma Reports with All Others

-Add uarfn to CellIdentityTdscdma
-Add OperatorNames to CellIdentityTdscdma
-Rename TdScdmaSignalStrength to TdsdcmaSignalStrength
-Add support for RSSI and BER reporting to match all
 the other signal strength structures
-Change the reporting format for RSCP to use the ASU
 format that is reported for all the other techs.

Bug: 73177585
Bug: 73177467
Bug: 73177872
Test: compilation
Change-Id: I4200ca603b03f182293de4960b01067263833d4a
diff --git a/radio/1.2/Android.bp b/radio/1.2/Android.bp
index 90b4841..a9c80b7 100644
--- a/radio/1.2/Android.bp
+++ b/radio/1.2/Android.bp
@@ -28,11 +28,13 @@
         "CellIdentityGsm",
         "CellIdentityLte",
         "CellIdentityOperatorNames",
+        "CellIdentityTdscdma",
         "CellIdentityWcdma",
         "CellInfo",
         "CellInfoCdma",
         "CellInfoGsm",
         "CellInfoLte",
+        "CellInfoTdscdma",
         "CellInfoWcdma",
         "DataRequestReason",
         "IncrementalResultsPeriodicityRange",
@@ -45,6 +47,7 @@
         "RadioConst",
         "ScanIntervalRange",
         "SignalStrength",
+        "TdscdmaSignalStrength",
         "WcdmaSignalStrength",
     ],
     gen_java: true,
diff --git a/radio/1.2/IRadioResponse.hal b/radio/1.2/IRadioResponse.hal
index fb362a0..f26c9ec 100644
--- a/radio/1.2/IRadioResponse.hal
+++ b/radio/1.2/IRadioResponse.hal
@@ -90,12 +90,12 @@
     oneway getCurrentCallsResponse_1_2(RadioResponseInfo info, vec<Call> calls);
 
     /**
-     * @param sigStrength Current signal strength
+     * @param signalStrength Current signal strength
      *
      * Valid errors returned:
      *   RadioError:NONE
      *   RadioError:RADIO_NOT_AVAILABLE
      *   RadioError:INTERNAL_ERR
      */
-    oneway getSignalStrengthResponse_1_2(RadioResponseInfo info, SignalStrength sigStrength);
+    oneway getSignalStrengthResponse_1_2(RadioResponseInfo info, SignalStrength signalStrength);
 };
diff --git a/radio/1.2/types.hal b/radio/1.2/types.hal
index 9723326..8b38f42 100644
--- a/radio/1.2/types.hal
+++ b/radio/1.2/types.hal
@@ -23,6 +23,7 @@
 import @1.0::CellIdentityCdma;
 import @1.0::CellIdentityGsm;
 import @1.0::CellIdentityLte;
+import @1.0::CellIdentityTdscdma;
 import @1.0::CellIdentityWcdma;
 import @1.0::CellInfoTdscdma;
 import @1.0::CellInfoType;
@@ -253,6 +254,15 @@
     int32_t bandwidth;
 };
 
+struct CellIdentityTdscdma {
+    @1.0::CellIdentityTdscdma base;
+    /**
+     * 16-bit UMTS Absolute RF Channel Number defined in TS 25.102 5.4.4; this value must be valid.
+     */
+    int32_t uarfcn;
+    CellIdentityOperatorNames operatorNames;
+};
+
 struct CellIdentityWcdma {
     @1.0::CellIdentityWcdma base;
     CellIdentityOperatorNames operatorNames;
@@ -279,6 +289,11 @@
     LteSignalStrength signalStrengthLte;
 };
 
+struct CellInfoTdscdma {
+    CellIdentityTdscdma cellIdentityTdscdma;
+    TdscdmaSignalStrength signalStrengthTdscdma;
+};
+
 struct CellInfo {
     /**
      * Cell type for selecting from union CellInfo.
@@ -415,6 +430,24 @@
 
 };
 
+struct TdscdmaSignalStrength {
+    /**
+     * UTRA carrier RSSI as defined in TS 25.225 5.1.4
+     * Valid values are (0-96, 99) as defined in TS 27.007 8.69
+     */
+    uint32_t signalStrength;
+    /**
+     * Transport Channel BER as defined in TS 25.225 5.2.5
+     * Valid values are (0-49, 99) as defined in TS 27.007 8.69
+     */
+    uint32_t bitErrorRate;
+    /**
+     * P-CCPCH RSCP as defined in TS 25.225 5.1.1
+     * Valid values are (0-96, 255) as defined in TS 27.007 8.69
+     */
+    uint32_t rscp;
+};
+
 struct SignalStrength {
     GsmSignalStrength gsm;
     CdmaSignalStrength cdma;