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

Commit ec424a61 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Accept float values in Vibrator setAmplitude" into sc-dev

parents c6980309 4e2b2d4b
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -161,7 +161,7 @@ HalResult<void> HalController::off() {
    return apply(offFn, "off");
    return apply(offFn, "off");
}
}


HalResult<void> HalController::setAmplitude(int32_t amplitude) {
HalResult<void> HalController::setAmplitude(float amplitude) {
    hal_fn<void> setAmplitudeFn = [&](std::shared_ptr<HalWrapper> hal) {
    hal_fn<void> setAmplitudeFn = [&](std::shared_ptr<HalWrapper> hal) {
        return hal->setAmplitude(amplitude);
        return hal->setAmplitude(amplitude);
    };
    };
+5 −5
Original line number Original line Diff line number Diff line
@@ -168,9 +168,8 @@ HalResult<void> AidlHalWrapper::off() {
    return HalResult<void>::fromStatus(getHal()->off());
    return HalResult<void>::fromStatus(getHal()->off());
}
}


HalResult<void> AidlHalWrapper::setAmplitude(int32_t amplitude) {
HalResult<void> AidlHalWrapper::setAmplitude(float amplitude) {
    float convertedAmplitude = static_cast<float>(amplitude) / std::numeric_limits<uint8_t>::max();
    return HalResult<void>::fromStatus(getHal()->setAmplitude(amplitude));
    return HalResult<void>::fromStatus(getHal()->setAmplitude(convertedAmplitude));
}
}


HalResult<void> AidlHalWrapper::setExternalControl(bool enabled) {
HalResult<void> AidlHalWrapper::setExternalControl(bool enabled) {
@@ -346,8 +345,9 @@ HalResult<void> HidlHalWrapper<I>::off() {
}
}


template <typename I>
template <typename I>
HalResult<void> HidlHalWrapper<I>::setAmplitude(int32_t amplitude) {
HalResult<void> HidlHalWrapper<I>::setAmplitude(float amplitude) {
    auto result = getHal()->setAmplitude(static_cast<uint8_t>(amplitude));
    uint8_t amp = static_cast<uint8_t>(amplitude * std::numeric_limits<uint8_t>::max());
    auto result = getHal()->setAmplitude(amp);
    return HalResult<void>::fromStatus(result.withDefault(V1_0::Status::UNKNOWN_ERROR));
    return HalResult<void>::fromStatus(result.withDefault(V1_0::Status::UNKNOWN_ERROR));
}
}


+3 −3
Original line number Original line Diff line number Diff line
@@ -142,7 +142,7 @@ BENCHMARK_WRAPPER(VibratorBench, setAmplitude, {


    auto duration = 60s;
    auto duration = 60s;
    auto callback = []() {};
    auto callback = []() {};
    auto amplitude = UINT8_MAX;
    auto amplitude = 1.0f;


    for (auto _ : state) {
    for (auto _ : state) {
        state.PauseTiming();
        state.PauseTiming();
@@ -169,7 +169,7 @@ BENCHMARK_WRAPPER(VibratorBench, setAmplitudeCached, {


    auto duration = 6000s;
    auto duration = 6000s;
    auto callback = []() {};
    auto callback = []() {};
    auto amplitude = UINT8_MAX;
    auto amplitude = 1.0f;


    checkHalResult(mController.on(duration, callback), state);
    checkHalResult(mController.on(duration, callback), state);


@@ -224,7 +224,7 @@ BENCHMARK_WRAPPER(VibratorBench, setExternalAmplitudeCached, {
        return;
        return;
    }
    }


    auto amplitude = UINT8_MAX;
    auto amplitude = 1.0f;


    checkHalResult(mController.setExternalControl(true), state);
    checkHalResult(mController.setExternalControl(true), state);


+1 −1
Original line number Original line Diff line number Diff line
@@ -61,7 +61,7 @@ public:
                       const std::function<void()>& completionCallback) final override;
                       const std::function<void()>& completionCallback) final override;
    HalResult<void> off() final override;
    HalResult<void> off() final override;


    HalResult<void> setAmplitude(int32_t amplitude) final override;
    HalResult<void> setAmplitude(float amplitude) final override;
    HalResult<void> setExternalControl(bool enabled) final override;
    HalResult<void> setExternalControl(bool enabled) final override;


    HalResult<void> alwaysOnEnable(int32_t id, hardware::vibrator::Effect effect,
    HalResult<void> alwaysOnEnable(int32_t id, hardware::vibrator::Effect effect,
+3 −3
Original line number Original line Diff line number Diff line
@@ -173,7 +173,7 @@ public:
                               const std::function<void()>& completionCallback) = 0;
                               const std::function<void()>& completionCallback) = 0;
    virtual HalResult<void> off() = 0;
    virtual HalResult<void> off() = 0;


    virtual HalResult<void> setAmplitude(int32_t amplitude) = 0;
    virtual HalResult<void> setAmplitude(float amplitude) = 0;
    virtual HalResult<void> setExternalControl(bool enabled) = 0;
    virtual HalResult<void> setExternalControl(bool enabled) = 0;


    virtual HalResult<void> alwaysOnEnable(int32_t id, hardware::vibrator::Effect effect,
    virtual HalResult<void> alwaysOnEnable(int32_t id, hardware::vibrator::Effect effect,
@@ -223,7 +223,7 @@ public:
                       const std::function<void()>& completionCallback) override final;
                       const std::function<void()>& completionCallback) override final;
    HalResult<void> off() override final;
    HalResult<void> off() override final;


    HalResult<void> setAmplitude(int32_t amplitude) override final;
    HalResult<void> setAmplitude(float amplitude) override final;
    HalResult<void> setExternalControl(bool enabled) override final;
    HalResult<void> setExternalControl(bool enabled) override final;


    HalResult<void> alwaysOnEnable(int32_t id, hardware::vibrator::Effect effect,
    HalResult<void> alwaysOnEnable(int32_t id, hardware::vibrator::Effect effect,
@@ -295,7 +295,7 @@ public:
                       const std::function<void()>& completionCallback) override final;
                       const std::function<void()>& completionCallback) override final;
    HalResult<void> off() override final;
    HalResult<void> off() override final;


    HalResult<void> setAmplitude(int32_t amplitude) override final;
    HalResult<void> setAmplitude(float amplitude) override final;
    virtual HalResult<void> setExternalControl(bool enabled) override;
    virtual HalResult<void> setExternalControl(bool enabled) override;


    HalResult<void> alwaysOnEnable(int32_t id, hardware::vibrator::Effect effect,
    HalResult<void> alwaysOnEnable(int32_t id, hardware::vibrator::Effect effect,
Loading