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

Commit 5ecfdeac authored by Enrico Granata's avatar Enrico Granata Committed by Pavel Maltsev
Browse files

Fix an issue where Vehicle HAL would crash when trying to update a continuous...

Fix an issue where Vehicle HAL would crash when trying to update a continuous property without an initial floating-point value

Bug: 36858992
Test: build, flash and boot

(cherry picked from commit 945d0bbc)

Merged-In: I9906abbf386cf75e838102299e3e97de3475db63
Change-Id: I19ef534fde190a3a1adaca377e8f09760c0ccf4e
parent 8166677c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -212,7 +212,7 @@ const ConfigDeclaration kVehicleProperties[] {
            .minSampleRate = 1.0f,
            .maxSampleRate = 2.0f,
        },
        .initialValue = { .int32Values = {25} }
        .initialValue = { .floatValues = {25.0f} }
    },

    {
+6 −0
Original line number Diff line number Diff line
@@ -540,6 +540,12 @@ void DefaultVehicleHal::onContinuousPropertyTimer(const std::vector<int32_t>& pr
            if (VehiclePropertyType::FLOAT == getPropType(property)) {
                // Just get some randomness to continuous properties to see slightly differnt values
                // on the other end.
                if (v->value.floatValues.size() == 0) {
                    ALOGW("continuous property 0x%x is of type float but does not have a"
                          " float value. defaulting to zero",
                          property);
                    v->value.floatValues = android::hardware::hidl_vec<float>{0.0f};
                }
                v->value.floatValues[0] = v->value.floatValues[0] + std::rand() % 5;
            }
        } else {