libril: Add DISABLE_RILD_OEM_HOOK.

OEM hook is deprecated, so adding a way to disable it to
this radio implementation.

Bug: 75322118
Test: boot device w/ DISABLE_RILD_OEM_HOOK works, lshal
Change-Id: Ie7ade48476d2c330df608e9cc8dab805f84dd81d
tirimbino
Steven Moreland 7 years ago committed by Stricted
parent afe706fbb0
commit c0b88c91d3
No known key found for this signature in database
GPG Key ID: 3E45BB95F7AD33DA
  1. 4
      ril/libril/Android.mk
  2. 21
      ril/libril/ril_service.cpp

@ -58,6 +58,10 @@ ifeq ($(BOARD_NEEDS_IMS_TYPE_FIELD), true)
LOCAL_CFLAGS += -DNEEDS_IMS_TYPE_FIELD LOCAL_CFLAGS += -DNEEDS_IMS_TYPE_FIELD
endif endif
ifneq ($(DISABLE_RILD_OEM_HOOK),)
LOCAL_CFLAGS += -DOEM_HOOK_DISABLED
endif
LOCAL_C_INCLUDES += $(LOCAL_PATH)/include LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
LOCAL_C_INCLUDES += external/nanopb-c LOCAL_C_INCLUDES += external/nanopb-c
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../include LOCAL_C_INCLUDES += $(LOCAL_PATH)/../include

@ -59,6 +59,12 @@ using android::sp;
#define CALL_ONSTATEREQUEST(a) s_vendorFunctions->onStateRequest() #define CALL_ONSTATEREQUEST(a) s_vendorFunctions->onStateRequest()
#endif #endif
#ifdef OEM_HOOK_DISABLED
constexpr bool kOemHookEnabled = false;
#else
constexpr bool kOemHookEnabled = true;
#endif
RIL_RadioFunctions *s_vendorFunctions = NULL; RIL_RadioFunctions *s_vendorFunctions = NULL;
static CommandInfo *s_commands; static CommandInfo *s_commands;
@ -6413,6 +6419,8 @@ int radio::sendRequestRawResponse(int slotId,
RLOGD("sendRequestRawResponse: serial %d", serial); RLOGD("sendRequestRawResponse: serial %d", serial);
#endif #endif
if (!kOemHookEnabled) return 0;
if (oemHookService[slotId]->mOemHookResponse != NULL) { if (oemHookService[slotId]->mOemHookResponse != NULL) {
RadioResponseInfo responseInfo = {}; RadioResponseInfo responseInfo = {};
populateResponseInfo(responseInfo, serial, responseType, e); populateResponseInfo(responseInfo, serial, responseType, e);
@ -6442,6 +6450,8 @@ int radio::sendRequestStringsResponse(int slotId,
RLOGD("sendRequestStringsResponse: serial %d", serial); RLOGD("sendRequestStringsResponse: serial %d", serial);
#endif #endif
if (!kOemHookEnabled) return 0;
if (oemHookService[slotId]->mOemHookResponse != NULL) { if (oemHookService[slotId]->mOemHookResponse != NULL) {
RadioResponseInfo responseInfo = {}; RadioResponseInfo responseInfo = {};
populateResponseInfo(responseInfo, serial, responseType, e); populateResponseInfo(responseInfo, serial, responseType, e);
@ -8422,6 +8432,8 @@ int radio::modemResetInd(int slotId,
int radio::oemHookRawInd(int slotId, int radio::oemHookRawInd(int slotId,
int indicationType, int token, RIL_Errno e, void *response, int indicationType, int token, RIL_Errno e, void *response,
size_t responseLen) { size_t responseLen) {
if (!kOemHookEnabled) return 0;
if (oemHookService[slotId] != NULL && oemHookService[slotId]->mOemHookIndication != NULL) { if (oemHookService[slotId] != NULL && oemHookService[slotId]->mOemHookIndication != NULL) {
if (response == NULL || responseLen == 0) { if (response == NULL || responseLen == 0) {
RLOGE("oemHookRawInd: invalid response"); RLOGE("oemHookRawInd: invalid response");
@ -8471,11 +8483,14 @@ void radio::registerService(RIL_RadioFunctions *callbacks, CommandInfo *commands
radioService[i] = new RadioImpl; radioService[i] = new RadioImpl;
radioService[i]->mSlotId = i; radioService[i]->mSlotId = i;
oemHookService[i] = new OemHookImpl;
oemHookService[i]->mSlotId = i;
RLOGD("registerService: starting IRadio %s", serviceNames[i]); RLOGD("registerService: starting IRadio %s", serviceNames[i]);
android::status_t status = radioService[i]->registerAsService(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); ret = pthread_rwlock_unlock(radioServiceRwlockPtr);
assert(ret == 0); assert(ret == 0);

Loading…
Cancel
Save