Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 69e3ccf3 authored by Shuo Qian's avatar Shuo Qian Committed by android-build-merger
Browse files

Merge "Hang up EmergencyDial after Trigger in VTS" into qt-dev

am: 33e8a366

Change-Id: I1f9738b608c9bfb6ea9d52b63c98cc6c57b1946d
parents 9ca9db61 33e8a366
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -41,6 +41,12 @@ TEST_F(RadioHidlTest_v1_4, emergencyDial) {

    ALOGI("emergencyDial, rspInfo.error = %s\n", toString(radioRsp_v1_4->rspInfo.error).c_str());
    EXPECT_EQ(RadioError::NONE, radioRsp_v1_4->rspInfo.error);

    // Give some time for modem to establish the emergency call channel.
    sleep(MODEM_EMERGENCY_CALL_ESTABLISH_TIME);

    // Disconnect all the potential established calls to prevent them affecting other tests.
    clearPotentialEstablishedCalls();
}

/*
@@ -67,6 +73,12 @@ TEST_F(RadioHidlTest_v1_4, emergencyDial_withServices) {
    ALOGI("emergencyDial_withServices, rspInfo.error = %s\n",
          toString(radioRsp_v1_4->rspInfo.error).c_str());
    EXPECT_EQ(RadioError::NONE, radioRsp_v1_4->rspInfo.error);

    // Give some time for modem to establish the emergency call channel.
    sleep(MODEM_EMERGENCY_CALL_ESTABLISH_TIME);

    // Disconnect all the potential established calls to prevent them affecting other tests.
    clearPotentialEstablishedCalls();
}

/*
@@ -93,6 +105,12 @@ TEST_F(RadioHidlTest_v1_4, emergencyDial_withEmergencyRouting) {
    ALOGI("emergencyDial_withEmergencyRouting, rspInfo.error = %s\n",
          toString(radioRsp_v1_4->rspInfo.error).c_str());
    EXPECT_EQ(RadioError::NONE, radioRsp_v1_4->rspInfo.error);

    // Give some time for modem to establish the emergency call channel.
    sleep(MODEM_EMERGENCY_CALL_ESTABLISH_TIME);

    // Disconnect all the potential established calls to prevent them affecting other tests.
    clearPotentialEstablishedCalls();
}

/*
+17 −0
Original line number Diff line number Diff line
@@ -87,6 +87,23 @@ std::cv_status RadioHidlTest_v1_4::wait() {
    return status;
}

void RadioHidlTest_v1_4::clearPotentialEstablishedCalls() {
    // Get the current call Id to hangup the established emergency call.
    serial = GetRandomSerialNumber();
    radio_v1_4->getCurrentCalls(serial);
    EXPECT_EQ(std::cv_status::no_timeout, wait());

    // Hang up to disconnect the established call channels.
    for (const ::android::hardware::radio::V1_2::Call& call : radioRsp_v1_4->currentCalls) {
        serial = GetRandomSerialNumber();
        radio_v1_4->hangup(serial, call.base.index);
        ALOGI("Hang up to disconnect the established call channel: %d", call.base.index);
        EXPECT_EQ(std::cv_status::no_timeout, wait());
        // Give some time for modem to disconnect the established call channel.
        sleep(MODEM_EMERGENCY_CALL_DISCONNECT_TIME);
    }
}

void RadioHidlTest_v1_4::updateSimCardStatus() {
    serial = GetRandomSerialNumber();
    radio_v1_4->getIccCardStatus(serial);
+9 −0
Original line number Diff line number Diff line
@@ -44,6 +44,9 @@ using ::android::hardware::Return;
using ::android::hardware::Void;

#define TIMEOUT_PERIOD 75
#define MODEM_EMERGENCY_CALL_ESTABLISH_TIME 3
#define MODEM_EMERGENCY_CALL_DISCONNECT_TIME 3

#define RADIO_SERVICE_NAME "slot1"

class RadioHidlTest_v1_4;
@@ -59,6 +62,9 @@ class RadioResponse_v1_4 : public ::android::hardware::radio::V1_4::IRadioRespon

    RadioResponseInfo rspInfo;

    // Call
    hidl_vec<::android::hardware::radio::V1_2::Call> currentCalls;

    // Modem
    bool isModemEnabled;
    bool enableModemResponseToggle;
@@ -725,6 +731,9 @@ class RadioHidlTest_v1_4 : public ::testing::VtsHalHidlTargetTestBase {
    /* Serial number for radio request */
    int serial;

    /* Clear Potential Established Calls */
    void clearPotentialEstablishedCalls();

    /* Update Sim Card Status */
    void updateSimCardStatus();

+5 −2
Original line number Diff line number Diff line
@@ -77,7 +77,9 @@ Return<void> RadioResponse_v1_4::getIMSIForAppResponse(
    return Void();
}

Return<void> RadioResponse_v1_4::hangupConnectionResponse(const RadioResponseInfo& /*info*/) {
Return<void> RadioResponse_v1_4::hangupConnectionResponse(const RadioResponseInfo& info) {
    rspInfo = info;
    parent_v1_4.notify(info.serial);
    return Void();
}

@@ -729,9 +731,10 @@ Return<void> RadioResponse_v1_4::getIccCardStatusResponse_1_2(

Return<void> RadioResponse_v1_4::getCurrentCallsResponse_1_2(
        const RadioResponseInfo& info,
        const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::Call>& /*calls*/) {
        const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::Call>& calls) {
    rspInfo = info;
    parent_v1_4.notify(info.serial);
    currentCalls = calls;
    return Void();
}