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 Diff line number Diff line
@@ -161,7 +161,7 @@ HalResult<void> HalController::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) {
        return hal->setAmplitude(amplitude);
    };
+5 −5
Original line number Diff line number Diff line
@@ -168,9 +168,8 @@ HalResult<void> AidlHalWrapper::off() {
    return HalResult<void>::fromStatus(getHal()->off());
}

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

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

template <typename I>
HalResult<void> HidlHalWrapper<I>::setAmplitude(int32_t amplitude) {
    auto result = getHal()->setAmplitude(static_cast<uint8_t>(amplitude));
HalResult<void> HidlHalWrapper<I>::setAmplitude(float 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));
}

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

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

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

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

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

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

    auto amplitude = UINT8_MAX;
    auto amplitude = 1.0f;

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

+1 −1
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ public:
                       const std::function<void()>& completionCallback) 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> alwaysOnEnable(int32_t id, hardware::vibrator::Effect effect,
+3 −3
Original line number Diff line number Diff line
@@ -173,7 +173,7 @@ public:
                               const std::function<void()>& completionCallback) = 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> alwaysOnEnable(int32_t id, hardware::vibrator::Effect effect,
@@ -223,7 +223,7 @@ public:
                       const std::function<void()>& completionCallback) 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> alwaysOnEnable(int32_t id, hardware::vibrator::Effect effect,
@@ -295,7 +295,7 @@ public:
                       const std::function<void()>& completionCallback) 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;

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