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

Commit a266b2c8 authored by chasewu's avatar chasewu
Browse files

Correct the PWLE valid duration



Getting the maximum duration from HAL to avoid
different supported duration under different devices.

Fix: 227606057
Test: atest VtsHalVibratorTargetTest
Signed-off-by: default avatarchasewu <chasewu@google.com>
Change-Id: I02e96869d9a8e6d5143ae64e3a077bf90dcdb43e
parent 41a19de2
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -196,7 +196,7 @@ static ActivePwle composeValidActivePwle(sp<IVibrator> vibrator, int32_t capabil
    active.startFrequency = frequencyHz;
    active.endAmplitude = (getAmplitudeMin() + getAmplitudeMax()) / 2;
    active.endFrequency = frequencyHz;
    active.duration = 1000;
    vibrator->getPwlePrimitiveDurationMax(&(active.duration));

    return active;
}
@@ -759,7 +759,9 @@ TEST_P(VibratorAidl, ComposeValidPwleWithCallback) {
    std::future<void> completionFuture{completionPromise.get_future()};
    sp<CompletionCallback> callback =
        new CompletionCallback([&completionPromise] { completionPromise.set_value(); });
    uint32_t durationMs = 2100;  // Sum of 2 active and 1 braking below
    int32_t segmentDurationMaxMs;
    vibrator->getPwlePrimitiveDurationMax(&segmentDurationMaxMs);
    uint32_t durationMs = segmentDurationMaxMs * 2 + 100;  // Sum of 2 active and 1 braking below
    //TODO(b/187207798): revert back to conservative timeout values once
    //latencies have been fixed
    std::chrono::milliseconds timeout{durationMs * 4};
@@ -863,7 +865,7 @@ TEST_P(VibratorAidl, ComposePwleSegmentDurationBoundary) {
    if (capabilities & IVibrator::CAP_COMPOSE_PWLE_EFFECTS) {
        ActivePwle active = composeValidActivePwle(vibrator, capabilities);

        int segmentDurationMaxMs;
        int32_t segmentDurationMaxMs;
        vibrator->getPwlePrimitiveDurationMax(&segmentDurationMaxMs);
        active.duration = segmentDurationMaxMs + 10;  // Segment duration greater than allowed