Home | History | Annotate | Download | only in default
      1 /*
      2  * Copyright (C) 2018 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.1 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.1
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 #include "Radio.h"
     17 
     18 namespace android {
     19 namespace hardware {
     20 namespace radio {
     21 namespace V1_2 {
     22 namespace implementation {
     23 
     24 // Methods from ::android::hardware::radio::V1_0::IRadio follow.
     25 Return<void> Radio::setResponseFunctions(
     26     const sp<::android::hardware::radio::V1_0::IRadioResponse>& radioResponse,
     27     const sp<::android::hardware::radio::V1_0::IRadioIndication>& radioIndication) {
     28     mRadioResponse = radioResponse;
     29     mRadioIndication = radioIndication;
     30     mRadioResponseV1_1 = ::android::hardware::radio::V1_1::IRadioResponse::castFrom(mRadioResponse)
     31                              .withDefault(nullptr);
     32     mRadioIndicationV1_1 =
     33         ::android::hardware::radio::V1_1::IRadioIndication::castFrom(mRadioIndication)
     34             .withDefault(nullptr);
     35     if (mRadioResponseV1_1 == nullptr || mRadioIndicationV1_1 == nullptr) {
     36         mRadioResponseV1_1 = nullptr;
     37         mRadioIndicationV1_1 = nullptr;
     38     }
     39     mRadioResponseV1_2 = ::android::hardware::radio::V1_2::IRadioResponse::castFrom(mRadioResponse)
     40                              .withDefault(nullptr);
     41     mRadioIndicationV1_2 =
     42         ::android::hardware::radio::V1_2::IRadioIndication::castFrom(mRadioIndication)
     43             .withDefault(nullptr);
     44     if (mRadioResponseV1_2 == nullptr || mRadioIndicationV1_2 == nullptr) {
     45         mRadioResponseV1_2 = nullptr;
     46         mRadioIndicationV1_2 = nullptr;
     47     }
     48     return Void();
     49 }
     50 
     51 Return<void> Radio::getIccCardStatus(int32_t serial) {
     52     /**
     53      * IRadio-defined request is called from the client and talk to the radio to get
     54      * IRadioResponse-defined response or/and IRadioIndication-defined indication back to the
     55      * client. This dummy implementation omits and replaces the design and implementation of vendor
     56      * codes that needs to handle the receipt of the request and the return of the response from the
     57      * radio; this just directly returns a dummy response back to the client.
     58      */
     59 
     60     ALOGD("Radio Request: getIccCardStatus is entering");
     61 
     62     if (mRadioResponse != nullptr || mRadioResponseV1_1 != nullptr ||
     63         mRadioResponseV1_2 != nullptr) {
     64         // Dummy RadioResponseInfo as part of response to return in 1.0, 1.1 and 1.2
     65         ::android::hardware::radio::V1_0::RadioResponseInfo info;
     66         info.serial = serial;
     67         info.type = ::android::hardware::radio::V1_0::RadioResponseType::SOLICITED;
     68         info.error = ::android::hardware::radio::V1_0::RadioError::NONE;
     69         /**
     70          * In IRadio and IRadioResponse 1.2, getIccCardStatus can trigger radio to return
     71          * getIccCardStatusResponse_1_2. In their 1.0 and 1.1, getIccCardStatus can trigger radio to
     72          * return getIccCardStatusResponse.
     73          */
     74         if (mRadioResponseV1_2 != nullptr) {
     75             // Dummy CardStatus as part of getIccCardStatusResponse_1_2 response to return
     76             ::android::hardware::radio::V1_2::CardStatus card_status;
     77             card_status.base.cardState = ::android::hardware::radio::V1_0::CardState::ABSENT;
     78             card_status.base.gsmUmtsSubscriptionAppIndex = 0;
     79             card_status.base.cdmaSubscriptionAppIndex = 0;
     80             mRadioResponseV1_2->getIccCardStatusResponse_1_2(info, card_status);
     81             ALOGD("Radio Response: getIccCardStatusResponse_1_2 is sent");
     82         } else if (mRadioResponseV1_1 != nullptr) {
     83             // Dummy CardStatus as part of getIccCardStatusResponse response to return
     84             ::android::hardware::radio::V1_0::CardStatus card_status_V1_0;
     85             card_status_V1_0.cardState = ::android::hardware::radio::V1_0::CardState::ABSENT;
     86             card_status_V1_0.gsmUmtsSubscriptionAppIndex = 0;
     87             card_status_V1_0.cdmaSubscriptionAppIndex = 0;
     88             mRadioResponseV1_1->getIccCardStatusResponse(info, card_status_V1_0);
     89             ALOGD("Radio Response: getIccCardStatusResponse is sent");
     90         } else {
     91             // Dummy CardStatus as part of getIccCardStatusResponse response to return
     92             ::android::hardware::radio::V1_0::CardStatus card_status_V1_0;
     93             card_status_V1_0.cardState = ::android::hardware::radio::V1_0::CardState::ABSENT;
     94             card_status_V1_0.gsmUmtsSubscriptionAppIndex = 0;
     95             card_status_V1_0.cdmaSubscriptionAppIndex = 0;
     96             mRadioResponse->getIccCardStatusResponse(info, card_status_V1_0);
     97             ALOGD("Radio Response: getIccCardStatusResponse is sent");
     98         }
     99     } else {
    100         ALOGD("mRadioResponse, mRadioResponseV1_1, and mRadioResponseV1_2 are NULL");
    101     }
    102     return Void();
    103 }
    104 
    105 Return<void> Radio::supplyIccPinForApp(int32_t /* serial */, const hidl_string& /* pin */,
    106                                        const hidl_string& /* aid */) {
    107     // TODO implement
    108     return Void();
    109 }
    110 
    111 Return<void> Radio::supplyIccPukForApp(int32_t /* serial */, const hidl_string& /* puk */,
    112                                        const hidl_string& /* pin */, const hidl_string& /* aid */) {
    113     // TODO implement
    114     return Void();
    115 }
    116 
    117 Return<void> Radio::supplyIccPin2ForApp(int32_t /* serial */, const hidl_string& /* pin2 */,
    118                                         const hidl_string& /* aid */) {
    119     // TODO implement
    120     return Void();
    121 }
    122 
    123 Return<void> Radio::supplyIccPuk2ForApp(int32_t /* serial */, const hidl_string& /* puk2 */,
    124                                         const hidl_string& /* pin2 */,
    125                                         const hidl_string& /* aid */) {
    126     // TODO implement
    127     return Void();
    128 }
    129 
    130 Return<void> Radio::changeIccPinForApp(int32_t /* serial */, const hidl_string& /* oldPin */,
    131                                        const hidl_string& /* newPin */,
    132                                        const hidl_string& /* aid */) {
    133     // TODO implement
    134     return Void();
    135 }
    136 
    137 Return<void> Radio::changeIccPin2ForApp(int32_t /* serial */, const hidl_string& /* oldPin2 */,
    138                                         const hidl_string& /* newPin2 */,
    139                                         const hidl_string& /* aid */) {
    140     // TODO implement
    141     return Void();
    142 }
    143 
    144 Return<void> Radio::supplyNetworkDepersonalization(int32_t /* serial */,
    145                                                    const hidl_string& /* netPin */) {
    146     // TODO implement
    147     return Void();
    148 }
    149 
    150 Return<void> Radio::getCurrentCalls(int32_t /* serial */) {
    151     // TODO implement
    152     return Void();
    153 }
    154 
    155 Return<void> Radio::dial(int32_t /* serial */,
    156                          const ::android::hardware::radio::V1_0::Dial& /* dialInfo */) {
    157     // TODO implement
    158     return Void();
    159 }
    160 
    161 Return<void> Radio::getImsiForApp(int32_t /* serial */, const hidl_string& /* aid */) {
    162     // TODO implement
    163     return Void();
    164 }
    165 
    166 Return<void> Radio::hangup(int32_t /* serial */, int32_t /* gsmIndex */) {
    167     // TODO implement
    168     return Void();
    169 }
    170 
    171 Return<void> Radio::hangupWaitingOrBackground(int32_t /* serial */) {
    172     // TODO implement
    173     return Void();
    174 }
    175 
    176 Return<void> Radio::hangupForegroundResumeBackground(int32_t /* serial */) {
    177     // TODO implement
    178     return Void();
    179 }
    180 
    181 Return<void> Radio::switchWaitingOrHoldingAndActive(int32_t /* serial */) {
    182     // TODO implement
    183     return Void();
    184 }
    185 
    186 Return<void> Radio::conference(int32_t /* serial */) {
    187     // TODO implement
    188     return Void();
    189 }
    190 
    191 Return<void> Radio::rejectCall(int32_t /* serial */) {
    192     // TODO implement
    193     return Void();
    194 }
    195 
    196 Return<void> Radio::getLastCallFailCause(int32_t /* serial */) {
    197     // TODO implement
    198     return Void();
    199 }
    200 
    201 Return<void> Radio::getSignalStrength(int32_t /* serial */) {
    202     // TODO implement
    203     return Void();
    204 }
    205 
    206 Return<void> Radio::getVoiceRegistrationState(int32_t /* serial */) {
    207     // TODO implement
    208     return Void();
    209 }
    210 
    211 Return<void> Radio::getDataRegistrationState(int32_t /* serial */) {
    212     // TODO implement
    213     return Void();
    214 }
    215 
    216 Return<void> Radio::getOperator(int32_t /* serial */) {
    217     // TODO implement
    218     return Void();
    219 }
    220 
    221 Return<void> Radio::setRadioPower(int32_t /* serial */, bool /* on */) {
    222     // TODO implement
    223     return Void();
    224 }
    225 
    226 Return<void> Radio::sendDtmf(int32_t /* serial */, const hidl_string& /* s */) {
    227     // TODO implement
    228     return Void();
    229 }
    230 
    231 Return<void> Radio::sendSms(int32_t /* serial */,
    232                             const ::android::hardware::radio::V1_0::GsmSmsMessage& /* message */) {
    233     // TODO implement
    234     return Void();
    235 }
    236 
    237 Return<void> Radio::sendSMSExpectMore(
    238     int32_t /* serial */, const ::android::hardware::radio::V1_0::GsmSmsMessage& /* message */) {
    239     // TODO implement
    240     return Void();
    241 }
    242 
    243 Return<void> Radio::setupDataCall(
    244     int32_t /* serial */, ::android::hardware::radio::V1_0::RadioTechnology /* radioTechnology */,
    245     const ::android::hardware::radio::V1_0::DataProfileInfo& /* dataProfileInfo */,
    246     bool /* modemCognitive */, bool /* roamingAllowed */, bool /* isRoaming */) {
    247     // TODO implement
    248     return Void();
    249 }
    250 
    251 Return<void> Radio::iccIOForApp(int32_t /* serial */,
    252                                 const ::android::hardware::radio::V1_0::IccIo& /* iccIo */) {
    253     // TODO implement
    254     return Void();
    255 }
    256 
    257 Return<void> Radio::sendUssd(int32_t /* serial */, const hidl_string& /* ussd */) {
    258     // TODO implement
    259     return Void();
    260 }
    261 
    262 Return<void> Radio::cancelPendingUssd(int32_t /* serial */) {
    263     // TODO implement
    264     return Void();
    265 }
    266 
    267 Return<void> Radio::getClir(int32_t /* serial */) {
    268     // TODO implement
    269     return Void();
    270 }
    271 
    272 Return<void> Radio::setClir(int32_t /* serial */, int32_t /* status */) {
    273     // TODO implement
    274     return Void();
    275 }
    276 
    277 Return<void> Radio::getCallForwardStatus(
    278     int32_t /* serial */, const ::android::hardware::radio::V1_0::CallForwardInfo& /* callInfo */) {
    279     // TODO implement
    280     return Void();
    281 }
    282 
    283 Return<void> Radio::setCallForward(
    284     int32_t /* serial */, const ::android::hardware::radio::V1_0::CallForwardInfo& /* callInfo */) {
    285     // TODO implement
    286     return Void();
    287 }
    288 
    289 Return<void> Radio::getCallWaiting(int32_t /* serial */, int32_t /* serviceClass */) {
    290     // TODO implement
    291     return Void();
    292 }
    293 
    294 Return<void> Radio::setCallWaiting(int32_t /* serial */, bool /* enable */,
    295                                    int32_t /* serviceClass */) {
    296     // TODO implement
    297     return Void();
    298 }
    299 
    300 Return<void> Radio::acknowledgeLastIncomingGsmSms(
    301     int32_t /* serial */, bool /* success */,
    302     ::android::hardware::radio::V1_0::SmsAcknowledgeFailCause /* cause */) {
    303     // TODO implement
    304     return Void();
    305 }
    306 
    307 Return<void> Radio::acceptCall(int32_t /* serial */) {
    308     // TODO implement
    309     return Void();
    310 }
    311 
    312 Return<void> Radio::deactivateDataCall(int32_t /* serial */, int32_t /* cid */,
    313                                        bool /* reasonRadioShutDown */) {
    314     // TODO implement
    315     return Void();
    316 }
    317 
    318 Return<void> Radio::getFacilityLockForApp(int32_t /* serial */, const hidl_string& /* facility */,
    319                                           const hidl_string& /* password */,
    320                                           int32_t /* serviceClass */,
    321                                           const hidl_string& /* appId */) {
    322     // TODO implement
    323     return Void();
    324 }
    325 
    326 Return<void> Radio::setFacilityLockForApp(int32_t /* serial */, const hidl_string& /* facility */,
    327                                           bool /* lockState */, const hidl_string& /* password */,
    328                                           int32_t /* serviceClass */,
    329                                           const hidl_string& /* appId */) {
    330     // TODO implement
    331     return Void();
    332 }
    333 
    334 Return<void> Radio::setBarringPassword(int32_t /* serial */, const hidl_string& /* facility */,
    335                                        const hidl_string& /* oldPassword */,
    336                                        const hidl_string& /* newPassword */) {
    337     // TODO implement
    338     return Void();
    339 }
    340 
    341 Return<void> Radio::getNetworkSelectionMode(int32_t /* serial */) {
    342     // TODO implement
    343     return Void();
    344 }
    345 
    346 Return<void> Radio::setNetworkSelectionModeAutomatic(int32_t /* serial */) {
    347     // TODO implement
    348     return Void();
    349 }
    350 
    351 Return<void> Radio::setNetworkSelectionModeManual(int32_t /* serial */,
    352                                                   const hidl_string& /* operatorNumeric */) {
    353     // TODO implement
    354     return Void();
    355 }
    356 
    357 Return<void> Radio::getAvailableNetworks(int32_t /* serial */) {
    358     // TODO implement
    359     return Void();
    360 }
    361 
    362 Return<void> Radio::startDtmf(int32_t /* serial */, const hidl_string& /* s */) {
    363     // TODO implement
    364     return Void();
    365 }
    366 
    367 Return<void> Radio::stopDtmf(int32_t /* serial */) {
    368     // TODO implement
    369     return Void();
    370 }
    371 
    372 Return<void> Radio::getBasebandVersion(int32_t /* serial */) {
    373     // TODO implement
    374     return Void();
    375 }
    376 
    377 Return<void> Radio::separateConnection(int32_t /* serial */, int32_t /* gsmIndex */) {
    378     // TODO implement
    379     return Void();
    380 }
    381 
    382 Return<void> Radio::setMute(int32_t /* serial */, bool /* enable */) {
    383     // TODO implement
    384     return Void();
    385 }
    386 
    387 Return<void> Radio::getMute(int32_t /* serial */) {
    388     // TODO implement
    389     return Void();
    390 }
    391 
    392 Return<void> Radio::getClip(int32_t /* serial */) {
    393     // TODO implement
    394     return Void();
    395 }
    396 
    397 Return<void> Radio::getDataCallList(int32_t /* serial */) {
    398     // TODO implement
    399     return Void();
    400 }
    401 
    402 Return<void> Radio::setSuppServiceNotifications(int32_t /* serial */, bool /* enable */) {
    403     // TODO implement
    404     return Void();
    405 }
    406 
    407 Return<void> Radio::writeSmsToSim(
    408     int32_t /* serial */,
    409     const ::android::hardware::radio::V1_0::SmsWriteArgs& /* smsWriteArgs */) {
    410     // TODO implement
    411     return Void();
    412 }
    413 
    414 Return<void> Radio::deleteSmsOnSim(int32_t /* serial */, int32_t /* index */) {
    415     // TODO implement
    416     return Void();
    417 }
    418 
    419 Return<void> Radio::setBandMode(int32_t /* serial */,
    420                                 ::android::hardware::radio::V1_0::RadioBandMode /* mode */) {
    421     // TODO implement
    422     return Void();
    423 }
    424 
    425 Return<void> Radio::getAvailableBandModes(int32_t /* serial */) {
    426     // TODO implement
    427     return Void();
    428 }
    429 
    430 Return<void> Radio::sendEnvelope(int32_t /* serial */, const hidl_string& /* command */) {
    431     // TODO implement
    432     return Void();
    433 }
    434 
    435 Return<void> Radio::sendTerminalResponseToSim(int32_t /* serial */,
    436                                               const hidl_string& /* commandResponse */) {
    437     // TODO implement
    438     return Void();
    439 }
    440 
    441 Return<void> Radio::handleStkCallSetupRequestFromSim(int32_t /* serial */, bool /* accept */) {
    442     // TODO implement
    443     return Void();
    444 }
    445 
    446 Return<void> Radio::explicitCallTransfer(int32_t /* serial */) {
    447     // TODO implement
    448     return Void();
    449 }
    450 
    451 Return<void> Radio::setPreferredNetworkType(
    452     int32_t /* serial */, ::android::hardware::radio::V1_0::PreferredNetworkType /* nwType */) {
    453     // TODO implement
    454     return Void();
    455 }
    456 
    457 Return<void> Radio::getPreferredNetworkType(int32_t /* serial */) {
    458     // TODO implement
    459     return Void();
    460 }
    461 
    462 Return<void> Radio::getNeighboringCids(int32_t /* serial */) {
    463     // TODO implement
    464     return Void();
    465 }
    466 
    467 Return<void> Radio::setLocationUpdates(int32_t /* serial */, bool /* enable */) {
    468     // TODO implement
    469     return Void();
    470 }
    471 
    472 Return<void> Radio::setCdmaSubscriptionSource(
    473     int32_t /* serial */, ::android::hardware::radio::V1_0::CdmaSubscriptionSource /* cdmaSub */) {
    474     // TODO implement
    475     return Void();
    476 }
    477 
    478 Return<void> Radio::setCdmaRoamingPreference(
    479     int32_t /* serial */, ::android::hardware::radio::V1_0::CdmaRoamingType /* type */) {
    480     // TODO implement
    481     return Void();
    482 }
    483 
    484 Return<void> Radio::getCdmaRoamingPreference(int32_t /* serial */) {
    485     // TODO implement
    486     return Void();
    487 }
    488 
    489 Return<void> Radio::setTTYMode(int32_t /* serial */,
    490                                ::android::hardware::radio::V1_0::TtyMode /* mode */) {
    491     // TODO implement
    492     return Void();
    493 }
    494 
    495 Return<void> Radio::getTTYMode(int32_t /* serial */) {
    496     // TODO implement
    497     return Void();
    498 }
    499 
    500 Return<void> Radio::setPreferredVoicePrivacy(int32_t /* serial */, bool /* enable */) {
    501     // TODO implement
    502     return Void();
    503 }
    504 
    505 Return<void> Radio::getPreferredVoicePrivacy(int32_t /* serial */) {
    506     // TODO implement
    507     return Void();
    508 }
    509 
    510 Return<void> Radio::sendCDMAFeatureCode(int32_t /* serial */,
    511                                         const hidl_string& /* featureCode */) {
    512     // TODO implement
    513     return Void();
    514 }
    515 
    516 Return<void> Radio::sendBurstDtmf(int32_t /* serial */, const hidl_string& /* dtmf*/,
    517                                   int32_t /*on*/, int32_t /*off */) {
    518     // TODO implement
    519     return Void();
    520 }
    521 
    522 Return<void> Radio::sendCdmaSms(int32_t /* serial */,
    523                                 const ::android::hardware::radio::V1_0::CdmaSmsMessage& /* sms */) {
    524     // TODO implement
    525     return Void();
    526 }
    527 
    528 Return<void> Radio::acknowledgeLastIncomingCdmaSms(
    529     int32_t /* serial */, const ::android::hardware::radio::V1_0::CdmaSmsAck& /* smsAck */) {
    530     // TODO implement
    531     return Void();
    532 }
    533 
    534 Return<void> Radio::getGsmBroadcastConfig(int32_t /* serial */) {
    535     // TODO implement
    536     return Void();
    537 }
    538 
    539 Return<void> Radio::setGsmBroadcastConfig(
    540     int32_t /* serial */,
    541     const hidl_vec<::android::hardware::radio::V1_0::GsmBroadcastSmsConfigInfo>& /* configInfo */) {
    542     // TODO implement
    543     return Void();
    544 }
    545 
    546 Return<void> Radio::setGsmBroadcastActivation(int32_t /* serial */, bool /* activate */) {
    547     // TODO implement
    548     return Void();
    549 }
    550 
    551 Return<void> Radio::getCdmaBroadcastConfig(int32_t /* serial */) {
    552     // TODO implement
    553     return Void();
    554 }
    555 
    556 Return<void> Radio::setCdmaBroadcastConfig(
    557     int32_t /* serial */,
    558     const hidl_vec<
    559         ::android::hardware::radio::V1_0::CdmaBroadcastSmsConfigInfo>& /* configInfo */) {
    560     // TODO implement
    561     return Void();
    562 }
    563 
    564 Return<void> Radio::setCdmaBroadcastActivation(int32_t /* serial */, bool /* activate */) {
    565     // TODO implement
    566     return Void();
    567 }
    568 
    569 Return<void> Radio::getCDMASubscription(int32_t /* serial */) {
    570     // TODO implement
    571     return Void();
    572 }
    573 
    574 Return<void> Radio::writeSmsToRuim(
    575     int32_t /* serial */, const ::android::hardware::radio::V1_0::CdmaSmsWriteArgs& /* cdmaSms */) {
    576     // TODO implement
    577     return Void();
    578 }
    579 
    580 Return<void> Radio::deleteSmsOnRuim(int32_t /* serial */, int32_t /* index */) {
    581     // TODO implement
    582     return Void();
    583 }
    584 
    585 Return<void> Radio::getDeviceIdentity(int32_t /* serial */) {
    586     // TODO implement
    587     return Void();
    588 }
    589 
    590 Return<void> Radio::exitEmergencyCallbackMode(int32_t /* serial */) {
    591     // TODO implement
    592     return Void();
    593 }
    594 
    595 Return<void> Radio::getSmscAddress(int32_t /* serial */) {
    596     // TODO implement
    597     return Void();
    598 }
    599 
    600 Return<void> Radio::setSmscAddress(int32_t /* serial */, const hidl_string& /* smsc */) {
    601     // TODO implement
    602     return Void();
    603 }
    604 
    605 Return<void> Radio::reportSmsMemoryStatus(int32_t /* serial */, bool /* available */) {
    606     // TODO implement
    607     return Void();
    608 }
    609 
    610 Return<void> Radio::reportStkServiceIsRunning(int32_t /* serial */) {
    611     // TODO implement
    612     return Void();
    613 }
    614 
    615 Return<void> Radio::getCdmaSubscriptionSource(int32_t /* serial */) {
    616     // TODO implement
    617     return Void();
    618 }
    619 
    620 Return<void> Radio::requestIsimAuthentication(int32_t /* serial */,
    621                                               const hidl_string& /* challenge */) {
    622     // TODO implement
    623     return Void();
    624 }
    625 
    626 Return<void> Radio::acknowledgeIncomingGsmSmsWithPdu(int32_t /* serial */, bool /* success */,
    627                                                      const hidl_string& /* ackPdu */) {
    628     // TODO implement
    629     return Void();
    630 }
    631 
    632 Return<void> Radio::sendEnvelopeWithStatus(int32_t /* serial */,
    633                                            const hidl_string& /* contents */) {
    634     // TODO implement
    635     return Void();
    636 }
    637 
    638 Return<void> Radio::getVoiceRadioTechnology(int32_t /* serial */) {
    639     // TODO implement
    640     return Void();
    641 }
    642 
    643 Return<void> Radio::getCellInfoList(int32_t /* serial */) {
    644     // TODO implement
    645     return Void();
    646 }
    647 
    648 Return<void> Radio::setCellInfoListRate(int32_t /* serial */, int32_t /*rate */) {
    649     // TODO implement
    650     return Void();
    651 }
    652 
    653 Return<void> Radio::setInitialAttachApn(
    654     int32_t /* serial */,
    655     const ::android::hardware::radio::V1_0::DataProfileInfo& /* dataProfileInfo */,
    656     bool /* modemCognitive */, bool /* isRoaming */) {
    657     // TODO implement
    658     return Void();
    659 }
    660 
    661 Return<void> Radio::getImsRegistrationState(int32_t /* serial */) {
    662     // TODO implement
    663     return Void();
    664 }
    665 
    666 Return<void> Radio::sendImsSms(
    667     int32_t /* serial */, const ::android::hardware::radio::V1_0::ImsSmsMessage& /* message */) {
    668     // TODO implement
    669     return Void();
    670 }
    671 
    672 Return<void> Radio::iccTransmitApduBasicChannel(
    673     int32_t /* serial */, const ::android::hardware::radio::V1_0::SimApdu& /* message */) {
    674     // TODO implement
    675     return Void();
    676 }
    677 
    678 Return<void> Radio::iccOpenLogicalChannel(int32_t /* serial */, const hidl_string& /* aid*/,
    679                                           int32_t /*p2 */) {
    680     // TODO implement
    681     return Void();
    682 }
    683 
    684 Return<void> Radio::iccCloseLogicalChannel(int32_t /* serial */, int32_t /* channelId */) {
    685     // TODO implement
    686     return Void();
    687 }
    688 
    689 Return<void> Radio::iccTransmitApduLogicalChannel(
    690     int32_t /* serial */, const ::android::hardware::radio::V1_0::SimApdu& /* message */) {
    691     // TODO implement
    692     return Void();
    693 }
    694 
    695 Return<void> Radio::nvReadItem(int32_t /* serial */,
    696                                ::android::hardware::radio::V1_0::NvItem /* itemId */) {
    697     // TODO implement
    698     return Void();
    699 }
    700 
    701 Return<void> Radio::nvWriteItem(int32_t /* serial */,
    702                                 const ::android::hardware::radio::V1_0::NvWriteItem& /* item */) {
    703     // TODO implement
    704     return Void();
    705 }
    706 
    707 Return<void> Radio::nvWriteCdmaPrl(int32_t /* serial */, const hidl_vec<uint8_t>& /* prl */) {
    708     // TODO implement
    709     return Void();
    710 }
    711 
    712 Return<void> Radio::nvResetConfig(int32_t /* serial */,
    713                                   ::android::hardware::radio::V1_0::ResetNvType /* resetType */) {
    714     // TODO implement
    715     return Void();
    716 }
    717 
    718 Return<void> Radio::setUiccSubscription(
    719     int32_t /* serial */, const ::android::hardware::radio::V1_0::SelectUiccSub& /* uiccSub */) {
    720     // TODO implement
    721     return Void();
    722 }
    723 
    724 Return<void> Radio::setDataAllowed(int32_t /* serial */, bool /* allow */) {
    725     // TODO implement
    726     return Void();
    727 }
    728 
    729 Return<void> Radio::getHardwareConfig(int32_t /* serial */) {
    730     // TODO implement
    731     return Void();
    732 }
    733 
    734 Return<void> Radio::requestIccSimAuthentication(int32_t /* serial */, int32_t /* authContext */,
    735                                                 const hidl_string& /* authData */,
    736                                                 const hidl_string& /* aid */) {
    737     // TODO implement
    738     return Void();
    739 }
    740 
    741 Return<void> Radio::setDataProfile(
    742     int32_t /* serial */,
    743     const hidl_vec<::android::hardware::radio::V1_0::DataProfileInfo>& /* profiles */,
    744     bool /* isRoaming */) {
    745     // TODO implement
    746     return Void();
    747 }
    748 
    749 Return<void> Radio::requestShutdown(int32_t /* serial */) {
    750     // TODO implement
    751     return Void();
    752 }
    753 
    754 Return<void> Radio::getRadioCapability(int32_t /* serial */) {
    755     // TODO implement
    756     return Void();
    757 }
    758 
    759 Return<void> Radio::setRadioCapability(
    760     int32_t /* serial */, const ::android::hardware::radio::V1_0::RadioCapability& /* rc */) {
    761     // TODO implement
    762     return Void();
    763 }
    764 
    765 Return<void> Radio::startLceService(int32_t /* serial */, int32_t /* reportInterval */,
    766                                     bool /* pullMode */) {
    767     // TODO implement
    768     return Void();
    769 }
    770 
    771 Return<void> Radio::stopLceService(int32_t /* serial */) {
    772     // TODO implement
    773     return Void();
    774 }
    775 
    776 Return<void> Radio::pullLceData(int32_t /* serial */) {
    777     // TODO implement
    778     return Void();
    779 }
    780 
    781 Return<void> Radio::getModemActivityInfo(int32_t /* serial */) {
    782     // TODO implement
    783     return Void();
    784 }
    785 
    786 Return<void> Radio::setAllowedCarriers(
    787     int32_t /* serial */, bool /* allAllowed */,
    788     const ::android::hardware::radio::V1_0::CarrierRestrictions& /* carriers */) {
    789     // TODO implement
    790     return Void();
    791 }
    792 
    793 Return<void> Radio::getAllowedCarriers(int32_t /* serial */) {
    794     // TODO implement
    795     return Void();
    796 }
    797 
    798 Return<void> Radio::sendDeviceState(
    799     int32_t /* serial */, ::android::hardware::radio::V1_0::DeviceStateType /* deviceStateType */,
    800     bool /* state */) {
    801     // TODO implement
    802     return Void();
    803 }
    804 
    805 Return<void> Radio::setIndicationFilter(int32_t /* serial */,
    806                                         hidl_bitfield<IndicationFilter> /* indicationFilter */) {
    807     // TODO implement
    808     return Void();
    809 }
    810 
    811 Return<void> Radio::setSimCardPower(int32_t /* serial */, bool /* powerUp */) {
    812     // TODO implement
    813     return Void();
    814 }
    815 
    816 Return<void> Radio::responseAcknowledgement() {
    817     // TODO implement
    818     return Void();
    819 }
    820 
    821 // Methods from ::android::hardware::radio::V1_1::IRadio follow.
    822 Return<void> Radio::setCarrierInfoForImsiEncryption(
    823     int32_t /* serial */,
    824     const ::android::hardware::radio::V1_1::ImsiEncryptionInfo& /* imsiEncryptionInfo */) {
    825     // TODO implement
    826     return Void();
    827 }
    828 
    829 Return<void> Radio::setSimCardPower_1_1(
    830     int32_t /* serial */, ::android::hardware::radio::V1_1::CardPowerState /* powerUp */) {
    831     // TODO implement
    832     return Void();
    833 }
    834 
    835 Return<void> Radio::startNetworkScan(
    836     int32_t /* serial */,
    837     const ::android::hardware::radio::V1_1::NetworkScanRequest& /* request */) {
    838     // TODO implement
    839     return Void();
    840 }
    841 
    842 Return<void> Radio::stopNetworkScan(int32_t /* serial */) {
    843     // TODO implement
    844     return Void();
    845 }
    846 
    847 Return<void> Radio::startKeepalive(
    848     int32_t /* serial */,
    849     const ::android::hardware::radio::V1_1::KeepaliveRequest& /* keepalive */) {
    850     // TODO implement
    851     return Void();
    852 }
    853 
    854 Return<void> Radio::stopKeepalive(int32_t /* serial */, int32_t /* sessionHandle */) {
    855     // TODO implement
    856     return Void();
    857 }
    858 
    859 // Methods from ::android::hardware::radio::V1_2::IRadio follow.
    860 Return<void> Radio::startNetworkScan_1_2(
    861     int32_t /* serial */,
    862     const ::android::hardware::radio::V1_2::NetworkScanRequest& /* request */) {
    863     // TODO implement
    864     return Void();
    865 }
    866 
    867 Return<void> Radio::setIndicationFilter_1_2(
    868     int32_t /* serial */, hidl_bitfield<IndicationFilter> /* indicationFilter */) {
    869     // TODO implement
    870     return Void();
    871 }
    872 
    873 Return<void> Radio::setSignalStrengthReportingCriteria(
    874     int32_t /* serial */, int32_t /*hysteresisMs*/, int32_t /*hysteresisDb */,
    875     const hidl_vec<int32_t>& /* thresholdsDbm */,
    876     ::android::hardware::radio::V1_2::AccessNetwork /* accessNetwork */) {
    877     // TODO implement
    878     return Void();
    879 }
    880 
    881 Return<void> Radio::setLinkCapacityReportingCriteria(
    882     int32_t /* serial */, int32_t /*hysteresisMs*/, int32_t /*hysteresisDlKbps*/,
    883     int32_t /*hysteresisUlKbps */, const hidl_vec<int32_t>& /* thresholdsDownlinkKbps */,
    884     const hidl_vec<int32_t>& /* thresholdsUplinkKbps */,
    885     ::android::hardware::radio::V1_2::AccessNetwork /* accessNetwork */) {
    886     // TODO implement
    887     return Void();
    888 }
    889 
    890 Return<void> Radio::setupDataCall_1_2(
    891     int32_t /* serial */, ::android::hardware::radio::V1_2::AccessNetwork /* accessNetwork */,
    892     const ::android::hardware::radio::V1_0::DataProfileInfo& /* dataProfileInfo */,
    893     bool /* modemCognitive */, bool /* roamingAllowed */, bool /* isRoaming */,
    894     ::android::hardware::radio::V1_2::DataRequestReason /* reason */,
    895     const hidl_vec<hidl_string>& /* addresses */, const hidl_vec<hidl_string>& /* dnses */) {
    896     // TODO implement
    897     return Void();
    898 }
    899 
    900 Return<void> Radio::deactivateDataCall_1_2(
    901     int32_t /* serial */, int32_t /* cid */,
    902     ::android::hardware::radio::V1_2::DataRequestReason /* reason */) {
    903     // TODO implement
    904     return Void();
    905 }
    906 
    907 }  // namespace implementation
    908 }  // namespace V1_2
    909 }  // namespace radio
    910 }  // namespace hardware
    911 }  // namespace android
    912