Remove uses of std::rand() from vibrator VTS tests

Make vibrator VTS tests deterministic by removing all uses of
std::rand() from HAL input values used in test. Rely on max supported
values instead.

Fix: 324840028
Test: atest VtsHalVibratorTargetTest
Change-Id: Id40fb5a86238226feec9affff631bab37383f26b
diff --git a/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp b/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp
index 2c6add1..6c6846f 100644
--- a/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp
+++ b/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp
@@ -447,13 +447,14 @@
 
     std::vector<CompositeEffect> composite;
 
-    for (auto primitive : supported) {
+    for (int i = 0; i < supported.size(); i++) {
+        auto primitive = supported[i];
+        float t = static_cast<float>(i + 1) / supported.size();
         CompositeEffect effect;
 
-        effect.delayMs = std::rand() % (maxDelay + 1);
+        effect.delayMs = maxDelay * t;
         effect.primitive = primitive;
-        effect.scale = static_cast<float>(std::rand()) / static_cast<float>(RAND_MAX);
-        composite.emplace_back(effect);
+        effect.scale = t;
 
         if (composite.size() == maxSize) {
             break;
@@ -534,19 +535,24 @@
     EXPECT_EQ(Status::EX_NONE, vibrator->getCompositionDelayMax(&maxDelay).exceptionCode());
 
     std::vector<CompositeEffect> composite(1);
-    CompositeEffect effect;
+    CompositeEffect& effect = composite[0];
 
-    effect.delayMs = 1;
     effect.primitive = CompositePrimitive::CLICK;
     effect.scale = 1.0f;
 
-    std::fill(composite.begin(), composite.end(), effect);
+    effect.delayMs = 0;
+    EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode());
+    EXPECT_TRUE(vibrator->off().isOk());
+
+    effect.delayMs = 1;
+    EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode());
+    EXPECT_TRUE(vibrator->off().isOk());
+
+    effect.delayMs = maxDelay;
     EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode());
     EXPECT_TRUE(vibrator->off().isOk());
 
     effect.delayMs = maxDelay + 1;
-
-    std::fill(composite.begin(), composite.end(), effect);
     EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode());
 }