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) {