diff options
Diffstat (limited to 'libril/ril_service.cpp')
-rw-r--r-- | libril/ril_service.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/libril/ril_service.cpp b/libril/ril_service.cpp index 6396d1d..cb8801d 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; @@ -6717,6 +6723,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); @@ -6746,6 +6754,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); @@ -8456,6 +8466,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"); @@ -8505,12 +8517,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); |