diff options
author | Grace Chen <chengrace@google.com> | 2017-05-16 19:50:55 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-05-16 19:50:55 +0000 |
commit | eb0c18c9e0b29d4b09580269cfff8d60178d7ff3 (patch) | |
tree | 37fe53316d463c774fe9c335fc5921f20dd42cd4 | |
parent | bcb71f3324a5d60c164c02f4c65e664239a13c25 (diff) | |
parent | 0770994e468b027455529506b3bdf53225408ac1 (diff) | |
download | android_hardware_ril-eb0c18c9e0b29d4b09580269cfff8d60178d7ff3.tar.gz android_hardware_ril-eb0c18c9e0b29d4b09580269cfff8d60178d7ff3.tar.bz2 android_hardware_ril-eb0c18c9e0b29d4b09580269cfff8d60178d7ff3.zip |
Merge "Support different SIM power states" am: df82df8ff4
am: 0770994e46
Change-Id: I8a4c315f18dfc5fd918e503f49d6d6b0ecb655d2
-rw-r--r-- | libril/ril.cpp | 2 | ||||
-rw-r--r-- | libril/ril_service.cpp | 38 |
2 files changed, 30 insertions, 10 deletions
diff --git a/libril/ril.cpp b/libril/ril.cpp index 6a0f4da..ea9ca86 100644 --- a/libril/ril.cpp +++ b/libril/ril.cpp @@ -831,7 +831,7 @@ void RIL_onUnsolicitedResponse(int unsolResponse, const void *data, } #if VDBG - RLOGI("%s UNSOLICITED: %s length:%d", rilSocketIdToString(soc_id), + RLOGI("%s UNSOLICITED: %s length:%zu", rilSocketIdToString(soc_id), requestToString(unsolResponse), datalen); #endif diff --git a/libril/ril_service.cpp b/libril/ril_service.cpp index 0bdb10d..8436267 100644 --- a/libril/ril_service.cpp +++ b/libril/ril_service.cpp @@ -19,6 +19,7 @@ #include <android/hardware/radio/1.1/IRadio.h> #include <android/hardware/radio/1.1/IRadioResponse.h> #include <android/hardware/radio/1.1/IRadioIndication.h> +#include <android/hardware/radio/1.1/types.h> #include <android/hardware/radio/deprecated/1.0/IOemHook.h> @@ -31,9 +32,6 @@ #define INVALID_HEX_CHAR 16 -// Enable verbose logging -#define VDBG 0 - using namespace android::hardware::radio::V1_0; using namespace android::hardware::radio::deprecated::V1_0; using ::android::hardware::configureRpcThreadpool; @@ -425,6 +423,8 @@ struct RadioImpl : public ::android::hardware::radio::V1_1::IRadio { Return<void> setIndicationFilter(int32_t serial, int32_t indicationFilter); Return<void> setSimCardPower(int32_t serial, bool powerUp); + Return<void> setSimCardPower_1_1(int32_t serial, + const ::android::hardware::radio::V1_1::CardPowerState state); Return<void> responseAcknowledgement(); @@ -2659,6 +2659,15 @@ Return<void> RadioImpl::setSimCardPower(int32_t serial, bool powerUp) { return Void(); } +Return<void> RadioImpl::setSimCardPower_1_1(int32_t serial, + const ::android::hardware::radio::V1_1::CardPowerState state) { +#if VDBG + RLOGD("setSimCardPower_1_1: serial %d state %d", serial, state); +#endif + dispatchInts(serial, mSlotId, RIL_REQUEST_SET_SIM_CARD_POWER, 1, state); + return Void(); +} + Return<void> RadioImpl::responseAcknowledgement() { android::releaseWakeLock(); return Void(); @@ -6319,7 +6328,6 @@ int radio::setIndicationFilterResponse(int slotId, return 0; } - int radio::setSimCardPowerResponse(int slotId, int responseType, int serial, RIL_Errno e, void *response, size_t responseLen) { @@ -6330,13 +6338,25 @@ int radio::setSimCardPowerResponse(int slotId, if (radioService[slotId]->mRadioResponse != NULL) { RadioResponseInfo responseInfo = {}; populateResponseInfo(responseInfo, serial, responseType, e); - Return<void> retStatus - = radioService[slotId]->mRadioResponse->setSimCardPowerResponse(responseInfo); - radioService[slotId]->checkReturnStatus(retStatus); + Return<sp<::android::hardware::radio::V1_1::IRadioResponse>> ret = + ::android::hardware::radio::V1_1::IRadioResponse::castFrom( + radioService[slotId]->mRadioResponse); + if (ret.isOk()) { + sp<::android::hardware::radio::V1_1::IRadioResponse> radioResponseV1_1 = ret; + Return<void> retStatus + = radioResponseV1_1->setSimCardPowerResponse_1_1(responseInfo); + radioService[slotId]->checkReturnStatus(retStatus); + } else { + RLOGD("setSimCardPowerResponse: ret.isOK() == false for radioService[%d]", + slotId); + Return<void> retStatus + = radioService[slotId]->mRadioResponse->setSimCardPowerResponse(responseInfo); + radioService[slotId]->checkReturnStatus(retStatus); + } } else { - RLOGE("setSimCardPowerResponse: radioService[%d]->mRadioResponse == NULL", slotId); + RLOGE("setSimCardPowerResponse: radioService[%d]->mRadioResponse == NULL", + slotId); } - return 0; } |