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

Commit 87d179b0 authored by Lais Andrade's avatar Lais Andrade
Browse files

Fix HapticGenerator VTS for new haptic fields

Add interface version check before testing new haptic scale fields in
VTS.

Fix: 364357113
Test: VtsHalHapticGeneratorTargetTest
Flag: EXEMPT test only
Change-Id: Iebc5d2fd61c0755b675d58080e7bc93f0a9b3fc0
parent e5eec1f9
Loading
Loading
Loading
Loading
+13 −5
Original line number Original line Diff line number Diff line
@@ -78,6 +78,8 @@ const std::vector<float> kResonantFrequencyValues = {MIN_FLOAT, 100, MAX_FLOAT};
const std::vector<float> kQFactorValues = {MIN_FLOAT, 100, MAX_FLOAT};
const std::vector<float> kQFactorValues = {MIN_FLOAT, 100, MAX_FLOAT};
const std::vector<float> kMaxAmplitude = {MIN_FLOAT, 100, MAX_FLOAT};
const std::vector<float> kMaxAmplitude = {MIN_FLOAT, 100, MAX_FLOAT};


constexpr int HAPTIC_SCALE_FACTORS_EFFECT_MIN_VERSION = 3;

class HapticGeneratorParamTest : public ::testing::TestWithParam<HapticGeneratorParamTestParam>,
class HapticGeneratorParamTest : public ::testing::TestWithParam<HapticGeneratorParamTestParam>,
                                 public EffectHelper {
                                 public EffectHelper {
  public:
  public:
@@ -95,6 +97,7 @@ class HapticGeneratorParamTest : public ::testing::TestWithParam<HapticGenerator
    void SetUp() override {
    void SetUp() override {
        ASSERT_NE(nullptr, mFactory);
        ASSERT_NE(nullptr, mFactory);
        ASSERT_NO_FATAL_FAILURE(create(mFactory, mEffect, mDescriptor));
        ASSERT_NO_FATAL_FAILURE(create(mFactory, mEffect, mDescriptor));
        EXPECT_STATUS(EX_NONE, mEffect->getInterfaceVersion(&mEffectInterfaceVersion));


        Parameter::Common common = createParamCommon(
        Parameter::Common common = createParamCommon(
                0 /* session */, 1 /* ioHandle */, 44100 /* iSampleRate */, 44100 /* oSampleRate */,
                0 /* session */, 1 /* ioHandle */, 44100 /* iSampleRate */, 44100 /* oSampleRate */,
@@ -113,6 +116,7 @@ class HapticGeneratorParamTest : public ::testing::TestWithParam<HapticGenerator
    std::shared_ptr<IFactory> mFactory;
    std::shared_ptr<IFactory> mFactory;
    std::shared_ptr<IEffect> mEffect;
    std::shared_ptr<IEffect> mEffect;
    Descriptor mDescriptor;
    Descriptor mDescriptor;
    int mEffectInterfaceVersion;
    int mParamHapticScaleId = 0;
    int mParamHapticScaleId = 0;
    HapticGenerator::VibratorScale mParamVibratorScale = HapticGenerator::VibratorScale::MUTE;
    HapticGenerator::VibratorScale mParamVibratorScale = HapticGenerator::VibratorScale::MUTE;
    float mParamScaleFactor = HapticGenerator::HapticScale::UNDEFINED_SCALE_FACTOR;
    float mParamScaleFactor = HapticGenerator::HapticScale::UNDEFINED_SCALE_FACTOR;
@@ -148,11 +152,15 @@ class HapticGeneratorParamTest : public ::testing::TestWithParam<HapticGenerator
    void addHapticScaleParam(int id, HapticGenerator::VibratorScale scale, float scaleFactor,
    void addHapticScaleParam(int id, HapticGenerator::VibratorScale scale, float scaleFactor,
                             float adaptiveScaleFactor) {
                             float adaptiveScaleFactor) {
        HapticGenerator setHg;
        HapticGenerator setHg;
        std::vector<HapticGenerator::HapticScale> hapticScales = {
        std::vector<HapticGenerator::HapticScale> hapticScales;
                {.id = id,
        if (mEffectInterfaceVersion >= HAPTIC_SCALE_FACTORS_EFFECT_MIN_VERSION) {
            hapticScales = {{.id = id,
                             .scale = scale,
                             .scale = scale,
                             .scaleFactor = scaleFactor,
                             .scaleFactor = scaleFactor,
                             .adaptiveScaleFactor = adaptiveScaleFactor}};
                             .adaptiveScaleFactor = adaptiveScaleFactor}};
        } else {
            hapticScales = {{.id = id, .scale = scale}};
        }
        setHg.set<HapticGenerator::hapticScales>(hapticScales);
        setHg.set<HapticGenerator::hapticScales>(hapticScales);
        mTags.push_back({HapticGenerator::hapticScales, setHg});
        mTags.push_back({HapticGenerator::hapticScales, setHg});
    }
    }