diff --git a/core/res/res/values/cr_config.xml b/core/res/res/values/cr_config.xml
index 19ee1f72a3143..baa4db267c516 100644
--- a/core/res/res/values/cr_config.xml
+++ b/core/res/res/values/cr_config.xml
@@ -95,4 +95,17 @@
false
+
+
+
+
+
diff --git a/core/res/res/values/cr_symbols.xml b/core/res/res/values/cr_symbols.xml
index 9f025f9adc98f..1119ae01b46aa 100644
--- a/core/res/res/values/cr_symbols.xml
+++ b/core/res/res/values/cr_symbols.xml
@@ -76,4 +76,7 @@
+
+
+
diff --git a/services/core/java/com/android/server/vibrator/VibrationSettings.java b/services/core/java/com/android/server/vibrator/VibrationSettings.java
index 46f42feb329af..b7738a3d3f410 100644
--- a/services/core/java/com/android/server/vibrator/VibrationSettings.java
+++ b/services/core/java/com/android/server/vibrator/VibrationSettings.java
@@ -791,14 +791,16 @@ private static SparseArray createEffectsFromResource(Resources
com.android.internal.R.array.config_longPressVibePattern);
VibrationEffect tickEffect = createEffectFromResource(resources,
com.android.internal.R.array.config_clockTickVibePattern);
+ VibrationEffect textureTickEffect = createEffectFromResource(resources,
+ com.android.internal.R.array.config_textureTickVibePattern);
SparseArray effects = new SparseArray<>();
effects.put(VibrationEffect.EFFECT_CLICK, clickEffect);
effects.put(VibrationEffect.EFFECT_DOUBLE_CLICK, doubleClickEffect);
effects.put(VibrationEffect.EFFECT_TICK, tickEffect);
effects.put(VibrationEffect.EFFECT_HEAVY_CLICK, heavyClickEffect);
- effects.put(VibrationEffect.EFFECT_TEXTURE_TICK,
- VibrationEffect.get(VibrationEffect.EFFECT_TICK, false));
+ effects.put(VibrationEffect.EFFECT_TEXTURE_TICK, textureTickEffect != null
+ ? textureTickEffect : VibrationEffect.get(VibrationEffect.EFFECT_TICK, false));
return effects;
}