diff --git a/aidl/vibrator/Vibrator.h b/aidl/vibrator/Vibrator.h
index dfbc703..42df2fa 100644
--- a/aidl/vibrator/Vibrator.h
+++ b/aidl/vibrator/Vibrator.h
@@ -26,6 +26,9 @@
 namespace hardware {
 namespace vibrator {
 
+const std::string kVibratorPropPrefix   = "ro.vendor.vibrator.hal.";
+const std::string kVibratorPropDuration = ".duration";
+
 const std::string kVibratorState       = "/sys/class/leds/vibrator/state";
 const std::string kVibratorDuration    = "/sys/class/leds/vibrator/duration";
 const std::string kVibratorActivate    = "/sys/class/leds/vibrator/activate";
@@ -34,11 +37,6 @@
 const std::string kVibratorStrength    = "/sys/kernel/thunderquake_engine/level";
 const std::string kVibratorStrengthMax = "/sys/kernel/thunderquake_engine/max";
 
-static std::map<Effect, int32_t> vibEffects = {
-    { Effect::CLICK, 50 },
-    { Effect::TICK, 32 }
-};
-
 static std::map<EffectStrength, float> vibStrengths = {
     { EffectStrength::LIGHT, 0.25 },
     { EffectStrength::MEDIUM, 0.5 },
@@ -83,9 +81,14 @@
                                    const std::shared_ptr<IVibratorCallback> &callback) override;
 private:
     static ndk::ScopedAStatus setNode(const std::string path, const int32_t value);
+    static int getIntProperty(const std::string& key, const int fallback);
 #ifdef VIBRATOR_SUPPORTS_EFFECTS
     static bool exists(const std::string path);
     static int getNode(const std::string path, const int fallback);
+    std::map<Effect, int32_t> vibEffects = {
+        { Effect::CLICK, getIntProperty("click" + kVibratorPropDuration, 50) },
+        { Effect::TICK, getIntProperty("tick" + kVibratorPropDuration, 32) },
+    };
     bool mVibratorStrengthSupported;
     int mVibratorStrengthMax;
 #endif
diff --git a/aidl/vibrator/VibratorUtils.cpp b/aidl/vibrator/VibratorUtils.cpp
index db7bc0a..482cdf8 100644
--- a/aidl/vibrator/VibratorUtils.cpp
+++ b/aidl/vibrator/VibratorUtils.cpp
@@ -17,6 +17,7 @@
 #include "Vibrator.h"
 
 #include <android-base/logging.h>
+#include <android-base/properties.h>
 #include <fstream>
 
 namespace aidl {
@@ -80,6 +81,10 @@
 }
 #endif
 
+int Vibrator::getIntProperty(const std::string& key, const int fallback) {
+    return ::android::base::GetIntProperty(kVibratorPropPrefix + key, fallback);
+}
+
 }  // namespace vibrator
 }  // namespace hardware
 }  // namespace android
