New RIL command to fetch PSC of current serving cell.

Bug: 2465036
Change-Id: Iccd177747bb78e2cd5ec6d9d22e47aa0e7bfd64b
diff --git a/include/telephony/ril.h b/include/telephony/ril.h
index a2b085e..e20de37 100644
--- a/include/telephony/ril.h
+++ b/include/telephony/ril.h
@@ -2959,6 +2959,30 @@
  */
 #define RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING 103
 
+/**
+ * RIL_REQUEST_QUERY_CURRENT_CELL_PSC
+ *
+ * Fetches the Primary Scrambling Code of the current serving cell in a UMTS
+ * network.
+ *
+ * "data" is NULL
+ * "response" is a const char **
+ * ((const char **)response)[0] is the UMTS Cell Identity (CID) in hexadecimal
+ *                                  format (see TS 25.331), or NULL if not
+ *                                  registered to a UMTS network.
+ * ((const char **)response)[1] is the PSC as described in TS 25.331,
+ *                                  in hexadecimal format, or NULL if not
+ *                                  registered to a UMTS network.
+ *
+ * Valid errors:
+ *  SUCCESS
+ *  RADIO_NOT_AVAILABLE
+ *  GENERIC_FAILURE
+ *
+ * See also: RIL_REQUEST_REGISTRATION_STATE, RIL_REQUEST_NEIGHBORING_CELL_IDS
+ */
+#define RIL_REQUEST_QUERY_CURRENT_CELL_PSC 104
+
 
 /***********************************************************************/
 
diff --git a/libril/ril.cpp b/libril/ril.cpp
index 6edb342..9307f67 100644
--- a/libril/ril.cpp
+++ b/libril/ril.cpp
@@ -3061,6 +3061,8 @@
         case RIL_REQUEST_GET_SMSC_ADDRESS: return "GET_SMSC_ADDRESS";
         case RIL_REQUEST_SET_SMSC_ADDRESS: return "SET_SMSC_ADDRESS";
         case RIL_REQUEST_REPORT_SMS_MEMORY_STATUS: return "REPORT_SMS_MEMORY_STATUS";
+        case RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING: return "REPORT_STK_SERVICE_IS_RUNNING";
+        case RIL_REQUEST_QUERY_CURRENT_CELL_PSC: return "QUERY_CURRENT_CELL_PSC";
         case RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED: return "UNSOL_RESPONSE_RADIO_STATE_CHANGED";
         case RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED: return "UNSOL_RESPONSE_CALL_STATE_CHANGED";
         case RIL_UNSOL_RESPONSE_NETWORK_STATE_CHANGED: return "UNSOL_RESPONSE_NETWORK_STATE_CHANGED";
diff --git a/libril/ril_commands.h b/libril/ril_commands.h
index e07dd43..a13907f 100644
--- a/libril/ril_commands.h
+++ b/libril/ril_commands.h
@@ -117,4 +117,5 @@
     {RIL_REQUEST_GET_SMSC_ADDRESS, dispatchVoid, responseString},
     {RIL_REQUEST_SET_SMSC_ADDRESS, dispatchString, responseVoid},
     {RIL_REQUEST_REPORT_SMS_MEMORY_STATUS, dispatchInts, responseVoid},
-    {RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING, dispatchVoid, responseVoid}
+    {RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING, dispatchVoid, responseVoid},
+    {RIL_REQUEST_QUERY_CURRENT_CELL_PSC, dispatchVoid, responseStrings}