Add PWLE notification vibration patterns for P21 devices
Add the PWLE vibration pattern to the config.xml overlays for Pixel 2021
devices that support frequency control.
The patterns use the amplitude and frequency hand-designed for both
raven and oriole devices. The amplitude is using the maximum supported
value of 0.4, to allow scaling based on user settings.
Bug: 212366218
Test: manual
Change-Id: I73a2f3e50901b80aef299f4c8e9807a551170bbc
Merged-In: I73a2f3e50901b80aef299f4c8e9807a551170bbc
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.
-->