From a3673d1af5eaf5f51eec97fd111da3cca5590eeb Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Wed, 4 Sep 2019 00:34:42 +0300 Subject: [PATCH] extra keys: follow DnD mode and haptic feedback Android settings Do not vibrate when: * Do not disturb mode is on. * Haptic feedback is disabled in Android settings. --- app/src/main/java/com/termux/app/ExtraKeysView.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/termux/app/ExtraKeysView.java b/app/src/main/java/com/termux/app/ExtraKeysView.java index a67573b6..d0d6f91d 100644 --- a/app/src/main/java/com/termux/app/ExtraKeysView.java +++ b/app/src/main/java/com/termux/app/ExtraKeysView.java @@ -2,6 +2,7 @@ package com.termux.app; import android.content.Context; import android.os.Build; +import android.provider.Settings; import android.util.AttributeSet; import java.util.concurrent.Executors; @@ -350,7 +351,15 @@ public final class ExtraKeysView extends GridLayout { final Button finalButton = button; button.setOnClickListener(v -> { - finalButton.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_TAP); + if (Settings.System.getInt(getContext().getContentResolver(), + Settings.System.HAPTIC_FEEDBACK_ENABLED, 0) != 0) { + + // Depending on DnD settings, value can be >1 but 0 means "disabled". + if (Settings.Global.getInt(getContext().getContentResolver(), "zen_mode", 0) < 1) { + finalButton.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_TAP); + } + } + View root = getRootView(); if(Arrays.asList("CTRL", "ALT", "FN").contains(buttonText)) { ToggleButton self = (ToggleButton) finalButton;