Finish IRadio 1.6/IRadioConfig 1.3 AIDL VTS

Implement IRadioConfig VTS and helper methods
Verify that VtsHalRadioTargetTest passes

Bug: 210712359
Test: atest VtsHalRadioTargetTest
Change-Id: Ic82ffd2feacc107e9b291ef3aab861d0c1496489
Merged-In: Ic82ffd2feacc107e9b291ef3aab861d0c1496489
diff --git a/radio/aidl/vts/radio_voice_test.cpp b/radio/aidl/vts/radio_voice_test.cpp
index 7a0bedd..717f3f0 100644
--- a/radio/aidl/vts/radio_voice_test.cpp
+++ b/radio/aidl/vts/radio_voice_test.cpp
@@ -45,12 +45,26 @@
 
     radio_voice->setResponseFunctions(radioRsp_voice, radioInd_voice);
 
+    // Assert IRadioSim exists and SIM is present before testing
+    radio_sim = sim::IRadioSim::fromBinder(ndk::SpAIBinder(
+            AServiceManager_waitForService("android.hardware.radio.sim.IRadioSim/slot1")));
+    ASSERT_NE(nullptr, radio_sim.get());
+    updateSimCardStatus();
+    EXPECT_EQ(CardStatus::STATE_PRESENT, cardStatus.cardState);
+
     // Assert IRadioConfig exists before testing
-    std::shared_ptr<aidl::android::hardware::radio::config::IRadioConfig> radioConfig =
-            aidl::android::hardware::radio::config::IRadioConfig::fromBinder(
-                    ndk::SpAIBinder(AServiceManager_waitForService(
-                            "android.hardware.radio.config.IRadioConfig/default")));
-    ASSERT_NE(nullptr, radioConfig.get());
+    radio_config = config::IRadioConfig::fromBinder(ndk::SpAIBinder(
+            AServiceManager_waitForService("android.hardware.radio.config.IRadioConfig/default")));
+    ASSERT_NE(nullptr, radio_config.get());
+
+    if (isDsDsEnabled() || isTsTsEnabled()) {
+        radio_network = IRadioNetwork::fromBinder(ndk::SpAIBinder(AServiceManager_waitForService(
+                "android.hardware.radio.network.IRadioNetwork/slot1")));
+        ASSERT_NE(nullptr, radio_network.get());
+        radioRsp_network = ndk::SharedRefBase::make<RadioNetworkResponse>(*this);
+        radioInd_network = ndk::SharedRefBase::make<RadioNetworkIndication>(*this);
+        radio_network->setResponseFunctions(radioRsp_network, radioInd_network);
+    }
 }
 
 ndk::ScopedAStatus RadioVoiceTest::clearPotentialEstablishedCalls() {
@@ -113,16 +127,13 @@
     // In DSDS or TSTS, we only check the result if the current slot is IN_SERVICE
     // or Emergency_Only.
     if (isDsDsEnabled() || isTsTsEnabled()) {
-        // TODO(b/210712359): maybe create a local RadioNetwork instance
-        /**
         serial = GetRandomSerialNumber();
-        radio_v1_6->getVoiceRegistrationState(serial);
+        radio_network->getVoiceRegistrationState(serial);
         EXPECT_EQ(std::cv_status::no_timeout, wait());
-        if (isVoiceEmergencyOnly(radioRsp_v1_6->voiceRegResp.regState) ||
-            isVoiceInService(radioRsp_v1_6->voiceRegResp.regState)) {
+        if (isVoiceEmergencyOnly(radioRsp_network->voiceRegResp.regState) ||
+            isVoiceInService(radioRsp_network->voiceRegResp.regState)) {
             EXPECT_EQ(RadioError::NONE, rspEmergencyDial);
         }
-        **/
     } else {
         EXPECT_EQ(RadioError::NONE, rspEmergencyDial);
     }
@@ -171,16 +182,13 @@
     // In DSDS or TSTS, we only check the result if the current slot is IN_SERVICE
     // or Emergency_Only.
     if (isDsDsEnabled() || isTsTsEnabled()) {
-        // TODO(b/210712359): maybe create a local RadioNetwork instance
-        /**
         serial = GetRandomSerialNumber();
-        radio_v1_6->getVoiceRegistrationState_1_6(serial);
+        radio_network->getVoiceRegistrationState(serial);
         EXPECT_EQ(std::cv_status::no_timeout, wait());
-        if (isVoiceEmergencyOnly(radioRsp_v1_6->voiceRegResp.regState) ||
-            isVoiceInService(radioRsp_v1_6->voiceRegResp.regState)) {
+        if (isVoiceEmergencyOnly(radioRsp_network->voiceRegResp.regState) ||
+            isVoiceInService(radioRsp_network->voiceRegResp.regState)) {
             EXPECT_EQ(RadioError::NONE, rspEmergencyDial);
         }
-        **/
     } else {
         EXPECT_EQ(RadioError::NONE, rspEmergencyDial);
     }
@@ -228,16 +236,13 @@
     // In DSDS or TSTS, we only check the result if the current slot is IN_SERVICE
     // or Emergency_Only.
     if (isDsDsEnabled() || isTsTsEnabled()) {
-        // TODO(b/210712359): maybe create a local RadioNetwork instance
-        /**
         serial = GetRandomSerialNumber();
-        radio_v1_6->getVoiceRegistrationState_1_6(serial);
+        radio_network->getVoiceRegistrationState(serial);
         EXPECT_EQ(std::cv_status::no_timeout, wait());
-        if (isVoiceEmergencyOnly(radioRsp_v1_6->voiceRegResp.regState) ||
-            isVoiceInService(radioRsp_v1_6->voiceRegResp.regState)) {
+        if (isVoiceEmergencyOnly(radioRsp_network->voiceRegResp.regState) ||
+            isVoiceInService(radioRsp_network->voiceRegResp.regState)) {
             EXPECT_EQ(RadioError::NONE, rspEmergencyDial);
         }
-        **/
     } else {
         EXPECT_EQ(RadioError::NONE, rspEmergencyDial);
     }