From 5ed445a81d966b7929e61dfc366e82184b2fb7f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Wed, 11 Dec 2024 12:46:46 +0100 Subject: [PATCH] feedback-manager: Don't trigger haptic feedbacks when vibra is busy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This just gives odd vibration. Later on we should use priorities to allow for higher priority events like phone calls to override lower priority events like e.g. button presses. This is similar to how we want to handle LED patterns. Signed-off-by: Guido Günther --- src/fbd-feedback-manager.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/fbd-feedback-manager.c b/src/fbd-feedback-manager.c index 19dbd06..7bfac52 100644 --- a/src/fbd-feedback-manager.c +++ b/src/fbd-feedback-manager.c @@ -414,6 +414,10 @@ fbd_feedback_manager_handle_trigger_feedback (LfbGdbusFeedback *object, FbdFeedbackBase *fb = FBD_FEEDBACK_BASE (l->data); if (fbd_feedback_is_available (FBD_FEEDBACK_BASE (fb))) { + /* Handle one haptic feedback at a time */ + /* TODO: should use priorities */ + if (FBD_IS_FEEDBACK_VIBRA (fb) && fbd_dev_vibra_is_busy (self->vibra)) + continue; fbd_event_add_feedback (event, fb); found_fb = TRUE; }