add option to also vibrate in dnd mode

This commit is contained in:
Helium314 2025-01-12 20:28:23 +01:00
parent d4d3ba16e0
commit 548bf64c9d
6 changed files with 15 additions and 1 deletions

View file

@ -92,7 +92,7 @@ public final class AudioAndHapticFeedbackManager {
}
public void performHapticFeedback(final View viewToPerformHapticFeedbackOn) {
if (!mSettingsValues.mVibrateOn || mDoNotDisturb) {
if (!mSettingsValues.mVibrateOn || (mDoNotDisturb && !mSettingsValues.mVibrateInDndMode)) {
return;
}
if (mSettingsValues.mKeypressVibrationDuration >= 0) {

View file

@ -45,6 +45,7 @@ public final class PreferencesSettingsFragment extends SubScreenFragment {
if (!AudioAndHapticFeedbackManager.getInstance().hasVibrator()) {
removePreference(Settings.PREF_VIBRATE_ON);
removePreference(Settings.PREF_VIBRATE_IN_DND_MODE);
removePreference(Settings.PREF_VIBRATION_DURATION_SETTINGS);
}
@ -112,6 +113,8 @@ public final class PreferencesSettingsFragment extends SubScreenFragment {
final Resources res = getResources();
setPreferenceVisible(Settings.PREF_VIBRATION_DURATION_SETTINGS,
Settings.readVibrationEnabled(prefs, res));
setPreferenceVisible(Settings.PREF_VIBRATE_IN_DND_MODE,
Settings.readVibrationEnabled(prefs, res));
setPreferenceVisible(Settings.PREF_KEYPRESS_SOUND_VOLUME,
Settings.readKeypressSoundEnabled(prefs, res));
setPreferenceVisible(Settings.PREF_CLIPBOARD_HISTORY_RETENTION_TIME,

View file

@ -88,6 +88,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
public static final String PREF_AUTO_CAP = "auto_cap";
public static final String PREF_VIBRATE_ON = "vibrate_on";
public static final String PREF_VIBRATE_IN_DND_MODE = "vibrate_in_dnd_mode";
public static final String PREF_SOUND_ON = "sound_on";
public static final String PREF_POPUP_ON = "popup_on";
public static final String PREF_AUTO_CORRECTION = "auto_correction";

View file

@ -60,6 +60,7 @@ public class SettingsValues {
// From preferences
public final boolean mAutoCap;
public final boolean mVibrateOn;
public final boolean mVibrateInDndMode;
public final boolean mSoundOn;
public final boolean mKeyPreviewPopupOn;
public final boolean mShowsVoiceInputKey;
@ -155,6 +156,7 @@ public class SettingsValues {
// Get the settings preferences
mAutoCap = prefs.getBoolean(Settings.PREF_AUTO_CAP, true) && ScriptUtils.scriptSupportsUppercase(mLocale);
mVibrateOn = Settings.readVibrationEnabled(prefs, res);
mVibrateInDndMode = prefs.getBoolean(Settings.PREF_VIBRATE_IN_DND_MODE, false);
mSoundOn = Settings.readKeypressSoundEnabled(prefs, res);
mKeyPreviewPopupOn = Settings.readKeyPreviewPopupEnabled(prefs, res);
mSlidingKeyInputPreviewEnabled = prefs.getBoolean(