diff --git a/src/com/android/settings/accessibility/VibrationPreferenceFragment.java b/src/com/android/settings/accessibility/VibrationPreferenceFragment.java index c23a25a5ff2..deaef469c42 100644 --- a/src/com/android/settings/accessibility/VibrationPreferenceFragment.java +++ b/src/com/android/settings/accessibility/VibrationPreferenceFragment.java @@ -129,6 +129,13 @@ public abstract class VibrationPreferenceFragment extends RadioButtonPickerFragm Settings.System.putInt(getContext().getContentResolver(), getVibrationIntensitySetting(), candidate.getIntensity()); } else { + // We can't play preview effect here for all cases because that causes a data race + // (VibratorService may access intensity settings before these settings are updated). + // But we can't just play it in intensity settings update observer, because the + // intensity settings are not changed if we turn the vibration off, then on. + // + // In this case we sould play the preview here. + // To be refactored in b/132952771 playVibrationPreview(); } }