Improve Tuner 1.1 VTS configuration and 1.0 VTS compatibility

This CL cherry-picks most of the backported changes of Tuner 1.0 from
android 12 to android 11 vts branch to Tuner 1.1 VTS in Android 12
per BCM's suggestions

Test: atest VtsHalTvTunerV1_0TargetTest
Test: atest VtsHalTvTunerV1_1TargetTest
Bug: 182519645
Change-Id: I3651396511fa067ce053ac2531cd2324832eb5f0
diff --git a/tv/tuner/1.1/vts/functional/FrontendTests.cpp b/tv/tuner/1.1/vts/functional/FrontendTests.cpp
index 887f8b8..0fd5be0 100644
--- a/tv/tuner/1.1/vts/functional/FrontendTests.cpp
+++ b/tv/tuner/1.1/vts/functional/FrontendTests.cpp
@@ -130,7 +130,7 @@
         return;
     }
 
-    uint32_t targetFrequency = getTargetFrequency(config.settings, config.type);
+    uint32_t targetFrequency = getTargetFrequency(config.settings);
     if (type == FrontendScanType::SCAN_BLIND) {
         // reset the frequency in the scan configuration to test blind scan. The settings param of
         // passed in means the real input config on the transponder connected to the DUT.
@@ -184,64 +184,59 @@
     mScanMsgProcessed = true;
 }
 
-uint32_t FrontendCallback::getTargetFrequency(FrontendSettings settings, FrontendType type) {
-    switch (type) {
-        case FrontendType::ANALOG:
+uint32_t FrontendCallback::getTargetFrequency(FrontendSettings settings) {
+    switch (settings.getDiscriminator()) {
+        case FrontendSettings::hidl_discriminator::analog:
             return settings.analog().frequency;
-        case FrontendType::ATSC:
+        case FrontendSettings::hidl_discriminator::atsc:
             return settings.atsc().frequency;
-        case FrontendType::ATSC3:
+        case FrontendSettings::hidl_discriminator::atsc3:
             return settings.atsc3().frequency;
-        case FrontendType::DVBC:
+        case FrontendSettings::hidl_discriminator::dvbc:
             return settings.dvbc().frequency;
-        case FrontendType::DVBS:
+        case FrontendSettings::hidl_discriminator::dvbs:
             return settings.dvbs().frequency;
-        case FrontendType::DVBT:
+        case FrontendSettings::hidl_discriminator::dvbt:
             return settings.dvbt().frequency;
-        case FrontendType::ISDBS:
+        case FrontendSettings::hidl_discriminator::isdbs:
             return settings.isdbs().frequency;
-        case FrontendType::ISDBS3:
+        case FrontendSettings::hidl_discriminator::isdbs3:
             return settings.isdbs3().frequency;
-        case FrontendType::ISDBT:
+        case FrontendSettings::hidl_discriminator::isdbt:
             return settings.isdbt().frequency;
-        default:
-            return 0;
     }
 }
 
 void FrontendCallback::resetBlindScanStartingFrequency(FrontendConfig& config,
                                                        uint32_t resetingFreq) {
-    switch (config.type) {
-        case FrontendType::ANALOG:
+    switch (config.settings.getDiscriminator()) {
+        case FrontendSettings::hidl_discriminator::analog:
             config.settings.analog().frequency = resetingFreq;
             break;
-        case FrontendType::ATSC:
+        case FrontendSettings::hidl_discriminator::atsc:
             config.settings.atsc().frequency = resetingFreq;
             break;
-        case FrontendType::ATSC3:
+        case FrontendSettings::hidl_discriminator::atsc3:
             config.settings.atsc3().frequency = resetingFreq;
             break;
-        case FrontendType::DVBC:
+        case FrontendSettings::hidl_discriminator::dvbc:
             config.settings.dvbc().frequency = resetingFreq;
             break;
-        case FrontendType::DVBS:
+        case FrontendSettings::hidl_discriminator::dvbs:
             config.settings.dvbs().frequency = resetingFreq;
             break;
-        case FrontendType::DVBT:
+        case FrontendSettings::hidl_discriminator::dvbt:
             config.settings.dvbt().frequency = resetingFreq;
             break;
-        case FrontendType::ISDBS:
+        case FrontendSettings::hidl_discriminator::isdbs:
             config.settings.isdbs().frequency = resetingFreq;
             break;
-        case FrontendType::ISDBS3:
+        case FrontendSettings::hidl_discriminator::isdbs3:
             config.settings.isdbs3().frequency = resetingFreq;
             break;
-        case FrontendType::ISDBT:
+        case FrontendSettings::hidl_discriminator::isdbt:
             config.settings.isdbt().frequency = resetingFreq;
             break;
-        default:
-            // do nothing
-            return;
     }
 }
 
@@ -490,6 +485,9 @@
 }
 
 void FrontendTests::tuneTest(FrontendConfig frontendConf) {
+    if (!frontendConf.enable) {
+        return;
+    }
     uint32_t feId;
     getFrontendIdByType(frontendConf.type, feId);
     ASSERT_TRUE(feId != INVALID_ID);
@@ -506,6 +504,9 @@
 }
 
 void FrontendTests::scanTest(FrontendConfig frontendConf, FrontendScanType scanType) {
+    if (!frontendConf.enable) {
+        return;
+    }
     uint32_t feId;
     getFrontendIdByType(frontendConf.type, feId);
     ASSERT_TRUE(feId != INVALID_ID);