fix SIM related VTS failures am: fd854fe699

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2053145

Change-Id: I81527bee639a2250dedde1d56a4f6fee2c1fbf2f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Tim Lin
2022-04-01 18:26:22 +00:00
committed by Automerger Merge Worker
4 changed files with 18 additions and 6 deletions

View File

@@ -206,7 +206,7 @@ void RadioServiceTest::updateSimCardStatus() {
EXPECT_EQ(RadioError::NONE, radioSimRsp->rspInfo.error);
}
void RadioServiceTest::updateSimSlotStatus() {
void RadioServiceTest::updateSimSlotStatus(int physicalSlotId) {
// Update SimSlotStatus from RadioConfig
std::shared_ptr<RadioConfigResponse> radioConfigRsp =
ndk::SharedRefBase::make<RadioConfigResponse>(*this);
@@ -219,8 +219,7 @@ void RadioServiceTest::updateSimSlotStatus() {
EXPECT_EQ(RadioResponseType::SOLICITED, radioConfigRsp->rspInfo.type);
EXPECT_EQ(serial, radioConfigRsp->rspInfo.serial);
EXPECT_EQ(RadioError::NONE, radioConfigRsp->rspInfo.error);
// assuming only 1 slot
for (const SimSlotStatus& slotStatusResponse : radioConfigRsp->simSlotStatus) {
slotStatus = slotStatusResponse;
if (radioConfigRsp->simSlotStatus.size() > physicalSlotId) {
slotStatus = radioConfigRsp->simSlotStatus[physicalSlotId];
}
}

View File

@@ -70,6 +70,7 @@ static constexpr const char* FEATURE_TELEPHONY_CDMA = "android.hardware.telephon
#define MODEM_EMERGENCY_CALL_ESTABLISH_TIME 3
#define MODEM_EMERGENCY_CALL_DISCONNECT_TIME 3
#define MODEM_SET_SIM_POWER_DELAY_IN_SECONDS 2
#define MODEM_SET_SIM_SLOT_MAPPING_DELAY_IN_SECONDS 6
#define RADIO_SERVICE_SLOT1_NAME "slot1" // HAL instance name for SIM slot 1 or single SIM device
#define RADIO_SERVICE_SLOT2_NAME "slot2" // HAL instance name for SIM slot 2 on dual SIM device
@@ -146,5 +147,5 @@ class RadioServiceTest {
void updateSimCardStatus();
/* Update SIM slot status */
void updateSimSlotStatus();
void updateSimSlotStatus(int physicalSlotId);
};

View File

@@ -171,6 +171,15 @@ TEST_P(RadioConfigTest, setSimSlotsMapping) {
slotPortMapping.physicalSlotId = 0;
slotPortMapping.portId = 0;
std::vector<SlotPortMapping> slotPortMappingList = {slotPortMapping};
if (isDsDsEnabled()) {
slotPortMapping.physicalSlotId = 1;
slotPortMappingList.push_back(slotPortMapping);
} else if (isTsTsEnabled()) {
slotPortMapping.physicalSlotId = 1;
slotPortMappingList.push_back(slotPortMapping);
slotPortMapping.physicalSlotId = 2;
slotPortMappingList.push_back(slotPortMapping);
}
ndk::ScopedAStatus res = radio_config->setSimSlotsMapping(serial, slotPortMappingList);
ASSERT_OK(res);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -179,6 +188,9 @@ TEST_P(RadioConfigTest, setSimSlotsMapping) {
ALOGI("setSimSlotsMapping, rspInfo.error = %s\n",
toString(radioRsp_config->rspInfo.error).c_str());
ASSERT_TRUE(CheckAnyOfErrors(radioRsp_config->rspInfo.error, {RadioError::NONE}));
// Give some time for modem to fully switch SIM configuration
sleep(MODEM_SET_SIM_SLOT_MAPPING_DELAY_IN_SECONDS);
}
/*

View File

@@ -108,7 +108,7 @@ TEST_P(RadioSimTest, setSimCardPower) {
// have CardStatus::STATE_PRESENT after turning the power back on
if (radioRsp_sim->rspInfo.error == RadioError::NONE) {
updateSimCardStatus();
updateSimSlotStatus();
updateSimSlotStatus(cardStatus.slotMap.physicalSlotId);
EXPECT_EQ(CardStatus::STATE_PRESENT, cardStatus.cardState);
EXPECT_EQ(CardStatus::STATE_PRESENT, slotStatus.cardState);
if (CardStatus::STATE_PRESENT == slotStatus.cardState) {