summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2018-03-27 04:35:16 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-03-27 04:35:16 +0000
commitac71c57c88050f2bc46ea75320f03c62c708c91a (patch)
tree63ba2e9f75b4f2a3db6c6ae4a3ad2ecc0a691d4b
parent4818c04ca31a6244cc2ab26724f45958a245b0c9 (diff)
parent6cc40048adeca5b30ce0ab419f94ddf8ac2f4a9e (diff)
downloadandroid_hardware_ril-ac71c57c88050f2bc46ea75320f03c62c708c91a.tar.gz
android_hardware_ril-ac71c57c88050f2bc46ea75320f03c62c708c91a.tar.bz2
android_hardware_ril-ac71c57c88050f2bc46ea75320f03c62c708c91a.zip
Merge "Add DISABLE_RILD_OEM_HOOK." into pi-dev
-rw-r--r--libril/Android.mk4
-rw-r--r--libril/ril_service.cpp21
2 files changed, 22 insertions, 3 deletions
diff --git a/libril/Android.mk b/libril/Android.mk
index 681e3c4..ee0530f 100644
--- a/libril/Android.mk
+++ b/libril/Android.mk
@@ -35,6 +35,10 @@ ifeq ($(SIM_COUNT), 2)
LOCAL_CFLAGS += -DANDROID_SIM_COUNT_2
endif
+ifneq ($(DISABLE_RILD_OEM_HOOK),)
+ LOCAL_CFLAGS += -DOEM_HOOK_DISABLED
+endif
+
LOCAL_C_INCLUDES += external/nanopb-c
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../include
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/../include
diff --git a/libril/ril_service.cpp b/libril/ril_service.cpp
index d90ba9c..47b0b9c 100644
--- a/libril/ril_service.cpp
+++ b/libril/ril_service.cpp
@@ -60,6 +60,12 @@ using android::sp;
#define CALL_ONSTATEREQUEST(a) s_vendorFunctions->onStateRequest()
#endif
+#ifdef OEM_HOOK_DISABLED
+constexpr bool kOemHookEnabled = false;
+#else
+constexpr bool kOemHookEnabled = true;
+#endif
+
RIL_RadioFunctions *s_vendorFunctions = NULL;
static CommandInfo *s_commands;
@@ -6708,6 +6714,8 @@ int radio::sendRequestRawResponse(int slotId,
RLOGD("sendRequestRawResponse: serial %d", serial);
#endif
+ if (!kOemHookEnabled) return 0;
+
if (oemHookService[slotId]->mOemHookResponse != NULL) {
RadioResponseInfo responseInfo = {};
populateResponseInfo(responseInfo, serial, responseType, e);
@@ -6737,6 +6745,8 @@ int radio::sendRequestStringsResponse(int slotId,
RLOGD("sendRequestStringsResponse: serial %d", serial);
#endif
+ if (!kOemHookEnabled) return 0;
+
if (oemHookService[slotId]->mOemHookResponse != NULL) {
RadioResponseInfo responseInfo = {};
populateResponseInfo(responseInfo, serial, responseType, e);
@@ -8447,6 +8457,8 @@ int radio::keepaliveStatusInd(int slotId,
int radio::oemHookRawInd(int slotId,
int indicationType, int token, RIL_Errno e, void *response,
size_t responseLen) {
+ if (!kOemHookEnabled) return 0;
+
if (oemHookService[slotId] != NULL && oemHookService[slotId]->mOemHookIndication != NULL) {
if (response == NULL || responseLen == 0) {
RLOGE("oemHookRawInd: invalid response");
@@ -8496,12 +8508,15 @@ void radio::registerService(RIL_RadioFunctions *callbacks, CommandInfo *commands
radioService[i] = new RadioImpl;
radioService[i]->mSlotId = i;
- oemHookService[i] = new OemHookImpl;
- oemHookService[i]->mSlotId = i;
RLOGD("registerService: starting android::hardware::radio::V1_1::IRadio %s",
serviceNames[i]);
android::status_t status = radioService[i]->registerAsService(serviceNames[i]);
- status = oemHookService[i]->registerAsService(serviceNames[i]);
+
+ if (kOemHookEnabled) {
+ oemHookService[i] = new OemHookImpl;
+ oemHookService[i]->mSlotId = i;
+ status = oemHookService[i]->registerAsService(serviceNames[i]);
+ }
ret = pthread_rwlock_unlock(radioServiceRwlockPtr);
assert(ret == 0);