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 945d0bbc866ce21f262a1715c5a2560898c8aca1)

Merged-In: I9906abbf386cf75e838102299e3e97de3475db63
Change-Id: I19ef534fde190a3a1adaca377e8f09760c0ccf4e
diff --git a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h
index 68f94dc..b7ef896 100644
--- a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h
+++ b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h
@@ -212,7 +212,7 @@
             .minSampleRate = 1.0f,
             .maxSampleRate = 2.0f,
         },
-        .initialValue = { .int32Values = {25} }
+        .initialValue = { .floatValues = {25.0f} }
     },
 
     {
diff --git a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultVehicleHal.cpp b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultVehicleHal.cpp
index d965afe..e174932 100644
--- a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultVehicleHal.cpp
+++ b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultVehicleHal.cpp
@@ -540,6 +540,12 @@
             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 {