diff --git a/src/com/android/settings/accessibility/VibrationPreferenceFragment.java b/src/com/android/settings/accessibility/VibrationPreferenceFragment.java index 64e42f53826..480041a6719 100644 --- a/src/com/android/settings/accessibility/VibrationPreferenceFragment.java +++ b/src/com/android/settings/accessibility/VibrationPreferenceFragment.java @@ -138,6 +138,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(); } }