Add CFLAG for disabling network scan

The RIL_REQUEST_START_NETWORK_SCAN request is not support in, for
example, the Qualcomm MSM8974 RIL.

Add a CFLAG that (if set) will return RIL_E_REQUEST_NOT_SUPPORTED when
startNetworkScan is called. This approach is compatible with CTS.

Issue: FP2P-306
Test: run cts -m CtsCarrierApiTestCases -t android.carrierapi.cts.NetworkScanApiTest#testRequestNetworkScan
Change-Id: I91bcaff543768e13d3e805d196fafac0afcab44b
diff --git a/libril/Android.mk b/libril/Android.mk
index ee0530f..3c210df 100644
--- a/libril/Android.mk
+++ b/libril/Android.mk
@@ -28,6 +28,10 @@
 LOCAL_STATIC_LIBRARIES := \
     libprotobuf-c-nano-enable_malloc \
 
+ifeq ($(TARGET_DISCARD_NETWORK_SCAN),true)
+    LOCAL_CFLAGS += -DNETWORK_SCAN_NOT_SUPPORTED
+endif
+
 LOCAL_CFLAGS += -Wall -Wextra -Wno-unused-parameter -Werror
 
 ifeq ($(SIM_COUNT), 2)
diff --git a/libril/ril_service.cpp b/libril/ril_service.cpp
index 07fd49f..f67fe2b 100644
--- a/libril/ril_service.cpp
+++ b/libril/ril_service.cpp
@@ -1363,6 +1363,12 @@
         return Void();
     }
 
+#ifdef NETWORK_SCAN_NOT_SUPPORTED              /* Qualcomm ril doesn't support RIL_REQUEST_START_NETWORK_SCAN */
+    RLOGD("RIL_REQUEST_START_NETWORK_SCAN not supported");
+    sendErrorResponse(pRI, RIL_E_REQUEST_NOT_SUPPORTED);
+    return Void();
+#else
+
     if (request.specifiers.size() > MAX_RADIO_ACCESS_NETWORKS) {
         sendErrorResponse(pRI, RIL_E_INVALID_ARGUMENTS);
         return Void();
@@ -1417,6 +1423,7 @@
             mSlotId);
 
     return Void();
+#endif
 }
 
 Return<void> RadioImpl::stopNetworkScan(int32_t serial) {