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

Commit f27a92e6 authored by sqian's avatar sqian Committed by Hsin-Yi Chen
Browse files

Fix setAllowedCarrier

If function is not supported or executed successfully, do not
expect its effect on cardStatus.

Bug: 112008372
Test: run vts
Change-Id: I4532a39af2cfcf0e44eafe29c3c7f6779ae101f5
Merged-In: I4532a39af2cfcf0e44eafe29c3c7f6779ae101f5
(cherry picked from commit 44b129f7)
parent 3c233d34
Loading
Loading
Loading
Loading
+30 −20
Original line number Diff line number Diff line
@@ -779,20 +779,27 @@ TEST_F(RadioHidlTest, setAllowedCarriers) {
                                     {RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED}));
    }

    if (radioRsp->rspInfo.error == RadioError::NONE) {
        /* Setting to carrier restriction needs some time */
        updateSimCardStatus();
        auto startTime = std::chrono::system_clock::now();
        while (cardStatus.cardState != CardState::RESTRICTED &&
           std::chrono::duration_cast<chrono::seconds>(std::chrono::system_clock::now() - startTime)
               std::chrono::duration_cast<chrono::seconds>(std::chrono::system_clock::now() -
                                                           startTime)
                       .count() < 10) {
            /* Set 2 seconds as interval to check card status */
            sleep(2);
            updateSimCardStatus();
        }
        EXPECT_EQ(CardState::RESTRICTED, cardStatus.cardState);
    }
    sleep(10);

    /* Reset back to no carrier restriction */
    /** 
     * Another test case of the API to cover to allow carrier.
     * If the API is supported, this is also used to reset to no carrier restriction
     * status for cardStatus. 
     */
    memset(&carriers, 0, sizeof(carriers));
    carriers.allowedCarriers.resize(0);
    carriers.excludedCarriers.resize(0);
@@ -808,11 +815,13 @@ TEST_F(RadioHidlTest, setAllowedCarriers) {
                                     {RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED}));
    }

    if (radioRsp->rspInfo.error == RadioError::NONE) {
        /* Resetting back to no carrier restriction needs some time */
        updateSimCardStatus();
    startTime = std::chrono::system_clock::now();
        auto startTime = std::chrono::system_clock::now();
        while (cardStatus.cardState == CardState::RESTRICTED &&
           std::chrono::duration_cast<chrono::seconds>(std::chrono::system_clock::now() - startTime)
               std::chrono::duration_cast<chrono::seconds>(std::chrono::system_clock::now() -
                                                           startTime)
                       .count() < 10) {
            /* Set 2 seconds as interval to check card status */
            sleep(2);
@@ -821,6 +830,7 @@ TEST_F(RadioHidlTest, setAllowedCarriers) {
        EXPECT_NE(CardState::RESTRICTED, cardStatus.cardState);
        sleep(10);
    }
}

/*
 * Test IRadio.getAllowedCarriers() for the response returned.