diff --git a/thermal/aidl/vts/VtsHalThermalTargetTest.cpp b/thermal/aidl/vts/VtsHalThermalTargetTest.cpp index 4208d093f8..d36d9869ce 100644 --- a/thermal/aidl/vts/VtsHalThermalTargetTest.cpp +++ b/thermal/aidl/vts/VtsHalThermalTargetTest.cpp @@ -25,6 +25,7 @@ #define LOG_TAG "thermal_aidl_hal_test" +#include #include #include #include @@ -70,6 +71,16 @@ static const CoolingDevice kCoolingDevice = { .timeWindowMs = 7000, }; +static const std::string FEATURE_WATCH = "android.hardware.type.watch"; +static const std::string FEATURE_TELEVISION = "android.hardware.type.television"; +static const std::string FEATURE_LEANBACK = "android.software.leanback"; +static const std::string FEATURE_AUTOMOTIVE = "android.hardware.type.automotive"; +static const std::string FEATURE_PC = "android.hardware.type.pc"; +static const std::string FEATURE_EMBEDDED = "android.hardware.type.embedded"; +static const std::string kNonHandheldFeatures[] = {FEATURE_AUTOMOTIVE, FEATURE_LEANBACK, + FEATURE_PC, FEATURE_TELEVISION, + FEATURE_WATCH, FEATURE_EMBEDDED}; + // Callback class for receiving thermal event notifications from main class class ThermalCallback : public BnThermalChangedCallback { public: @@ -344,6 +355,11 @@ TEST_P(ThermalAidlTest, SkinTemperatureThresholdsTest) { if (apiLevel < 35) { GTEST_SKIP() << "Skipping test as the vendor level is below 35: " << apiLevel; } + for (const auto& feature : kNonHandheldFeatures) { + if (::testing::deviceSupportsFeature(feature.c_str())) { + GTEST_SKIP() << "Skipping test as the device has feature: " << feature; + } + } std::vector temperatures; ::ndk::ScopedAStatus status = mThermal->getTemperaturesWithType(TemperatureType::SKIN, &temperatures);