diff --git a/oriole/overlay/frameworks/base/core/res/res/values/config.xml b/oriole/overlay/frameworks/base/core/res/res/values/config.xml
index f2bc440..cf57ec0 100644
--- a/oriole/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/oriole/overlay/frameworks/base/core/res/res/values/config.xml
@@ -227,6 +227,88 @@
          non-zero amplitudes, to bring the vibrator amplitude down to zero using this timing. -->
     <integer name="config_vibrationWaveformRampDownDuration">50</integer>
 
+    <!-- A vibration waveform for notifications that specify DEFAULT_VIBRATE.
+         This value is a float array with values grouped as
+         { targetAmplitude (within [0,1]), targetFrequency [-1,1], duration (in milliseconds) }
+         This is only applied on devices with vibration frequency control. If the device doesn't
+         support frequency control, then the vibration specified in
+         config_defaultNotificationVibePattern is used instead.
+     -->
+    <array name="config_defaultNotificationVibeWaveform">
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>0.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>100.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>100.0</item>
+
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>100.0</item>
+
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>100.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>100.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>100.0</item>
+
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>100.0</item>
+    </array>
+
+    <!-- A vibration waveform for notifications that do not specify vibration but vibrate anyway,
+         because the device is in vibrate mode. This value is a float array with values grouped as
+         { targetAmplitude (within [0,1]), targetFrequency [-1,1], duration (in milliseconds) }
+         This is only applied on devices with vibration frequency control. If the device doesn't
+         support frequency control, then the vibration specified in
+         config_notificationFallbackVibePattern is used instead.
+     -->
+    <array name="config_notificationFallbackVibeWaveform">
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>0.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>50.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>100.0</item>
+
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>50.0</item>
+
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>100.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>50.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>100.0</item>
+
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>50.0</item>
+    </array>
+
     <!-- the number of the max cached processes in the system. -->
     <integer name="config_customizedMaxCachedProcesses">64</integer>
 </resources>
diff --git a/raven/overlay/frameworks/base/core/res/res/values/config.xml b/raven/overlay/frameworks/base/core/res/res/values/config.xml
index 7da850b..491a4cc 100644
--- a/raven/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/raven/overlay/frameworks/base/core/res/res/values/config.xml
@@ -195,6 +195,88 @@
          non-zero amplitudes, to bring the vibrator amplitude down to zero using this timing. -->
     <integer name="config_vibrationWaveformRampDownDuration">50</integer>
 
+    <!-- A vibration waveform for notifications that specify DEFAULT_VIBRATE.
+         This value is a float array with values grouped as
+         { targetAmplitude (within [0,1]), targetFrequency [-1,1], duration (in milliseconds) }
+         This is only applied on devices with vibration frequency control. If the device doesn't
+         support frequency control, then the vibration specified in
+         config_defaultNotificationVibePattern is used instead.
+     -->
+    <array name="config_defaultNotificationVibeWaveform">
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>0.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>100.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>100.0</item>
+
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>100.0</item>
+
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>100.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>100.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>100.0</item>
+
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>100.0</item>
+    </array>
+
+    <!-- A vibration waveform for notifications that do not specify vibration but vibrate anyway,
+         because the device is in vibrate mode. This value is a float array with values grouped as
+         { targetAmplitude (within [0,1]), targetFrequency [-1,1], duration (in milliseconds) }
+         This is only applied on devices with vibration frequency control. If the device doesn't
+         support frequency control, then the vibration specified in
+         config_notificationFallbackVibePattern is used instead.
+     -->
+    <array name="config_notificationFallbackVibeWaveform">
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>0.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>50.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>100.0</item>
+
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>50.0</item>
+
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>100.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>50.0</item>
+
+        <item>0.4</item>
+        <item>-0.25</item>
+        <item>100.0</item>
+
+        <item>0.0</item>
+        <item>-0.85</item>
+        <item>50.0</item>
+    </array>
+
     <!-- Height of the status bar.
          Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
          -->
