diff options
author | Lais Andrade <lsandrade@google.com> | 2021-06-16 10:20:09 +0000 |
---|---|---|
committer | Lais Andrade <lsandrade@google.com> | 2021-06-16 10:28:22 +0000 |
commit | 3c7f0d90bac9ef33c4f43710374ce5c8fc3ca96f (patch) | |
tree | cd5584858f42758177541b50190f0e9e6b7baa14 /vibrator/aidl/default/Vibrator.cpp | |
parent | e1aa9206594c50144759a5b95051c2c9f9022a97 (diff) |
Fix default vibrator HAL to check support on getPrimitiveDuration
Change-Id: I09219cca0a1b0bb985cae70734b0dd03cca441fc
Fix: 191115802
Test: VtsHalVibratorTargetTest
Diffstat (limited to 'vibrator/aidl/default/Vibrator.cpp')
-rw-r--r-- | vibrator/aidl/default/Vibrator.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/vibrator/aidl/default/Vibrator.cpp b/vibrator/aidl/default/Vibrator.cpp index c6682b318f..5755ce55b6 100644 --- a/vibrator/aidl/default/Vibrator.cpp +++ b/vibrator/aidl/default/Vibrator.cpp @@ -138,6 +138,11 @@ ndk::ScopedAStatus Vibrator::getSupportedPrimitives(std::vector<CompositePrimiti ndk::ScopedAStatus Vibrator::getPrimitiveDuration(CompositePrimitive primitive, int32_t* durationMs) { + std::vector<CompositePrimitive> supported; + getSupportedPrimitives(&supported); + if (std::find(supported.begin(), supported.end(), primitive) == supported.end()) { + return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION); + } if (primitive != CompositePrimitive::NOOP) { *durationMs = 100; } else { |